Why Scrum is crucial to your product and pitfalls may happen to your Scrum plan
According to a report conducted in 2018 by Scrum Alliance about practicing Scrum worldwide, 94% of respondents use Scrum in their working process. So two questions may bump up in your mind is that why there are so many companies buy in this method, and what mistakes a team could make while applying it. The article by Designveloper below may help you solve these puzzles.
1. Why Scrum is crucial to your organization?
If you are a business owner or a founder looking for a software development company:
a. Product quality is optimized as it is developed
It’s not difficult to figure out what goals that a software development company looks toward for when working on a project: it has to go as exactly the result that clients and their end-users expect. And that’s what Scrum will do to your process.
Let’s talk a bit about it. Before every sprint happens, we will have a product backlog to list out all features, requests, etc. sent from customers, users or your PM. Thanks to this activity, team members get the right request for every sprint via the user story syntax:
As a result, each involved party will properly understand the request or whatever users/client want to be in a product. Nevertheless, the product owner has to prioritize those requests then sticks one highest priority item to the sprint backlog so that your important user story could be done earlier.
And there is a daily stand-up meeting to exchange ideas, obstacles, and results from the last 24 hours. On one hand, the discussion will likely to get feedback from others, solve member’s issues and develop one’s innovation. On the other hand, the whole team will be aware of how the progress is going on and adjust their tasks to fit in the estimated time of a sprint.
Last but not least, instead of normal development progresses where a QC/QA tests your software, web app, etc. in the very last stage of building a product, Scrum allows us to check it again and again in every sprint to see if there is anything wrong with it immediately. Nevertheless, there is a famous myth which claims that if we use Scrum we’ll never fail. No, we may just fail sooner than when using other framework thanks to this testing activity.
b. Your product is improved and updated frequently continuously
Adaptability is the reason why Scrum goes famous, but the ability to be improved and updated in just a short period of time is what makes it a winner.
The world is changing every hour and so does technology and services. One day your app was a bowl of ramen, then the other day, it becomes a cool cup of instant noodle to end-users. Why? Because it is a lack of new features and experiments. All the top companies we are observing today innovate their products weekly, daily or even hourly. For instance, Facebook releases new designs, features; tests them on a group of user and then world-widely deploys or cancels a bad one in minutes. After all, software is about people.
Thankfully, when a software development team applies Scrum in their working process, your chance of being on top of the game is so much higher. As I have stated in the first part, the client will send a list of user stories to the Scrum team, and then the team will put the most necessary item to sprint backlog and run the sprint. As a client, you do not have to wait too long for only a feature but in just a sprint (1 to 4 weeks or even less). Furthermore, at the beginning of a sprint, clients and the business analyst will hold a meeting together to discuss the feature: what the current trend in the industry is, should this feature be developed, how the result should be, etc. to improve the quality and follow the contemporary flow.
c. Scrum saves you a lot of money
Well, no, it does not directly cut down the budget, instead, Scrum limits the development time, and obviously, time equals money.
When working with a Scrum team, whether they are freelancers or an outsourcing company, your product will be developed then tested and fixed and tested again in a sprint within a defined period of time. This flexible process will reduce issue and allow the Scrum team to spend just enough time on one particular sprint.
Firstly, most of the cases, you will pay your partner hourly. In Vietnam, the average wage for a developer working in one hour usually is $10 — $30. Provided that the project is delivered on time, or even sooner, then a bunch of dollars will be saved.
Secondly, we all know that the sooner your deliverable is launched, the earlier money comes to your pocket.
If you are looking for a new framework to apply in your team then Scrum will:
a. Increase transparency across the company
Communication is the most important thing in an organization, especially when you are in a software development company. The reason is team members have to understand each other and know everyone’s progress to cooperate more effectively.
In a team of 5–9 members, to increase the effectiveness of communication inside the organization, Scrum team will organize a 15-minute daily meeting so that they can plan how to best collaborate in the next 24 hours. And at the end of each sprint, the team will talk about what went well in a sprint, what should/could be improved and what to do in the next sprint.
b. Encourage teamwork
One thing I am sure about Scrum is that this framework is based on teamwork spirit. There are several reasons for this:
- An individual has to be committed with their work to be on time and get the best result so that they must look for help from other to solve existing problems, not just leave them there and give no attention to it.
- Team members have to communicate with each other through daily meetings and sprint review to raise opinions and thought.
- They understand one’s obstacles and issues and will give a hand to help so that everyone could be in the finish line at the end of each sprint.
As stated in a study by Salesforce in 2013, 86% of more than 1400 participants agree that ineffective communication led to failures. So why not applying Scrum to avoid such a common issue?
c. Get feedback from your client frequently
Due to the fact that the client also involves in the go of each sprint, they are able to and make comments about it. Scrum team is based on the feedback to change and fix the product to get the best results immediately. As things go, time and effort are cut down, it’s good for both parties: client and development team.
2. What mistakes you may make during the process?
a. There are a lot of interruptions
This likely to happen during the process when Scrum master cannot perform his/her role properly.
According to Mountain Goat Software, Scrum master will be the one who “creates the balance with the project’s key stakeholders”. In the hope that Scrum team would only focus on their current project, this person will solve any impediments coming across the way, make sure the product backlog is well prepared and ready for the next sprint.
Thus, the Scrum master has to act as a guardian of the Scrum team. They protect the team by limiting tasks sent from clients, project managers, etc. so that team members are able to only concentrate on the happening project.
However, in case the Scrum master cannot manage to do their job well (maybe it’s because of conflicts between members, overloading work, etc.) then how to solve it? You, as a Scrum master, may:
- Ask the C-suit to recruit another Scrum master to reduce your workload.
- Try to communicate, discuss with your colleagues to understand their problems and help them to solve these.
b. Lack of communication and engagements
Communication issues may lead to many other serious problems which include misunderstanding, negative attitudes, unfinished tasks, etc. All of those things will definitely affect a team’s productivity and work outcomes. So in light of it, how can we overcome the problem?
First of all, the project leader plays an important role in this idea of exchanging activity. Jonathan Rasmusson, the author of The Agile Samurai, suggested that a good leader should deliver news, ask exact questions to estimate how your Scrum project is happening. Furthermore, they should be the number one cheerleader who is able to encourage work and connection between members.
Secondly, team members all have to answer these three questions below to clarify their roles and workload in the system:
- What this you do yesterday?
- What will you do today?
- Are there any obstacles?
Still, it’s based on your problem that you have to figure out your own resolutions, the suggestions above are just two main approaches to deal with communication issues.
c. Misunderstand the definition of “done”
As mentioned in Wikipedia, “Definition of Done is the exit criteria to determine whether a product backlog item is complete. In many cases, the DoD requires that all regression tests should be successful. The definition of “done” may vary from one Scrum team to another, but must be consistent with one team.”
If a Scrum team is not able to agree on a standard definition of done, then team member may only have a vague guideline on how a completed sprint looks like. Thus, they have to spend more time on reworking with a certain task from time to time since there is no common goal to commit between stakeholders.
And that’s why a meeting to brief the definition of done prior to a sprint is crucial. Team members and the Scrum master will work together to define a clear checklist of the definition of done. Then the Scrum team must follow those criteria to work and complete their tasks on the sprint.
Providing you have no idea a definition of done should be, then below is an example provided by Luís Gonçalves for you:
- X% of code coverage from Unit Test
- Automated tests for the User Story are created and pass
- Acceptance criteria are met
- All regression testing of the product is moving
- System-level Non-Functional requirements (e.g. System-level performance) tested and passed
- The software is running in the server to be defined by the team (optimally in pre-production)
- Code review by peer
- Technical documentation updated
- User documentation updated
- User Documentation is
- Localization for the story is done
- Localization testing is done
- Marketing input is done
- Legal documents are done
- Beta Testing is done
I hope this blog will help you understand Scrum why Scrum is important for a software development company and how to overcome some obstacles that may happen during the process. Designveloper is one of those companies using this framework to boost effectiveness and productivity, save time and cost for not only our organization but also our clients and partners. You might take a look at our projects here.