Software design and development methodologies used at Rapidsoft cover both traditional SDLC (Software Development Life Cycle) as well as more flexible agile methodologies. The choice of methodology is largely driven by client requirements, project size and time to market.
Rapidsoft has considerable experience with agile methodologies especially in the area of mobile application development where time to market is a key consideration. We use a combination of test-driven development and a scrum-based interaction with the client especially in the final stages of the project.
We do continue to follow the more traditional waterfall model based on a formal SDLC for large projects where requirement gathering is a significant part of the project scope. In this case the norm is that a Functional Specification and a High Level Design document will be prepared by us for the client and used as the basis for the actual development.
Our approach to software design is highly object-oriented and the goal is to capture the structure and interactions of the actors involved fully in the model. In terms of database design as well, we follow well-established methods for data organization and separation of the data management from the business logic.
In all cases, whether agile or traditional, our overall approach and interaction with the client is very open. We provide the client complete scope for feedback at all times, whether during initial requirements understanding, high level design, or iterative development. Quality Processes form an integral part of our methodologies. All our applications are rigorously tested both for their usability and their functional correctness. This ensures a high quality of what is delivered to the client.