BPI Custom Software Development - Build Phase
Description
- The building of the IT infrastructure, selected applications and interfaces to legacy systems, which will be used to support the operation of redesigned processes.
Client Value
- In many cases, custom software applications are an integral part of the client organization's overall business solution. The interfaces built as part of Custom Software Development are necessary to ensure the full integration of the various components that comprise the IT system (thereby ensuring that users have the information required to perform their duties).
Approach
Coordination with work done in previous phases is imperative to the successful completion of this deliverable. One of the most significant advantages of custom development is the ability to provide the exact 'functionality' (i.e. features) expected by users from a particular application. To secure this benefit, however, requires that 'development work' coincides with 'requirements work' defined in the Information Technology System Requirements and Detailed Process Descriptions.
- Establish a 'production and testing environment' to be used during the development process.
- Creating such an environment not only includes connecting the appropriate hardware, software and networks, but also requires addressing issues such as databases and security-access privileges.
- Acquire necessary equipment and software (as described in HW/SW Selection).
- Preferred development tools, computer-aided software engineering (CASE) tools, and network hardware tools (such as routers and cabling), are examples of items that often need to be acquired to build the development environment.
- If a formal process is necessary to select any hardware or software, refer to Hardware Selection/Software Selection (Package Software) or the Software Selection and Implementation methodology for more information.
- Arrange physical facilities.
- Install hardware, software, and networks.
- Define development procedures and prepare staff.
- Build databases required for development.
- Translate data structures defined in the 'To-Be' Technology Architecture and Data Migration deliverables into the language of the chosen Database Management System (DBMS) for development to proceed by implementing data structures, loading system tables and loading initial development data. (Note: Refer to Data Migration for more information on completing this step.)
- Develop/modify software. (Joint Application Development (JAD))
- Develop or modify selected software applications according to previously-defined specifications.
- This activity encompasses not only the development of custom applications, but also the modification of existing applications (including system software and access-control programs) that are to be a part of the new business solution.
- Develop new software and system control language instructions.
- The objective of this development is to produce software that satisfies the previously-defined 'functional requirements' and technical guidelines/ standards.
- Modify existing software applications.
- The purpose of these modifications is to meet functional and technical requirements in a manner consistent with the overall software design without adversely impacting the performance of other applications.
- Modify system software.
- A wide range of system software can be affected by the development effort (e.g. operating system, database management, network management, access control, etc.). Make appropriate modifications to the system software, so that the operational environment can adequately support the new applications.
Guidelines
Problems/Solutions
Tactics/Helpful Hints
- Ensure that the project team maintains a 'business focus' during the development activities. Monitor the development activities to ensure that functional requirements are being met and conduct frequent review sessions with users. Open the lines of communication between users and the project team.
- Ensure that all 'requirements' are traceable to individual components in the new application. This is important because it gives users some confidence as to where within the application a certain requirement is met. It also provides developers with a source of reference should any functional requirement need further explanation.
Resources/Timing
- Ensure adequate lead time when establishing the production environment to ensure that it ready is when development activities commence. Confirm any lead times with vendors when acquiring necessary equipment.
No comments:
Post a Comment