In their article How Process Enterprises Really Work Michael Hammer and Steven Stanton state that it is
‘..impossible to superimpose an integrated process on a fragmented organization’.
This theme is also touched upon by Jeff Sutherland in his talk ‘Scrum and Not-Scrum‘. Jeff Sutherland is an expert on agile software development.
Interviewer: How does Nokia tell if a team is doing Scrum?
Jeff Sutherland: Do you have fixed iterations – that start at a specified time and that ends at a fixed time? And that iteration has got to be less than six weeks (this is not Scrum, but this is just their policy). It’s not iterative unless it’s of a time box that’s less than six weeks. If people answer yes to that, they go to the next step.
Well, at the end of the iteration, do you have working software? And this tends to rule out a lot of people, because if you don’t have working software you’re not doing iterative development.
And then they say, well, at the beginning you want to be able to start in an agile way. Do you have to have a complete specification in complete detail before you can start your iteration? If you have to have that, that’s not incremental development.
And then, finally, they say, it’s important for working software at the end to have testing as part of the increment. So, do you have testing at the middle of the development? That tends to rule out about half of the scrum teams, before they even begin to go on to scrum issues.
Interviewer: Why does it matter?
Jeff Sutherland: It matters because the whole point of agile development is that there are several interaction points. You want to have everybody in the process working together. You want the people responsible for formulating the product, the people that are building the product, the people that are testing the product, and the users who are going to use the product. You want them all working together.
If you separate things into, these people here they build the spec, and they hand over a document to the people who are going to build it. And they build it and hand over software to the testers. And then the testers hand it over to the customer. The customer says: ‘it’s not what we want’. So, you cycle back to the beginning and you go through it again. And if you go through this three times, they cancel the project. That’s why there are so many projects killed all aver the world.
So, you have to be doing everything at once.
Doing everything at once is possible if the organization is not fragmented there where the team dependencies lay. Fragmentation of the organization is inevitable, but it need not harm the operation. Just be careful where to put your partitioning.