Is scrum a silver bullet for building software?

why scrum became so popular lately? is this the best approach for building software?

source: https://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/ST_vs_Gloucester_-_Match_-_23.JPG/350px-ST_vs_Gloucester_-_Match_-_23.JPG

This article was written as an individual review assignment for PPL CSUI 2021

When talking about how you manage your team to work on projects(in this context, building software) and want to produce high quality software within time and with estimated cost, people will refer to a cycle called Software Development Life Cycle(SDLC). There are many SDLC models we can find such as Waterfall model, Iterative model, Unified Process model, Spiral Model, and lately Agile approaches such as Extreme programming and Scrum

One reason why Agile approach became so popular lately is that their ability to be “agile", but what the meaning of being agile?it means in the process of building software, the team who implemented agile SDLC will be open for changes and no problem with that, a lot of difference with waterfall model who doesn’t accept any changes until the project is done. in my personal opinion, I think agile especially the scrum model, is like waterfall model, but instead of a long period of phases, all the phases are short and dense and we call it a sprint. in scrum model, every sprint is having not so long period, such as 1 or 2 weeks and in each week there is a bunch of Target or Product Backlog that should be done on every sprint.

But why the ability of agile is so useful lately? it’s because nowadays there are many startups or companies that to deliver their products it needs to be fast delivered and adapt as what user needs. if they are using a non-agile approach, it should be difficult to accomplish what they need, just imagine if they are using waterfall model, every they are releasing a big new product and eventually the market doesn't like it, it will became disaster for them. but with using agile approach they can release small functional product every sprint, and from that, they will know what their user wants.

In my projects, I and my team, with the product owner and scrum master, are using agile approach which is scrum as our SDLC for building our software projects. the reasons why we use scrum are not just because it’s already stated by lecturers for using scrum, but also because believe it or not our client is regularly giving a sign of changes in every sprint, so it’s a good choice of using scrum as our SDLC :). at the beginning of starting of this projects, I and my team, (I will call it the Dev team), are having a deal with the scrum master about how we are doing our jobs for every sprint, such as how many Product Backlog we will be doing every sprint, how every member of Dev team assigned tasks, and when daily standup will be conducted.

The sprint will be 2 weeks long and at every end of the sprint, there will be a sprint review with the Product Owner and also our client. Of course, after we were doing sprint review there will be another sprint planning and retrospective sprint. In sprint review, as it’s called, we are reviewing our works with the product owner and client, and the product owner will decide if our works already meet the definition of done(dod) or not. in sprint planning, the Dev team and Scrum master will discuss how the next sprint will be conducted, how many Product Backlogs we will do. In retrospective sprint, we are reviewing our performance in our previous sprint so in the next sprint our performance will get better.

sneak peek from our boards

Conclusion

in my opinion, there is no such thing as a silver bullet solution in SDLC, every type of SDLC is will be good if they are in the right place. An agile process like scrum is popular lately because it fits what common industry need now, but another model like Perspective processes such as waterfall, iterative and etc are also still be used by another company that their needs are not delivered product In a fast-paced, but more prioritize stable, safe product to be used for their users. I am not talking about if agile approach product is not safe and stable, but usually, the perspective process is used by the company that already knows what their users needs. Personally, if I am working on a project that the requirement is already fixed in the beginning then I will prefer waterfall model as my SDLC because it is simple and straightforward and doesn’t spend my client much time doing sprint review with the dev team.

I think that's all for this article, hope this article could have benefits for all you who reads it. Have a good day :)

Reference

https://www.agilealliance.org/glossary/scrum/