MHSWare Development Process

MHSWare Robot

The MHSWare Development Process is briefly presented in the following paragraphs.
First and foremost MHSWare’s development process is characterized by two things: iterative processes and eXtreme Programming.

Our interpretation of the CMMi models is placed upon these two characteristics, and all of our implementation of CMMi has been designed in order to comply with these two items. A brief description of the steps taken to create a product, from requirements to final testing and validation is presented in the next paragraph:

01. Requirements:

 The requirements are elicited from our clients (either our clients know exactly what they want, so they send us a requirements documents, or MHSWare organizes workshops with the clients in order to help them envision what they want and what MHSWare can do for them);

 The requirements are then transformed by our technical staff into technical requirements upon which the project manager can decide their priority, importance etc from MHSWare’s point of view.

 These findings are then presented to the client and, if necessary, negotiated upon.

 Our iterative view of projects and the use of XP (eXtreme Programming) allows for new requirements to come even during the development process.

 Once all the requirements

02. Project Plan:


The currently known requirements are placed into workpackages that can span over 1 week (these can also be called iterations):
Requirements that have been estimated less than 1 week of man hours are placed inside one work package as long as the sum of their estimation doesn't exceed 1 week. If one or more requirements are estimated at more than 1 week that they will be split into partial requirements that will span exactly one week.

 Working with iterations, workpackages ensures that at the end of a week a functionality has been implemented into the project’s system that can be view and / or tested by the client.
 After assigning all requirements to workpackages, the iterations are scheduled over the course of time;
 If new requirements arrive from the client those can be planned as early as the following week (if refactoring is needed, that will also be planned as early as next week)
 Weekly meetings are planned at the beginning of each work week in order to establish the person assignments for the current iteration;

03. Implementation:

Implementation of the actual code is also done in XP style:
 UML diagrams
 Commented code (for Java application JavaDoc Comments are used, the documentation is generated by JavaDoc);
 Object-oriented programming;

04. Testing (validation and verification):


 Testing is planned at the end of each iteration for the current functionality
 Testing is planned when the project is completely implemented

05. Delivery of the product:


 Acceptance stage from the client