We use modern methodologies of software development, which includes: requirements analysis, design of specification and architecture, implementation and testing, documentation writing, process of deployment and support. Our company commonly uses the Waterfall Model, Test Driven Development, Agile Programming and SCRUM.
The waterfall model is a sequential development process, in which development is seen as flowing steadily downwards like a waterfall through the phases of requirements analysis, design, implementation, testing, integration, and maintenance.
Test driven development
Test-driven development is a software development technique that relies on the repetition of a very short development cycle: First the developer writes a failing automated test case that defines a desired improvement or new function, then produces code to pass that test and finally refactors the new code to acceptable standards.
Agile methods generally promote a disciplined project management process that encourages frequent inspection and adaptation that allows for rapid delivery of high-quality software. Agile implementations use a routine and formal daily face-to-face communication among team members. Team members report to each other what they did yesterday, what they intend to do today, and what their roadblocks are.
Scrum is an iterative incremental framework for managing complex work commonly used with agile software development. A key principle of Scrum is its recognition that during a project the customers can change their minds about what they want, Scrum adopts an empirical approach focusing on maximizing the team’s ability to deliver quickly and respond to emerging requirements. One of Scrum’s biggest advantages is that it is very easy to learn and requires little effort to start using.