It’s still so common in our industry to drop good practices in a crisis.
When things go well, we indulge in good practices. We pair program, unit test and pretend to be Agile. But when the project is over schedule or the financial results are bad at the end of the year, these practices go out of the window.
This begs a question: why we use them at all?
If a practice is good for us, shouldn’t we still do it in a crisis? Do we stop brushing our teeth when we have a cavity?
On the other hand, if a practice is not beneficial, why waste time for it in normal circumstances? For fun? But do we really invent, learn and plow through all these practices day to day just for fun?
All craftsmanship and Agile practices are designed with business benefits in mind. Pair programming and unit tests lower the overall cost of a product by reducing maintenance and bug fixing. The iterative approach makes us more competitive by shortening time-to-market and minimizing feature bloat. And so on.
So why we drop these practices when we have our backs against the wall? Do we believe that being less competitive will help us recover from a bad financial year? Do we believe that a higher maintenance cost will help us get a late project back on track?
We act as if good practices were bonuses similar to free snacks at the office, not essential tools to save or earn money. And it’s not only a management issue. True, management puts a lot of pressure on developers in a time of crisis – but we are quick to comply. It makes me wonder: if we can’t stand for our values, if we don’t fight for them, do WE really believe in them?
Maybe we should be more honest with ourselves and stop pretending these practices have value?
It’s a time of the End of Year summaries, so it’s a good moment to evaluate your practices.
Which ones would you support even in a crisis? Which ones probably not? Why? Why don’t your management believe in these practices? Why don’t YOU?
Maybe you should do them differently? Or shouldn’t do them at all?
Don’t be a part of a cargo cult. Don’t blindly follow practices because they are popular or because a Scrum Master says so. Consider if a practice adds any value to your process – and if it doesn’t, be ruthless. But when you’re convinced that it does, be consistent. No matter if the times are hard or if there’s a push against it from the management. YOU are a professional. YOU know how to best do your job.
Over to you
I’d love to hear what do you think and how does it work in your company. Don’t hesitate to drop me a comment!