Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

What was the single point of failure encountered when your company decided to replace the current processes with SCRUM?

Can you give me some examples of things that have gone really wrong when a company tried to introduce SCRUM? I'd like to hear your anecdotes, something you experienced yourself, the big fail that you saw coming but couldn't prevent.

I hear a lot of concern about missing documentation on decisions about the implementation details, and about story sizes and detail level of the stories.

share|improve this question
add comment

8 Answers 8

up vote 13 down vote accepted

The biggest problem is misunderstanding. Common failures are:

  • Only a team is doing Scrum but rest of the company (including sales, management, HR) still think in the old way. Examples:

    Continuous interaction with customer and customer's involvement is very important.

    HR has to understand that team performance is more important then performance of individuals. KPI must change to that.

    Feature definition is continuous process. Project definition will evolve during development by customer feedback. Because of that project deadline, required budget or result feature set can change (after approval by stakeholder).

    Change is part of the process.

    Estimation is continuous process you cannot say at the beginning of the project that you will be done with all features (many of them unknown at the beginning) within 5 months.

    Team is empowered to make decisions. Team makes commitment to amount of features delivered during next sprint. This cannot be demanded or commanded.

    Sprint is safe zone for the team. Once the team commits to some defined user stories the commitment cannot be modified outside of the team.

    Part of the old organization structure doesn't make sense when moving to Scrum. Scrum defines three roles: Scrum master, Product owner, team. There are other roles but these three are usually enough for delivering the application. The common non sense is having Scrum master, Team leader, product owner and one or more Project managers. Project manager and team leader are redundant roles in Scrum.

  • Guy assigned Scrum master role is not doing Scrum master. Scrum master solves impediments. Anything that disturb team is impediment which must be solved ASAP. The most common failure is assigning this role to developer without any previous experience with Scrum. This role partially replaces common project manager but Scrum master is without power over team and Scrum master doesn't demand any features to be implemented. Scrum master guards the team even against Product owner with unrealizable requirements.

  • Guy assigned Product owner role is not doing Product owner. Product owner has financial responsibility for the product. It is very specific and a key role to success. The role has something in common with analytic, project manager and product manager. Product owner collects and maintain requirements (usually in form of user stories). His responsibility is providing information to the team and defining priority of user stories. He should be on site with the team because cooperation between PO and the team is continuous.
  • Changing process name to Scrum but leaving most of the process as it was in the old way. The most common scenario is that you will change from waterfall to Scrum and the most significant change is that you do not do analysis and documentation any more and you say that you Scrum.
  • Requirements / user stories are missing definition of done - very common. If you don't have definition of done (acceptance criteria) you cannot make any assumption about complexity of user story during sprint planning. If you don't have them during sprint you cannot mark user story as completed because you cannot validate it.
  • Quality is considered as optional. Quality in Scrum is first class citizen. We can say that each acceptance criteria should be covered by automated end-to-end test. Once you start reducing quality and adding untested features you are losing control over the product because features considered as done can stop working any time due to regression.
  • Result of the sprint should be shippable increment (= working and tested) to the product.

Edit:

I'm adding important note. When using agile approach the main point is delivering the highest amount of business value to the customer as fast as possible. But the customer (represented by Product Owner) describes what is the business value. So it is not generally true that you don't have analysis or documentation when using Scrum. If customer requests analysis or documentation and mark it as business value (for example because of large scale or long term project which should be improved in next several years) you will create it as well. The most basic approach is including analysis and documentation in acceptance criteria for user stories. Analysis in such case is documented communication with the product owner in some standardized way.

share|improve this answer
    
I like your focus on continuous interaction and communication. Some of the concerns I hear are about missing details in stories or undocumented decisions (even about technical details) and people want to protect against the effects of wrong decision (a very defensive point of view). –  cringe May 6 '11 at 11:18
1  
The documentation and analysis is replaced with continuous interaction and communication. You can't remove one and don't introduce the second - it will exactly cause missing details and wrong decisions. –  Ladislav Mrnka May 6 '11 at 11:20
    
The most basic approach is including analysis and documentation in acceptance criteria for user stories. That is my initial reaction too. If the story has acceptance criteria, that's the best documentation you can have. But if the team decides to create some additional documentations (think of READMEs in the trunk or a wiki with useful information), then I don't see a problem. I think people fear that SCRUM = nothing is ever written down. –  cringe May 7 '11 at 6:36
add comment

The biggest problem I've noticed in over 10 years of xp and scrum, is when teams who don't quite "get" agile yet, decide to "be flexible about agile" and start customizing it, dropping certain parts, etc, without a clear understanding of what each part does and why it's there.

I've seen teams be more successful with scrum when they do things by the book at first, than the teams who change what they don't "get" yet.

That's when you get things like "first sprint, we'll do all the requirements. second sprint all the design, etc, etc, last sprint all the testing". Also known as waterfall. Or even simple things like "let's sit anyway, what's with this standup business?".

Something to do with Shuhari (http://c2.com/cgi/wiki?ShuHaRi).

share|improve this answer
add comment

Biggest problem is always buy-in. If any team, or key individuals haven't bought in (project management, QA, development, etc) then failure is almost assured.

Another related problem is actually making everyone involved aware of what scrum actual is and what is not.

I've seen environments where project management has actually taken this as a ticket to come directly to developers with changes and expect it to get done tomorrow, since we are using the great new process. Anyone that has been in this situation or in other failed attempts at implementing Scrum and have a bitter taste in their mouths. These people sometimes will try to de-rail the project as well.

Another problem I've seen is stand up meetings. You will always get the guy that wants to sit down during a stand meeting.... "I've got a bad back" or whatever. It always seems to be the same guy that has no idea what the objective is behind the standup, and will not shut up about politics or what he did that weekend. Stand up meetings, I have found, are the key to effective communication. It is important not to let anyone poison these meetings.

share|improve this answer
1  
Just tell Bad Back Boy to stand while talking. If he still complains, make an announcement that there are doughnuts in the kitchen. –  JeffO May 5 '11 at 21:15
    
management has actually taken this as a ticket to come directly to developers That's a good example of a situation where the SCRUM process is not understood, right? That the team can not accept new stories in the middle of a sprint. –  cringe May 6 '11 at 10:10
    
@cringe, yes ... exactly –  aceinthehole May 6 '11 at 11:19
2  
does it really matter is someone sits instead of stands? Seriously? This is why agile methods don't work - people adhere top more rules than they did in the old process-laden methods! –  gbjbaanb May 6 '11 at 12:59
1  
@gbjbaanb Ultimately it doesn't matter. Do you know what standing prevents though? And if so, how do you try to prevent it? And is it working for you? –  Julio May 6 '11 at 15:36
show 2 more comments

Trying to do all the analysis for the code we were developing in the same sprint we were actually coding it.

share|improve this answer
    
And you needed analysis because the story was without the needed details? Or because the code wasn't clear enough and/or not documented with tests? –  cringe May 5 '11 at 19:26
1  
Effectively the stories were incredibly high level to the point where the product owner (my terminology is failing me here) didn't even know what they wanted. –  Kevin D May 5 '11 at 19:33
    
We had this one too. Since then we've done most of the analysis parts before the sprint starts. –  Carra May 6 '11 at 8:35
add comment

We moved to scrum a little while ago, and frankly the management running it treated each scrum as a 2-week waterfall process. There was such an adherence to the rules of scrum that is became a process in itself!

This is the problem I find, all agile methodologies should be about flexibility to work effectively the way that works for you. Not the way that is proscribed by the processes. For example, we had 2 week scrums, and a team said they felt 2 weeks wasn't enough to do good work (not with the downtime caused by the end of scrum demo and the initial requirements review) so they wanted to go to 3 week. Shock horror! Management refused because they'd decided 2 weeks per scrum was ideal and that was now documented in the quality procedures.

Scrum is the least agile of the agile methods, which is perhaps why its been so popular - its easier to sell to the old guard. you are supposed to remove stuff you don't like, but I don't think that happens. My advice is to go with a more flexible, less rules based one and add rules that you need instead. I prefer Crystal because of this.

Ultimately, just remember the half-arsed agile manifesto.

share|improve this answer
1  
+1 for "scrum as a 2-week waterfall process". Unfortuantely that seems to be really common –  DPD May 6 '11 at 13:35
add comment

The biggest problem is that also your client needs to accept the SCRUM process and become agile as well. Most of clients want to hear this at the beginning of the project:

  • How much it will cost
  • How it will look like
  • When it will be done

It sounds reasonable, but it's absolutely incompatible with agile. You need to explain to your client why is agile good for him instead of waterfall.

share|improve this answer
1  
This is absolutely incompatible with any development methodology. You can never say this at the beginning. You must do analysis + some part of design to be able to specify this accurately but analysis + design can take half of the project time / budget and even after that you can fail because analysis is not something the client fully understands. –  Ladislav Mrnka May 6 '11 at 13:22
    
But it's one of the big problems when you switch to SCRUM too. People are so used to this questions and answers that most of them don't realize anymore that most of the time the answers are wrong in the end. If the customer comes in with a rough vision of the product, he will ask how much will it cost? and they expect a detailed answer right then. My reply to this concern is always "if you exactly know what you want in the end, you don't need agile. Just code it down." But we all know that is not going to happen. ;-) –  cringe May 7 '11 at 6:43
add comment

We had two large issues on my first go at SCRUM:

1) We didn't really have a product owner. Our boss had to play the role because no one who should have been product owner would agree to do so. This kind of put a crimp in things because he didn't always actually know the answers.

2) We were bad at accounting for outside components. Our first few sprints involved getting full automated testing up and running, and we repeatedly ran into trouble automating the simulators we were using. Somehow we never got any better at realizing that this was going to happen.

share|improve this answer
    
+1 for "not having a product owner". We ran into the same problem - sometimes it's unavoidable, but you should acknowledge it and plan accordingly. –  sleske May 8 '11 at 16:18
add comment

The major problem I face in my project is that requirement gathering takes place after we haave estimated for the next sprint. We estimate based on the acceptance criteria. During the requirement gathering we find that the fine tuned AC is much larger so the task initaly estimated for 8 hours is now really 24 hours! So can I change my sprint backlog and revise the estimates adn reduce my stories? No sir! Agile requries that you cannot change the sprint backlog! Thats what my TL says. So shouldnt I also be coding as per the original acceptance criteria for which I had estimated the time as 8 hours! God! No! You cant do that! That wouldn't be Agile, would it!

share|improve this answer
    
How did you fix this? Or was it the reason that failed the whole introduction of SCRUM? I thought if the team gets more experience the sprint planning and estimate poker will reveal the missing requirements early on and the estimates will get better and better. –  cringe May 7 '11 at 6:39
    
we havent fixed it yet. And we are still using SCRUM. The only difference is that if we say that the additional work is too much and the TL agrees, we can keep the story aside. We end up putting in more hours. –  DPD May 7 '11 at 8:17
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.