Software development is like tailoring a suit. The fit and nuances of designing have to be well understood and neatly executed for a great finish.
Our application development strategy involves a combination of offshore and on-site activities with the on-site program management team handling client interaction related activities like requirement analysis, acceptance testing, implementation, training etc. The offshore team handles development and maintenance support.
The implementation of the project will proceed in the following phases:
Analysis: This phase will involve the conceptualization, analysis of the requirements and the creation of the following 2 documents:
After the client approves (signs off) the aforementioned documents, we will freeze the requirements and proceed to next stage
We follow the SEI-CMM school of thought. The project will be headed by a project manager. Project Leader will report to the manager and will be the operational in-charge. Module/Team leaders will report to the project leader. Developers will report to the team leader. An independent SQA (Software Quality Analyst) will be appointed for the project.
The SQA will conduct quality audits on a fortnightly basis.
The coding for each unit will be preceded by the preparation and review of design documents. Also, test-plans will be made for all units and reviewed before the commencement of coding.
We have a web-enabled application that logs and keeps track of all our defects discovered at various stages during the SDLC. This data is useful for tracking the origin of the defects and in removing kinks from our processes. Also, this data is useful during preparation of regression-test plans.
We also believe in maintaining a strong focus on the review process. All documents prepared will be subjected to a review before they are cleared. The same is true for all code written. Unit-Level testing and verification guaranteeing at least full code-coverage will succeed the development. There will be a system level integration and regression testing exercise at the end of the development cycle. A system-integration and testing plan will be prepared before this exercise and all results will be verified by the SQA.
Please Note that once unit testing for a unit (fresh development) is complete, strict version and source control standards are enforced.
Also, we have a backup-policy which calls for source and data backups (full) every weekend and incremental backups at end-of-day.
10 minor defects per KLOC(1000 lines of Code).
No Show-stopper defects are permissible at any stage.
When the client is satisfied with the UAT, we will migrate the application to the production environment.
Mann Technologies has proven that consultancy is not enough. Active participation in the construction of the intermediate products and of the final product, maximizes the chance of lasting results and a quick return on investment Active participation as an architect is the best way to transfer knowledge and skills on your staff while maximizing the chance on a successful project. Participation combined with education is a highly effective means for improving the quality of software development in a short time, assuring a quick return on investment. A 'pilot' project creates a situation in which the knowledge obtained from class room education can be put into practice under the supervision of a trainer. The trainer should be a 'stake holder' by playing the role of architect. A trainer who is a stake holder, acting as an architect, in a 'pilot' project maximizes the effect of on the job training. The trainer, as an architect, can influence the structuring of the software development process and anchor it in the software development organization.
Mann Technologies helps you in defining a pilot project in which you and your organization will succeed in realizing significant and lasting increase in the quality of the software development process and of your products. Mann Technologies will stand by you and help you to become successful. A pilot project must deliver a product with which the money invested in training and advice can be earned back. A 'pilot' project must never be a 'hobby' project. Sooner or later the management regards such a project as sheer luxury. The management starts de-allocating resources and in the end the project dies. On the other side, a project that is of a strategic importance with a 'do or die' dead line, is to be avoided too. In these projects the pressure will be such that no mistakes or delay, due to the learning of a new way of working, is allowed!
Mann Technologies produces software itself, therefore we understand that it is for software producing organizations impossible to stop all production just because programmers need to follow a course. Mann Technologies offers in-house courses with the possibility to provide training outside normal working hours. This allows the continuation of the work with little or no disturbance and still have your staff trained in an effective way!
Instead of 'class-room' training, Mann Technologies also provides 'on the job' training. This type of training aims at being productive and learning at the same time. 'On the job' training guarantees that programmers are productive while they learn. This drastically reduces the time required to earn back the investment in training.
Mann Technologies has extensive experience with on the job training and in-house courses, especially combined with consultancy and participation. A balanced mix of on the job training, in house courses, consultancy, and the right level of participation guarantees that the increase in quality of your software development will be significant and lasting.
Every organization has its own strong and weak points. Each organization has to go its own way to become a mature software development organization. Therefore, Mann Technologies offers organizations packages of courses. On basis of a knowledge and skill assessment Mann Technologies helps the organization in packaging those courses that maximally meet the need for knowledge of the organization.
Mann Technologies does offer more than packages of courses. The content of a course can be adapted to exactly meet the needs of the organization! Precisely that knowledge is transferred that is required by the organization. If you want maximum return on the money invested in training, you definitely need a course package with one or more tailored courses.