One of the chief reasons for our ability to offer consistently dependable IT services has been our reliance on a rigorous systems development methodology created by combining the cumulative expertise of our team. We have been using this lifecycle now for the past two years, and the results have been magnificent!
The biggest challenge that we faced while trying to arrive at a standardized methodology was the time / quality factor. Despite all sorts of optimizations at the architecture and implementation levels, we found that testing processes always took longer than we had bargained for. Our new methodology, therefore, took over from the iterative waterfall model, and added the best that tracking had to offer.
Basically, we divided our systems development lifecycle into four stages, each stage interspersed by a set of user-driven tests.
- Business and Technological Requirement StudyThis stage involves our team of vertical and technology experts studying the business and technological context that necessitated the proposed solution. Typically, this involves a series of site visits, internal process documentation study, and meetings with the leads in-charge of the teams directly and indirectly involved with the processes needing automation.
The output of this study typically is a structured document detailing the perceived problem and offering a high-level solution that could help.
- System Requirements Specification and Design (SRSD)This high-level document, coupled with the feedback from the client front, becomes the input for the second phase of our lifecycle, where the entire process is broken down into smaller sets of operations. The purpose and proposed functionality of each set is explained in detail, and a UML-based interlinked process document is created.
The SRSD forms the basis of the test suites created for functionality-driven testing and UI creation, if required.
Once the QA team okays the SRSD compendium, the high-level design is translated into an algorithmic representation of what needs to go into the actual code, with nomenclature and information flow details specified.
Implementation and TestingThe SRSD is delivered to the implementation team, which splits it further into its constituent units, each unit getting assigned to a team of developers, who first create the required feature structure and design documents, and hand them over for approval to their respective team leads.
The team leads collate all the required documents and circulate them throughout the various teams for cross-checking and loophole plugging. Once the proofed documents are in, coding starts, with each developer strictly adhering to well-defined and mutually accepted coding protocols and standards.
Apart from the testing due at the end of the implementation process, every developer is held responsible for her code. Therefore, we strongly emphasize source-level testing, proceeding up the entire testing hierarchy, until the completed project is sent finally for another round of testing in the QA team.
- Deployment and MaintenancePost testing, the application is ready for deployment, and a team of experts who have been involved throughout the development of the software visit the client site to install and test the application onsite. Any rare issue found is resolved on the spot.
Once the software is installed and in use, steady support is offered at the level chosen by the client, with regular maintenance services delivered as requested during offer finalization.
What Our Client's Says