I was asked this question in a class recently. (When should I not use Scrum?) I gave an answer, but I want to give a better answer.
To be fair, it is a hard question. And a hard question for me.
My personal answer, which I gave, is that I only have been doing projects for 20+ years in lots of environments. I cannot think of a single project (product, effort) that I would not want to use lean-agile-scrum on (ie, use Scrum as the core).
Did I make projects work with waterfall, and have some success? Sure. And I feel sure that we could have had much more success with Scrum.
Are there other types of work than what I have done? Of course!
So, when would I not want to do Scrum?
I gave two examples.
1. If two people on the 7 person Team say “I hate Scrum”, then I probably would not do Scrum with that Team. Almost surely they will make it fail. With that Team. (I might fire myself, though, and get on another Team.)
2. If they give you an impossible project (say 18 months of work that must be done in 12 months), and if you don’t succeed they will fire you — then, I recommend waterfall.
Management won’t really know how the (waterfall) project is doing. Just say: Green. You will have plenty of time to work on your resume, post it on Monster.com (or CareerBuilder), have some interviews, and get a new job. And it is important that you protect yourself and your family from these jerks (or this situation).
Some people laugh when I describe that situation, but you do seriously have to protect yourself. And, as you are leaving, wave goodbye and tell them the project is RED.
But are there other cases?
A. If the Team is doing exactly the same project again, and you can accurately predict that no other significant change would happen, then maybe consider waterfall.
B. If you have a completely dysfunctional Team, …well, I wouldn’t do Scrum or Waterfall or anything. Get yourself off the Team!
C. If you can’t get anything like a real Team. Not stable, no Team coherence….then maybe I don’t want to use Scrum. But I really think that knowledge creation in a Team is so key to all our work, so I want to go to ‘management’ and say ‘You all are not committed to getting this done, so let’s delay the project until you are committed and we can get a real Team.’
D. No one on the Team is 50% dedicated to the Team. Then not Scrum. But then, again, probably nothing else either.
E. People allocated 50%, but clearly no prospect of moving the allocation above 50%. Umm, makes me question using Scrum. Or even doing the work. Give us work where you do want to allocate people 100%.
F. Skill sets that are not ‘overlapping’ (eg, A-people can not help with the work of B-people). And, in the time line, we need to do A-work early, and B-work later. In light doses, we have this scenario to some degree every time. In small doses. But in this specific case, it is extreme. In this case, there is no use in a cross-functional team.
I suppose one might use Scrum and a (small) Scrum Team to get the A work done, and then another Scrum Team to do the B-work.
But lots of questions. One: if this is such a big impediment, why can’t we fix it?
You get some ideas.
Ultimately, it depends on common sense (as Ken Schwaber says).
And then he says: And common sense is very uncommon.
More later on other situations, and some ideas on the best conditions to start Scrum.