|
Acme NGO comes to TWB after seeing our CRS in action at another organization's office. The steps below illustrate the development process from it's "Discovery Phase" to "Implementation". Throughout all phases TWB offers it's clients the highest level of service and professionalism.
1.Discovery Phase or "Define Success". In this stage, the most crucial stage, TWB Engineers and Project Managers work with the client's staff to investigate the requirements, define the scope of the project, and formulate an overall schedule. We hash out, in simple, broad, language, what the functionality of the application will be, and who it will serve.
Primary actions carried out in this stage include:
- "Define Success" Investigate the business requirements, what the application must do
- Asses the infrastructure needs of the project given the organization?s present and future needs
- Preliminary analysis of the performance, security, integration, and maintainability issues
- Identify the schedule for development and implementation
- Create requirements document
2. Estimate Once the requirements document is complete, we are able to estimate the time it will take to design the application and create the design document. TWB works with the client to make sure their resources are being used efficiently. Unlike other profit-driven IT companies, we work to help their organization maximize its spending power, and give them exactly what they need at well below market prices.
3. Design Using the information gathered during discovery, we formulate an initial design that generally consists of a database schema (if a relational database is involved), UML (Unified Modeling Language) and site information flow diagrams, a formal schedule with concrete milestones, and a list of functional and documentation requirements. During the design process, the project is examined at the smallest level and a blueprint of each functional part is created. The design is created to be a stand-alone document, in that any TWB (or other) developer with the appropriate skills can step in and construct the application to spec from the design document.
The design process addresses the requirements of the project. It is during the design phase that decisions are made on what technologies will best serve the goals of the project. Where the discovery phase tells us what is needed, the design phase gives us a description of how to implement the requirements.
For projects that are expected to have several versions following the initial release, or are medium to large in scope, a version release schedule is included that specifies which known functional requirements will be included in which releases and the estimated timelines involved.
Versioned releases enable the project team to respond to continuous changes in scope, schedule, and project risk. The TWB development team works closely with the customer during deployment of each application build and suggestions for future releases of the application come directly from customer's use of the application. The TWB team delivers a core set of features in its first release and adds features in later releases until it achieves the full vision for the product. Later versions allow the team to revalidate or update the application as the organizations requirements change.
4. Confirm Design and Estimate TWB works closely with the client to make sure we "define success" and all the peices are in place to ensure this. We describe the design and its impact on scalability and integration issues, and summarize the implementation process. Once the application is designed, it is possible to estimate with some accuracy the hours it will take to construct the project. Only when all of the details of the project are known is it possible to come up with a realistic estimate for any sophisticated programming project.
5. Construction The construction phase is where the functional parts outlined in the design step are broken down into programming tasks. Our software engineers construct the design on our development servers where project managers can continually gauge progress and make adjustments as needed to meet milestones.
6. Testing Once the project is near completion, we begin testing to make sure that the application is free of bugs and is running at optimum efficiency. During the testing phase, code is profiled and rigorously load tested to verify it conforms to requirements.
7. Implementation During the implementation phase, the application is deployed to the production environment and tested. Depending on the project, implementation may happen in phases so that a subset of features may be available for review throughout the construction phase, this is generally the case for large projects that have a version release schedule. |