One size does not fit all. Similarly, one software development process or model does not work for all. Depending on the clarity in the information and requirements from customer, complexity of the project, knowledge about the technology to be used and timeline for completing the project, we decide on the software development process to be followed. In most of the cases, it is a hybrid version of the classical software development lifecycles.
Our approach includes following stages:
Preliminary Analysis and Requirement
Find the objectives behind developing the software and derive the scope. Suggest alternative solutions.
Analyze user needs and develop user requirements in the form of functional requirements document.
This step involves detailed description of desired features and operation of the software. It includes prototype / screen layouts, preparation of business rules, process diagrams and other documentation.
This phase includes writing of actual code / program.
Integration and Testing
Integrate all the modules of the software and test the software for any errors, bugs and interoperability.
Put the software into production environment.
Operation & Maintenance / Support
This step involves resolution of problems that did not surface in the test environment. It also includes making changes to the initial software based on the user requirements / feature additions. It also includes evaluation of the system in terms of its performance.