Scrum Agile – The way forward
“Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning.” – Albert Einstein.
As agile organizations, teams and team members must constantly question what could be better in order to learn from past and continually improve for the future.
In one of my previous blog posts, I talked about why the Waterfall model is not the best type of SDLC to go forward with. We at BrandzGarage as an organization are moving towards Agile. Here, I would share whatever we have learned about the trending method of software development.
- Uses iterative approach called Sprints. One development cycle (requirement analysis, design, development, and testing) is called a sprint in the scrum methodology. The entire product is divided and ranked into different sprints by the product owner depending on the priority.
- The biggest reason we were attracted to Agile was because of its ability to respond to change better than any other SDLC method, and a negligible dependability on following a detailed written documentation.
- This method is super flexible and great for the building technologies that are unknown. Google uses Scrum agile for developing their in-house AI products like self-driven cars etc. We ourselves are using Agile model for a secret product that we hope to launch soon.
- The development values individuals and interactions over processes and tools. The waterfall model is about the set processes and tools we use to get there. In the scrum development, people interact very often and are always on their toes in every sprint be it the customer (Product Owner), the DevOps team (Scrum Dev Team) or the team facilitators (Scrum Masters).
Why we moved to Agile:
- The product owner gets a workable product in front of the business much quicker. The estimated time for the first sprint is between 14-30 days. Which is relatively fast in a big project. This has helped us in gaining the initial confidence of many a customer, which is hard to come when you don’t have a famous brand name.
- One of the major benefits of the Scrum (agile) methodology is its flexibility and its responsiveness to the changes. As the team works on a particular sprint, the requirements in the sprints can be added, deleted or modified without any effect on the process. Most startup owners are unaware of all that is needed in the product and thus changes pop up every time.
- Promotes collaboration between business and development teams, unlike the waterfall model. The product owner is as involved in the development of the scrum dev team so as to incorporate the ever-changing business needs. Basically, everybody helps everybody
- Daily feedback on progress and roadblocks. 15 min daily Scrum meetings are a part of Scrum development where yesterday’s progress, today’s agenda, and the possible roadblocks are discussed so everybody knows what everybody is doing. This keeps all the stakeholders on the same page and avoids any misunderstanding which may lead to a blunder.
What are the challenges:
- There is no defined end date. The teams work through sprint backlogs over and over and over but there is no time good enough to say ‘OK the product is ready’ as the business needs and requirements keep changing forever.
- Relies heavily on the commitment of all team members. Everyone’s role is defined along with the sprint deadlines. Most of the time, that team is only working on that particular project or maybe one small one too. However, an involvement of any other project can hamper the development.
- Initial adaptation and training in Scrum is a challenge. This must be easy to understand and think of but requires special certifications and training before one can start implementing it. This is a costly affair.
- Changing or leaving team members can have a drastically negative impact. The team members and their roles are so internally woven that it’s hard to get a new person and engage them with everything that is going on instantly.
When to use Scrum:
- This model is used when the project is unpredictable, and requirement keeps changing.
- When you are up to creating cutting-edge technology. For example, Google developing automated cars etc. using Scrum agile technology.
- Business has experienced resource that can devote time to the project and collaborate with the scrum masters and scrum dev team.
- When the business wants a tangible product quickly (as always). With the scrum model you have your first sprint completed within 14-30 days and give the business a base prototype to gets their hands on.
- No pressure of length or the budget of the project. Since the end date of the project cannot be defined easily, it’s best to use this model when you don’t have strict timelines.
- The development team has no resource constraints. The DevOps team has to be constantly involved in the process throughout as compared to the Waterfall model.