Search

Does Scrum Apply To All Types Of Projects?

Scrum, undoubtedly, is one of the potentially viable approaches to managing software development projects. Scrum is just a development methodology which delineates the processes and practices that help in managing software development activities.However, before adopting any methodology one should ask these questions -Is the use of Scrum being forced upon you to fit into the project?Has the research been done to predict its success rate?Have you analyzed the risks associated with this adoption?What types of projects fall into the purview of Scrum framework?I worked in the IT industry for 9+ years on a wide variety of projects where the success rate of Scrum was very high. Hence, I got the impression that it works for all types of projects. Here is my experience with one of the projects that threw away all my misconceptions about Scrum and changed my opinion.My team worked on a huge, multi-dimensional project, that included distributed teams.Multiple versions of the product were already out in the market and customer satisfaction was running high. Then we decided to switch to Scrum for this particular project. As the software product was already out in the market, customer issues and complaints piled up that were assigned a priority level in order to be resolved.The team working on the newer version was also required to support the older versions as a part of the contract with the customer.  Therefore, the same team is working on new versions of the product including enhancements and new features while also addressing the customer issues and bug fixes for the older version of the software.Now, since the product owner had already groomed the backlog for the software release, whenever any new issue from the earlier versions was raised by the customer, we took them on priority. This leads to these issues being constantly added in the midst of the sprint to the backlog and the whole team started working on the issue, leaving their current work behind.As a result of these mid-Sprint changes-All of a sudden, team had to shift their focus.No planning was done for this issue while grooming.Unplanned work being added to the backlogDelay in creating and delivering current project deliverables.Then comes the conundrum -Are we really using Scrum the right way? Is our project really getting any benefit by using Scrum?The answer is probably NOT. But the management still wouldn’t agree and will continue to force the use of Scrum for this project.Now, let us discuss the below scenarios.1) Sometimes there were too many issues from the earlier versions but the other times too few issues (but of high priority) were thereIn these cases, we need to immediately switch our focus to a high-priority issue and provide a possible solution to the customer as early as possible. The current sprint needs to be cancelled and pending tasks need to be transferred to the next sprint.2) Sometimes no issues at all.Continue the sprint.3) Sometimes issues need to be addressed but the current project is also in a critical stage.An example is the build failure of the current project and where testers weren’t able to continue the testing. This becomes a critical condition for any project which needs to be addressed and planned for.Because of this critical situation, management switched its stance and agreed to abandon Scrum for this project as it stalled both the projects and instead used the waterfall model.Few suggestions to avoid this scenario -Make two separate teams - one for handling the issues of earlier versions and one for the current project sprintsSlowly and steadily we should stop giving the support to the earlier versions (End of life) and this should be clearly communicated to the customer in advance so that they can also prepare themselves. It should be coded in the contract at the time of signing. However, this is not always possible due to complex nature of projects that run big manufacturing and production plants which may adversely affect their productivity/throughput.The above two solutions can be addressed in the following ways:Plan and allocate budget to provide support to the earlier versions of the product instead of hiring the new team. In case of no issues, the team can continue to work on the current project.For such projects, Scrum and Kanban both methodologies should be used.Conclusion:In my opinion, before adopting any methodology we should always deep dive into it and understand its success rate in different scenarios of the project. We should not impose any methodology on any project by giving justification that it is already used by other projects.Also, start off with small (maybe internal) projects having few sprints and few team members just to predict the success rate of the methodologies and frameworks.“It’s better to fail first than at the end”.So, for the projects where there is high unpredictability (don’t know when new tasks will come), chances are there that Scrum may not work; so it is better to use Kanban in those situations.Inappropriate application of Scrum can lead to its doom – Scrum is not a prescriptive method, but a suggestive approach to software development. So, the way it is implemented makes all the difference.
Rated 4.5/5 based on 5 customer reviews

Does Scrum Apply To All Types Of Projects?

1K
  • by Shilpi Jain
  • 10th Aug, 2018
  • Last updated on 06th Mar, 2019
  • 3 mins read
Does Scrum Apply To All Types Of Projects?

Scrum, undoubtedly, is one of the potentially viable approaches to managing software development projects. Scrum is just a development methodology which delineates the processes and practices that help in managing software development activities.

However, before adopting any methodology one should ask these questions -

  • Is the use of Scrum being forced upon you to fit into the project?
  • Has the research been done to predict its success rate?
  • Have you analyzed the risks associated with this adoption?
  • What types of projects fall into the purview of Scrum framework?

I worked in the IT industry for 9+ years on a wide variety of projects where the success rate of Scrum was very high. Hence, I got the impression that it works for all types of projects. Here is my experience with one of the projects that threw away all my misconceptions about Scrum and changed my opinion.

My team worked on a huge, multi-dimensional project, that included distributed teams.

Multiple versions of the product were already out in the market and customer satisfaction was running high. Then we decided to switch to Scrum for this particular project. As the software product was already out in the market, customer issues and complaints piled up that were assigned a priority level in order to be resolved.

The team working on the newer version was also required to support the older versions as a part of the contract with the customer.  Therefore, the same team is working on new versions of the product including enhancements and new features while also addressing the customer issues and bug fixes for the older version of the software.

Now, since the product owner had already groomed the backlog for the software release, whenever any new issue from the earlier versions was raised by the customer, we took them on priority. This leads to these issues being constantly added in the midst of the sprint to the backlog and the whole team started working on the issue, leaving their current work behind.

As a result of these mid-Sprint changes-

  1. All of a sudden, team had to shift their focus.
  2. No planning was done for this issue while grooming.
  3. Unplanned work being added to the backlog
  4. Delay in creating and delivering current project deliverables.

Then comes the conundrum -
Are we really using Scrum the right way? Is our project really getting any benefit by using Scrum?

The answer is probably NOT. But the management still wouldn’t agree and will continue to force the use of Scrum for this project.

Now, let us discuss the below scenarios.

1) Sometimes there were too many issues from the earlier versions but the other times too few issues (but of high priority) were there
In these cases, we need to immediately switch our focus to a high-priority issue and provide a possible solution to the customer as early as possible. The current sprint needs to be cancelled and pending tasks need to be transferred to the next sprint.

2) Sometimes no issues at all.
Continue the sprint.

3) Sometimes issues need to be addressed but the current project is also in a critical stage.
An example is the build failure of the current project and where testers weren’t able to continue the testing. This becomes a critical condition for any project which needs to be addressed and planned for.

Because of this critical situation, management switched its stance and agreed to abandon Scrum for this project as it stalled both the projects and instead used the waterfall model.

Few suggestions to avoid this scenario -

  1. Make two separate teams - one for handling the issues of earlier versions and one for the current project sprints
  2. Slowly and steadily we should stop giving the support to the earlier versions (End of life) and this should be clearly communicated to the customer in advance so that they can also prepare themselves. It should be coded in the contract at the time of signing. However, this is not always possible due to complex nature of projects that run big manufacturing and production plants which may adversely affect their productivity/throughput.

The above two solutions can be addressed in the following ways:

  1. Plan and allocate budget to provide support to the earlier versions of the product instead of hiring the new team. In case of no issues, the team can continue to work on the current project.
  2. For such projects, Scrum and Kanban both methodologies should be used.

Conclusion:

In my opinion, before adopting any methodology we should always deep dive into it and understand its success rate in different scenarios of the project. We should not impose any methodology on any project by giving justification that it is already used by other projects.

Also, start off with small (maybe internal) projects having few sprints and few team members just to predict the success rate of the methodologies and frameworks.

“It’s better to fail first than at the end”.

So, for the projects where there is high unpredictability (don’t know when new tasks will come), chances are there that Scrum may not work; so it is better to use Kanban in those situations.

Inappropriate application of Scrum can lead to its doom – Scrum is not a prescriptive method, but a suggestive approach to software development. So, the way it is implemented makes all the difference.

Shilpi

Shilpi Jain

Blog Author

Shilpi is an experienced Scrum Master have 9+ years of experience in IT industry. She worked in companies like GE Healthcare and Nokia Siemens and currently working as a freelancer where she has contributed in many Technical Articles on Scrum/Agile, Project Management Tools (Atlassian, Jira and Rally), Project Management, Scrum Agile Certifications Questions and Answers (Test Paper Writing). She carries certifications like Certified Scrum Master, Fundamentals of Scum, Certified Six Sigma Black Belt (CSSBB). She always shares her personal experiences in her Articles. She is a passionate writer and blogger about the Scrum and Agile Methodology.

Join the Discussion

Your email address will not be published. Required fields are marked *

5 comments

nicocasel 16 Aug 2018

Thanks for this article. We find only few testimonies / feedback about situations where Scrum is not the right approach. "for the projects where there is high unpredictability (don’t know when new tasks will come), chances are there that Scrum may not work; so it is better to use Kanban in those situations." It sounds obvious for experimented people in Agile, however this is important to remind it.

Shubham 15 Sep 2018

Not having much knowledge regarding scrum or Kanban...but definitely seems to be a good read. Can scrum be used for managing projects other IT one, like finance or general management...if so then maybe same can be a part of your posts to come. Knowledge can only bring change to this world, so keep writing keep sharing

SUNIL jain 16 Sep 2018

Excellent, good information

Vishal Singhal 16 Sep 2018

Nice article. Describing real pain points while following agile methodology. Keep up the good work.

kurunapi karthik 21 Nov 2018

Thanks Shilpi Jain .. thank you for the information

Suggested Blogs

Top Agile Methods for Better Productivity

When a Scrum development team works on the productivity of a team using the Agile methodology, the first thing that comes to attention is the metric used to measure how much work the team does in an iteration: velocity. On the contrary, using velocity helps a Scrum development team to determine a team’s average capability on a normal sprint followed by how much they will agree to achieve in the next sprint iteration. The velocity is not preferred to determine the team’s productivity as it is just a simple indicator based on past sprints.The thing that matters at the end is the result and what the team has produced. A team is not recommended to be pushed to fasten its velocity. In the end, the outcome might be unpredictable as the team might economize on acceptance testing, avoid fixing bugs, or minimize restructuring to reach the target velocity. The key to increasing the velocity of the team is to resort to focusing on optimal velocity over time instead of maximized velocity. This also determines the overall quality of the finished product. Here are the top Agile methods involved in Scrum to allow the team to be more productive over time. 1. Eradicating obstaclesOne of the most important duties of a Scrum Master is to get rid of obstacles early and throughout the development process. This begins with asking appropriate questions while User Stories are being written. This gives developers space and time to do their work. While they are working, a Scrum Master also protects the development team from any disturbances from the stakeholders.In situations when the team does get interrupted, it is recommended for the team members to contact the Scrum Master to get their queries and issues resolved. Having a clear and focused mind is the key to operating at the highest level.The most obvious step is to avoid distractions as they are the primary reason for decreasing a team’s productivity. The team is unable to focus when they are asked to clarify why their productivity went down.2. Daily scrum meetings An efficient team always has a small group of professionals, the numbers can go to a maximum of 9. Anything more than that leads to communication issues and more consumption of time in meetings or huddles. A bigger team, in cases, can be split into two or more. A big team leads to more complications and misunderstandings and hence, is not a good idea. A larger team means more loss in information while exchanging thoughts and ideas and that will result in everybody in the team spending more time and effort to get any message or data across. 3. Team Capacity It is a known fact that all the team members must attend the daily scrum every day. The meeting can last for not more than 15 minutes every day to get an overview of the proceedings and the advancement of the undertaken work. All the concerns and ideas put across and need solutions during the meetings can be parked so that all of them can be addressed together. Any topic not related to the purpose of the meeting can be talked about at a fixed but separate time of the day.Furthermore, communicating with each other during the meeting will help in exchanging more information.4. Product backlog The backlog is the key to knowing where a product goes and what needs to be created on priority. So, everything in a project must be kept and properly maintained via a backlog. User Stories should have enough details and can be reordered in case of a change in priority. More accurate User Stories lead to less time consumption for the development team to understand them.An up to date and well-maintained backlog during an Agile project should have enough User Stories for at least one or two sprints.5. Constantly improving mindsetScrum is a continuous method that involves development because the whole method can be changed, not just the software. The point is to find something that requires alterations and to achieve it in the next sprint. This allows the team to tackle one issue at a time and move forward.Finding a clear move in the sprint retrospective to support the team is necessary. Someone must take ownership to act and make things work. This can be achieved by initiating small, easy actions that are less time-consuming first. During a sprint retrospective, it is recommended to take suggestions from each attendee and go for the most appropriate one. After that, a plan will be laid out to realize the chosen idea.6. Interruption bufferWhile running an application in production, it is necessary to keep maintaining and providing new features. However, there can be interruptions, like a bug that needs to be reported urgently or another team needing a developer for assistance. The point is, Sprints will be prone to interruptions, and provisions must be made to deal with these problems. A capable Scrum Master will log all these interruptions noting the number of interruptions, the time consumed in dealing with them and then add them to the next sprint.7. Have a vision of the task at handThe team works more efficiently in getting the deliverables when the Scrum Master already has laid out a blueprint to work on. This also includes having metrics and other relevant charts displayed, doing which will also let stakeholders and colleagues track the production rate.Refreshing the burndown chart daily and displaying the desired sprint result will reflect the customer or team satisfaction. Furthermore, a roadmap showing the working of the product will further enhance the vision of the team. There are multiple ways of sharing information to give everybody the idea of how things are going on while working on the product.To concludeWhen looking at the broader picture of the correct way to motivate a team to get the desired output, a successful team follows a very realistic and simple approach by using plain common sense that is instilled by the Scrum Master. Understanding how the team works and realizing the working style of each team member is one of the most important observations of an adept Scrum Master. It is a collaborative effort that cannot be done by one person but needs responsible efforts from every working member on the task. After all, it is not about ‘Me’ but ‘Us’ that helps in building a product successfully on time.
Rated 4.5/5 based on 0 customer reviews
9469
Top Agile Methods for Better Productivity

When a Scrum development team works on the product... Read More

Advantages of Agile Testing Methodology

What is Agile Testing? As the name implies, agile course projects are executed very quickly and with flexibility. Agile methods involve tasks executed in short iterations or sprints.Agile Testing is also iterative and takes place after each sprint, rather than towards the end of the project. Testing courses iteratively helps to validate the client requirements and adapt to changing conditions in a better manner. As soon as the build is out, testing is expected to get started and  bugs if any should be reported at once. As a Tester, you must work with the team and share your thoughts on the client requirements at the beginning rather than towards the end of the project. Emphasis has to be laid down on the quality of the deliverable despite the short timeframe. This will further help in reducing the cost of development and your feedback will be implemented in the code which will avoid the defects coming from the end user. Advantages offered by Agile Methodology: The most significant advantage of Agile Methodology is the saving of time and money. There is less documentation required. Although documents help to a great deal in verifying and validating the requirements, considering the time frame of the project, this approach focuses more on the application rather than on documentation. Since it is iterative in its form, there is regular feedback from the end user so that any changes can be implemented as soon as possible. And because all phases of SDLC need to be completed very quickly, there is transparency with regard to the work done by each individual working on the project during each phase. Another advantage that Agile Methodology offers is that any changes or enhancements can be implemented without any budget constraint. These changes may necessitate some adjustment in the already allotted time frame which will not be difficult . Daily meetings and discussions on the Agile project  can help to determine any issues well in advance and work on addressing them. Quick coding and Testing makes the management aware of the gaps existing in the requirements or technology used, and they can try to find a workable solution for the same. Hence, with quicker development, testing and constant feedback from the user,  Agile methodology becomes the most appropriate approach for projects that are required to be delivered in a short span of time.
Rated 4.0/5 based on 20 customer reviews
Advantages of Agile Testing Methodology

What is Agile Testing? As the name implies, agi... Read More

8 Ways To Stay Motivated While Working with Kanban

There are quite a lot of different time-management systems when it comes to the manufacturing process but the Kanban is a particularly interesting one. Developed by one of the leading engineers of Toyota, the Kanban is a way of managing the entire supply chain in order to achieve JIT manufacture – this stands for just in time processes. It is particularly effective and yet quite challenging for both the managers and the employees. With this in mind, let’s take a look at a few things that need to be accounted for in order to stay properly motivated. 1. Self-awareness is important You need to be well aware of your own capabilities – what you can and can’t do. This is particularly important when it comes to staying motivated while working with this particular management system. This is going to enable you to assess your capabilities and know your limits. 2. Reach out to your colleagues The Kanban is known to be a system which relies thoroughly on social support. With this in mind, reaching out to your colleagues in times of need is something that you are going to have to resort to every now and then. 3. Mange your own energy Be thoughtful on how you spend your energy. A lot of the times you are going to be required to do repetitive work so make sure that every move is properly optimized. This is going to ensure that you make it through the entire shift without any issues. 4. Tweak all of your work habits Make sure that you have no unnecessary habits that manifest throughout the working time. This is particularly important and you need to take care of it. You’d be surprised to know how much energy you waste on things which aren’t even productive. 5. Roadblocks need to be reconsidered If there is a certain setback that you are concerned with, take your time to figure it out. If there is something that’s preventing you from handling the work appropriately make sure that you tweak it. 6. Be open to self-jokes Doing the same thing over and over again is going to get you thinking. Sometimes, you are going to do silly mistakes out of carelessness. Don’t worry – it happens. Be open to jokes and laugh at them – you need different experiences. 7. Savor your success When you get the task done from scratch you should celebrate. Of course, that’s not in the most literal meaning of the word. However, savor your accomplishments and enjoy them as much as you can. 8. Break your goals down You are going to be flooded with assignments – make sure to break them down in individual and achievable chunks. This is particularly important. The accomplishment of every single task is going to motivate you to keep going and that’s something which is of tremendous impact. As you can see, there are quite a lot of things that you might want to account for when it comes to handling repetitive management schemes.
Rated 4.0/5 based on 20 customer reviews
8 Ways To Stay Motivated While Working with Kanban

There are quite a lot of different time-management... Read More

Useful links