Requirements Gathering & Analysis

Objective:

Obtain a deep understanding of the product requirements, the relevant business environment, risk mitigation and growth strategies.

Activities:

Interactive knowledge transfers and Q&A sessions with business and domain experts.

Deliverables:

Business Requirements Document containing general business requirements and use cases.`

Software Requirements Document containing detailed functional requirements of the system to be developed.

Software Architecture & Design

Objective:

Clearly define architectural boundaries and technical specifications for satisfying current and future product requirements.

Activities:

Research and examine the problem domain; identify existing similar solutions; gather and evaluate design options; determine business and technical forces in effect; confirm critical assumptions.

Deliverables:

High Level Design Document

Structural Design Component Model Deployment Model Class and Package Diagrams Behavioral Design Activity Diagrams Use Case Diagrams Interaction Diagrams Strengths, Weaknesses and Risks Technical Specifications Document Environment (Development, QA, Production) Specifications Implementation Decisions and Forces Design Patterns Used

Test Driven Development

Objective:

Deliver alpha/beta cross-sectional sub-components as early as possible for concept testing, usability testing and integration testing.

Activities:

Determine a critical implementation path by slicing the complete system into subsystems. Per subsystem, develop and implement the components and unit test counterparts. Ensure that the unit testing code covers as much functionality as possible and passes successfully.

Deliverables:

Well Documented Source Code

Compiled Binary Files

Release Notes

Known Issues

Well Documented Unit Testing Source Code (JUnit/NUnit or proprietary)