The post that follows is based on a real life conversation that I had with a friend of mine, who works for a big Systems Integrator. His company, like all other companies today, has the buzz word “Agile” spread all over their website, but the ground reality is different, in fact very different. It shows the huge Gap which is present between what is said about Agile and how it is understood at these so called big companies.
They have scores if not hundreds of projects going along at the same time. Some of the teams follow agile in the real sense and others do not.
What follows is the hard reality that agile teams have to eventually face in an organization that is either new to Agile or embraces agile only for marketing material.
The story starts like this …
You have been feeling great. Recently, you met a lot of people in the software community who knew little about Agile and you felt good telling them on how you are practicing Agile on your new project. You tell them about the wonders it has done to the business value delivered to the client and how your work life balance has improved since you started following Agile methodologies religiously. How you have felt so committed to the project that you are working on a that you have a great team of professionals.
So far so good.
The climax in the story comes on that dreaded Friday evening when the less committed people of the organization, which includes all of your team, are given the pink slip, and of course you are one of them!
You wonder, Why us, Why me, How the hell am I not committed? I thought that after years of developing software the wrong way this is the first time that you have done the things right, then why? The reason is that somehow your organization believes that you are not committed. Neither to the organization nor your work.
Does Agile help you show your commitment?
How did they decide that you are not committed? This is how …
1. You work only 8 hours a day whereas the committed people work between 12-16 hours a day. The CEO can find them on their desks late in the evening, still working hard. Obviously the people who stay late and work weekends are more committed than the people who leave office after official office hours and play tennis over the weekend.
2. You seem to be wasting another persons time or your time all the time. Whenever you have been noticed by the senior management, either there is someone looking into your screen or you are at someone else’ desk looking into his screen.
3. You do not have a thick bunch of functional design document lying on your table. Your table seems to have some stupid post it notes here and there and it seems that you have been wasting a lot of time rather than writing good specs and getting it reviewed by the Ivory tower architect in the company.
4. You seem to be on the lookout for passing on the blame to the customer for your incompetency. You want to have the customer involved with your work every now and then. You want to show him what you have developed thus wasting the valuable time of the customer. You are not good at making assumptions and moving ahead, instead you do not seem to work on that use case where you do not have enough clarity.
5. You do not seem to know who wrote which part of the code. You always seem to defend the non committed people in your team by saying that the code is owned by everyone on the team. So all in all, no one points fingers towards you in your team and you do not point fingers on anyone else. You do not seem to know whom to blame when a certain functionality on the system is not working well.
6. You and the team that you work on do not seem to introduce heavy technologies into your project. It seems that you are not interested in learning new things. You always seem to give the argument that you do not need a cannon to kill a fly.
7. You do not seem to have anyone on the team who specializes in one thing. Everyone seems to be working on everything in the system. We do not understand whom to contact for a particular piece of functionality. There is no specialization, no proper division of work which takes place. We do not understand how to carry out appraisals for your team!
8. Every morning your team wastes everyones precious time by doing a stand up. Other teams are busy working in the morning hours when you guys are wasting time standing around each other, as if in a party.
Given all these factors the organization comes to the conclusion that you have not been a committed member of the team. Now, obviously when the company feels that it needs to downsize then who would it fire, the non committed people of course!
So do you follow Agile? Be cautious if you do and if you are working in an organization which does not understand what Agile is. All the best!