Microsoft Certified Partner
  Web Solutions Services Software Services Solutions
Engagement Model
Best Practices Implementation


Our Development and Milestones Methodology

RAD (Rapid Application Development) is a methodology for compressing the analysis, design, build, and test phases into a series of short, iterative development cycles. This has a number of distinct advantages over the traditional sequential development model.

Iteration allows for effectiveness and self-correction. Studies have shown that human beings almost never perform a complex task correctly the first time. However, people are extremely good at making an adequate beginning and then making many small refinements and improvements.

RAD projects are typically staffed with small integrated teams comprised of developers, end users, and IT technical resources. Small teams, combined with short, iterative development cycles optimise speed, unity of vision and purpose, effective informal communication and simple project management.

An important, fundamental principle of iterative development is that each iteration delivers a functional version of the final system. It is a properly engineered, fully working portion of the final system and is not the same as a prototype. For example, the first iteration might deliver 100% of 10%, the second iteration 100% of 25%, etc.

All RAD projects undergo the following milestones

Evaluation Phase

Findings - evaluation of the system, software, and application architectures, the development environment, and the deployment environment.

Recommendations - This phase includes functional requirements, high-level system architecture diagram, and a project plan, as well as technical and related business risks the existing system may pose to future operations.

Analysis Phase

•  Requirement Specification - a detailed description of functional needs, as well as    non-functional requirements, including performance, reliability and security    requirements.

• High Level Object Model - highlighting key business objects and their    relationships.

• High Level Project Plan - with preliminary schedule, tasks, resource    requirements, and organization chart

• Technical and Software Architecture Specifications - including software    partitioning, other products, protocols and deployment options

•  Architecture and GUI Prototypes

Development Phase

Milestones are assigned for each grouping of business functions, and for implementation and testing. Generally, each milestone is completed within four to six weeks, depending on the number of business functions in the milestone and the complexity of the functionality described.Each milestone includes:

•  Design Documentation - with sequence diagrams and a greater level of detail     provided to the Object Model.

•  Source Code Written - to implement each business function in the system.

•  Testing - beginning with unit testing, followed by incremental integration testing and     regression testing

•  Functional System Demo - as each milestone completes, a demonstration of the     functionality becomes available for review.

Testing Phase

This final phase of the Development Process actually starts during the analysis phase when the project team evaluates and selects the best testing tools for your company's system test. A three-step testing process begins with:

•  System Test and User Acceptance Planning - which details processes for     conducting the system test, defines how and when performance and stress testing     will be conducted, details reporting and tracking of software defects and outlines     test team member roles.

System Test - requires completion of all milestone units, integration and regression    testing. The system test team identifies and logs any defects in the software, the    development team makes appropriates fixes and then the system test team    executes additional test cycles until all defects are eliminated.

• User Acceptance Test/Pilot - the last step in the testing phase includes final    testing of the software and release to a subset of the user community. The pilot    process develops a core group of users to debug the system in its actual production    environment and to help accelerate training when made available to a broader user    community.