Lately, I’ve been thinking a lot about standardization.
Ever since I got started with this whole agile thing, one message always seemed to stick:
Keep your process as lightweight as possible so you’re flexible enough to adapt.
After exploring the characteristics of lean manufacturing, I noticed that standardization is one of the key pillars.
Does this mean that they are not flexible? That they can’t adapt fast to changes?
No it doesn’t.
Standardization is used to create a shared framework of understanding about ‘the way work is done over here’. In addition, lean enterprises constantly change their standards.
After each improvement activity, the standards get updated so that they always describe the current reality.
Do we need standardization in software development?
Sure we do! Do we dare pretend to be better than the factory folks, which have multiple times the industry experience than we have in software development?
I still believe in lightweight processes though, so how can we achieve this without having to maintain tons of papers and manuals?
Well, for instance by describing our current process on a flip chart and hanging it on the wall.
By using a wiki to describe the more detailed stuff.
We can use visual aids to remind everyone of the current standards and make it easy for all to find the details.
Which could be the standards of a software development team? For instance these could be some:
Every code has to be submitted to our code repository.
- When leaving for home, all your code is committed.
- New projects and spikes are committed as soon as possible.
Retrospective rules
- GSM’s are put to silent.
- No laptops.
- We respect everyone’s view, even when it’s different from our own.
Planning
- User stories are estimated in story points by the entire team.
- User stories are never bigger than 8 story points.
- User stories must have acceptance tests.
A team can take this as far as they wish. Even to the code level.
Fact is that standards need to be alive and constantly change for the better.
For me this changes my perception of the word standardization, which I used to associate with the words bureaucracy, complexity, slow and paperwork.
In my new perception I associate it with agreement, understanding, professionalism and involvement.
(image by Latente)


Pingback: Tweets that mention Standardization in agile teams « Nick Oostvogels’s Weblog -- Topsy.com