We develop robust and scalable be-spoke applications addressing the SME segment. We follow standards in our development approach to ensure that the solution meets all the criteria required of an enterprise wide application. Our strict adherence to processes and procedure in development has helped bring in synergy between technology and business in the past.
Our approach is based on our past experiences and our standard engagement model for delivery. We have followed the industry standard Agile methodology to align at the micro level to identify issues, manage risk and assure client satisfaction. Through this methodology of software development we follow an incremental, iterative process based on values of simplicity, communication, feedback and an ‘agile’ approach to development.
Our approach to application development based on our past development experience can best be described as follows:
The Requirements gathering team plays a key role in knowledge acquisition and requirements definition and transmittal of the knowledge transfer and requirements documents to the offshore team.
Step 1 – Usability / Functional Review
The application release and notes received from the Requirements gathering team are reviewed interactively with the client. In the initial stages of the project, Use Case Story boards and application prototypes constitute the release from project team. Application development is taken as the continuation of the prototypes.
Step 2 – Delta Identification
This is the documentation of the interactive process noted in Step 1. All changes and enhancements to the release are detailed in a checklist.
Step 3 – Development
The Development team plans work based on release documentation.
Step 4 – Transmittal
The application code, notes and delta documentation (work to be done) are checked into configuration management system. The application is kept integrated at all times and clean compile of code is ensured before code is checked in.
Step 5 – Assignment
The Project Manager reviews the Transmittal from the team on a daily basis and plans the work to be done by the team.
Step 6 –Clarification
Direct communication between the Project lead and the team occurs to clarify any needed items before an estimate is sent.
Step 7 – Estimates
Estimates are compared to the original baseline to monitor the general project schedule and correct the schedule as needed. Estimates include dates for:
1) Code completion
2) Quality assurance (test) completion
Step 8 – Project Schedule Update
This step allows features to be added or deleted according to current progress. Each system component is individually tracked for finer management; solutions for problems may include on site development, additional offshore resources, or feature deletion. Alternately, better than expected progress may allow deferred work to be completed.
Step 9 – Release
The application is kept integrated at all times and clean compilation of code is ensured before the code is checked in. A release is prepared on a daily basis. Release notes with instructions to team is also prepared and checked into the configuration management system.
We adopt the best business practices for implementing this project, based on our technology experience. We will pursue a facultative and process oriented approach to ensure complete use of out of box features of the respective technical stack to implement the requirements.
Solution Design Considerations
1) To provide a strong integrated system to provide easy information access.
2) Quality assurance (test) completion
3) To provide functionalities that is capable of easy adaptability to changing organization needs as dictated by changing environment and business needs, with minimum efforts.
4) Through software and tools will provide considerable ease of integration with other systems to have seamless integration resulting in elimination of data redundancy and investment optimization.
The Development of application components and integration would involve the following activities:
The development team will prepare the Detail Design Document depicting the various Modules and its Specifications. This Document will be subjected to a “Peer Review”, as a part of the standard Quality Management.
Coding, Unit Testing and Integration Testing
The development team will carry out coding and unit testing of the software components. The detail design document will form the primary input for the development of codes for the software.
The source codes will be reviewed by an internal review team and confirm adherence to development standards. Based on the integration test plans, each module will be subjected to a set of integration test procedures and the results will be recorded. Accordingly, the team members will fix the bugs, if any, and firm up the software scripts.
The software components would be subject to acceptance testing by the customer. Users would perform the acceptance test during the System Testing phase. The acceptance tests on the Software will be carried out and its results will be recorded. The final resulting changes would be carried out, if any, as identified in this stage. While testing the software, the development team will follow a comprehensive bug recording & monitoring approach.