Cimbrian's Process to Ensure Success
Iterative Development
The Cimbrian development process and philosophy emphasizes the development of a strategic partnership, with client involvement throughout the lifecycle of the project. Our application development process is highly interactive and dependant upon frequent communication. Defined by a series of iterations (mini-releases) of functionality, the Cimbrian development process provides the client the opportunity to provide feedback throughout the implementation phase.
As displayed in the diagram, each iteration is a checkpoint to ensure that each feature meets the business needs and expectations of the client. Working as strategic partners, discrepancies are quickly identified and resolved early in the development process. This is advantageous when installing and training the application, eliminating surprises that may hinder client implementation.
Planning and Elaboration
The planning and elaboration states require the establishment of the collaborative and strategic relationship that will be maintained throughout the project lifecycle. The following areas maximize the capability for success under Cimbrian's iterative methodology:
Client Involvement
The client staff is an integral member of the development team. Included in all phases of development, the client staff will provide input, feedback and sign-off at each of the many critical points in the process. The continual input ensures that the project is always on target and is delivered on time - without the expense of rework and redesign. The involvement of client staff creates a situation of predictability; delivery of the right system, on time and on budget.
The Importance of Requirements
Requirements lay the foundation for development. Cimbrian believes that our requirements process is fundamental to the success of a project in that it enables:
- Strategic partnership between Cimbrian and the client
- An accurate timeline and budget
- Well-documented requirements and prioritization of features
- An efficiently developed application with minimal rework
Documentation
Accurate and effective documentation will communicate software requirements and processes to both the project stakeholders and the Cimbrian staff. Most importantly, the requirements documentation provides all members of the team a clear and unambiguous blueprint for software development and management of the project.
Implementation
Applying the iterative development approach provides the opportuntiy for small pieces of the solution to be developed and presented to the client at regular intervals. This allows the client to "see and feel" the developing application and ensure that its functionality and features adequately represent the established requirements.
Continual Quality Assurance
Cimbrian's quality team participates in each step of the project lifecycle to ensure that the application adheres to usability, industry standards and client requirements. This effort starts in the requirements phase and continues throughout the iterative development cycles until the software is delivered. The features released in each iteration are tested and reviewed for consistency and usability. Larger scale integration tests are performed as more features are developed.
This approach ensure that issues affecting the success of the project are identified early in the process. This greatly reduces the chances that issues will adversely affect the project schedule and budget. More importantly, it ensures that the application will meet, if not exceed, client expectations.
Change Management
Change management is the process of tracking and recording requests for changes to the project scope or deliverables. Changes are controlled and maintained by the use of a Change Control Form (CCF) and the automated issue-reporting tool Visual Intercept. Changes can be requested by the client or the Cimbrian project team as the result of design meetings, informal project demonstrations, scheduled tests, quality reviews, or technical hurdles encountered during development.
Delivery
Upon the completion of each iteration and the fulfillment of requirements, the final phase of hte project lifecycle is the delivery of the complted solution. The following activities signify the completion of the project:
- Final Client Demo
- Environmental confirmation
- User Acceptance Testing
- Code Delivery
- Training and Documentation