Methodology
Ramsoft Consulting uses Agile, Iterative and Waterfall methodology for software development. We recommend Agile methodology to our clients.
Agile Methodology
Agile methodology is an approach to project management, used in software development. Agile methods maximize the return on your software investment. It helps teams respond to the unpredictability of building software through incremental, iterative work known as sprints.
Agile methodology is iterative and incremental. In waterfall methodology, software development team only has one chance to get it right, where as in Agile methodology, every aspects of software development such as requirement, design, development etc is continually revisited throughout the life cycle of the project.
We use following Agile methodology:
Scrum
Scrum is an Agile software development framework. Work is structured in small units of work called sprint, iterations of work that are typically 2-4 weeks in duration. In each sprint, team works on highest priority requirement to develop feature which is highest in value to customer. At the end of each sprint, team delivers a potentially shippable product increment to the customer.
Scrum framework is suitable for projects where customer has priority of work to be completed and requirements keeps changing from time to time.

Extreme Programming (XP)
Extreme Programming (XP) is another Agile software development framework, which improves software quality and response to changing customer requirements. In XP frequent releases are done in short period of time called timeboxing, which is intended to improve productivity and introduce checkpoints, so new requirements of customer can be added easily.
Iterative Methodology
Rapid Application Development (RAD)
Rapid Application Development (RAD) methodology used minimal planning in favor of rapid prototyping, allowing software to written faster and makes it easy to change the requirement. RAD approach is not suitable for mission critical projects.
RAD approach is suitable for projects where objectives are well defined and narrow, data set for project already exists, decision can be taken quickly, development team is small and architecture of project is well defined.

Waterfall Methodology
Waterfall methodology is a sequential software development process, in which progress flows steadily downwards like a waterfall through following phases of Analysis, Design, implementation and testing.
Waterfall methodology is a bad idea in this age of changing world, because analysis team only has one chance to get it right.
