Software Development Methodologies

Ashutosh Arage. Exaltare Tech
Exaltare Technologies
3 min readFeb 10, 2020

This article is focused on providing a high-level overview of software development methodologies. How to select the method that best suits your requirements. Before starting any software development project you need to make sure which development method you are selecting. So what is Software development methodology?

The software development methodology is a process of planning, creating, testing and deploying software. There are a few different variations on what people and companies think are good development practices. However, I am going to talk about the development processes which I have personally worked on over these years.

Main Software Development methodologies:

1) Waterfall.

2) Agile

3) Scrum

1) Waterfall Model A.K.A Traditional Model:

In the waterfall model once you go down you cant group similar to a waterfall. In this model, the requirements are defined upfront by the clients. The entire project is mapped out in the planning and analysis stages. The client defines a very specific set of features and the project manager maps out those features to the teams.

The development team works on the defined requirement document. The entire application is built and tested to make sure the software works properly.

This is suitable when you have a fixed set of requirements and you don’t anticipate many changes.

For the latest market scenario where new features are required to be delivered fast and functionalities changes frequently, this method is not useful.

2) Agile:

As the name suggests this method is faster and efficient than the traditional development approach.

Agile methodology encompasses a variety of other methods, for example, Crystal Methods, Dynamic Systems Development Model (DSDM), and Scrum are all considered agile methodologies. The crux of the Agile development process is working in sprints or iterations, the duration of which is from 1 week to 4 weeks. I prefer to work on 2 weeks cycle.

The hallmarks of the agile development process include working in sprints or iterations which last from one to four weeks to release new functionality at the end of each iteration. Within each of these iterations, there is planning, requirements analysis, design, coding, testing, and the creation of documentation.

Communication is a crucial part of agile development. Fast feedback from clients enables the development team to deliver more accurate results.

3) Scrum:

Scrum is one of my favorite methods of software development and us at Exaltare technologies use the Scrum method widely across different projects.

Scrum method is a sort of additional layer on the top of the Agile development process. Scrum helps to improve productivity and bring efficiency in software development. In this method, a backlog of work is created which is sorted by the day and priority.

Each ticket or story contains a specific set of features to be implemented. The functionality is divided into story points and the story points are assigned to specific developers. Daily standup calls are organized at the start of the day to plan the work.

Its the job of Scrum master to get the work done in the specified time duration. Scrum master however not the leader of the team.

The measure of success in the scrum method is that the team can respond to emerging challenges in an agile manner and understands that taking an empirical approach cannot completely address every issue that will arise in the development process.

To track scrum development we use JIRA for project management.

There are other tools in the market such as OrangeScrum, Trello, etc. but its a personal choice.

So if you are developing a new software make sure you select the right development methodology. Feel free to comment and share.

#exaltare #exaltaretechnologies #softwaredevelopment #softwareoutsourcing

--

--