Skip to main content

mPower’s Application Development Process

At mPower we follow a process oriented development methodology designed to minimize project risks and development time. We focus on business solutions that fulfill business goals, instead of merely providing technical solutions. All our applications are built on the basis of this philosophy.

The approach that we adopt is the spiral iterative methodology, where the project goes through one or more iterations of all project stages. The above presentation gives a brief overview of the process.

We have defined processes for requirement capture, analysis, design, development, testing and deployment. We generate UML diagrams representing the Use Case Model, Analysis Model, Design Model, Implementation Model and Test Model.

Requirements Definition

Application Development Requirements Definition

In this stage, the customer requirements are gathered. This is done on the basis of information provided by the customer and which could be in the form of documents, existing systems & process specs, on-site analysis interviews with end-users, market research and competitor analysis. The following steps are necessary (but not limited to):

  • Requirements analysis with business application goal and high level requirement gathering
  • Creation of visual scope document and feature list
  • Providing technical recommendations and high level requirement specification

Analysis

Application Development Analysis

A detailed analysis is carried out from the information in the vision & scope document and feature list. The following steps are necessary (but not limited to):

  • Analysis and documentation of Software Requirement Specification
  • Document Use Case Specification & Diagram and generate Use Case Model
  • Design business rules and process workflow diagrams
  • Establish Requirement Traceability Matrix
  • Validate scope and estimates against the contract and revise if necessary

Design

Application Development Design

Application design is developed based on software requirement specification, use case specification, business rules & diagrams and the scope agreed upon in the Requirement Definition stage. The following steps are necessary (but not limited to):

  • Designing Architectural Diagrams
  • Creation of High Level Design and Low Level Design class diagrams
  • Establishment of Entity Relationship Diagram, Data Flow Diagram and Deployment Diagrams
  • User Interface – Prototype is developed and validated against the requirement and presented to the client for approval
  • The use cases elaborated in the analysis model are represented using collaboration diagrams
  • Design model elaborations are made from the analysis model. Validation of the scope, estimates against the contract and revisions are made if necessary
  • The Implementation Model is generated from design
  • The Test Model is generated from use cases

Development

Application Development, Development Process

The actual code based on the design is created and tested against design requirements and test cases. The following steps are necessary (but not limited to):

1) The development of code base proceeds as per implementation and design models
2) The application source code is tested according to the test cases and test plan
3) Documentation of processes
4) Creation of Use Case Test results

Integration & Testing

Application Development Integration and Testing

The developed application is tested through test cases, test plans and user acceptance criteria in the deployed environment.

  • Integration and quality testing is carried out resulting in test reports.
  • Client acceptance tests carried out.
  • Client feedback and debugging.
  • Client acceptance

Deployment & Acceptance

Application Development Deployment and Acceptance

Developed application is deployed on the live server.

  • Integrated application and deployment plan
  • Implementation on client location or hosting server.
  • Implementation acceptance by client.
  • Creation of archived software
  • Transition to the maintenance team.

The steps above are iterated through until the final deliverable is completed.

We will submit a detailed project schedule in accordance with the above deliverables. The project schedule will clearly indicate the responsibility of the client and the developer and indicate the dates by which each person will submit their deliverables.