I was listening to Eminem’s ‘Real Slim Shady’ when
the lines ‘Please Stand Up, Please Stand Up’ suddenly brought the image of
Agile’s Daily Stand Up Meeting before my eyes. Though, the song and Agile methodology
have no connection I wonder why I visualized the many daily stand up meetings I
have attended. Probably, because I never have liked these meetings and the
song’s lyrics just triggered my brain to make an odd neural connection.
Anyways, now when the memories have cropped up I
would like to explain the reasons for my beef with this agile practice. Though,
Agile software development is a very positive initiative in making software
engineering more efficient and evolutionary, it is far from perfect. Daily
stand up meetings being one of the good intentioned processes gone bad. The
purpose of these meetings is to provide an informal platform to briefly discuss
ones progress and to bring up their issues. This helps the team get an idea of where
the project is headed and steps they need to take to tackle the obstacles.
However, with time Agile practitioners forget the basics of this meeting and
the following ill practices emerge.
My issues with daily stand up meetings-
- It allows micromanagement. Managers with a dictator’s mindset love it, especially old fellas from the software industry who have worked most of their life on traditional models.
- Though by rule there is no leader or manager in daily standup meeting, usually the scrum master behaves like a manager or the team members start treating him/her as one.
- It becomes more of a status report meeting.
- With time people start telling lies as they don't want to show that they haven't done anything on a particular day. Occasionally people get mental blocks, especially the developers and probably they have spent the last two days researching and strategizing their coding approach. However, often the higher management are inconsiderate to these issues and the developer tells lies that he/she has completed the XYZ module. This leads to wrong estimation of project matrices which might only be discovered a day or two before the actual code delivery and have proven to be catastrophic.
- It saps out energy from people.
- It is very difficult to conduct if teams are located at different geographical locations having a large time difference.
PS: The above issues were the ones faced by me, maybe you faced some or a
few or some other issues or you could be lucky to have faced none. Do mention
your experience with daily standup meetings in the comments.
Probable Solutions-
- Most of the problems I faced were more due to bad implementation of the idea and not because the idea was bad.
- Development teams and also top management should have regular Agile refresher sessions so that they can gauge their compliance with Agile practices.
- It should be made sure that micromanagement doesn’t occur in the guise of daily stand up meetings. Micromanagement is often the trait of a weak manager/leader having little to no confidence in his/her team.
- The management should also understand that people are people and not ‘resources’ that can give constant performance. They should be aware that technical people are like artistic people who sometimes get a mental block or due to the love of their work like to give a perfect solution. Until these one or two days of thinking doesn’t affect the delivery target, the management should be fine with it. In fact they should explicitly make this clear that mentioning ‘no actual code written or test carried out’ for a day or two in the standup meetings won’t affect their KRAs and appraisals. This show of confidence in the team will help in accurate project estimations and will also boost the morale of the team.
- Agile should really be agile. Instead of fixing the format of these meetings as ‘daily stand up meetings’ teams should be flexible about how and how many times during a week these meetings should be conducted. Instead of standup meetings maybe teams could discuss over snacks or maybe lunch. If the team is small enough the whole team can go out for fresh air, take a brief stroll and discuss the issues and stuff. Instead of ‘daily’ meetings maybe the team could meet three days in a week or maybe more than once in a day depending on their needs.
- For teams separated by a large time difference meeting even through webcam etc. can be challenging. Two solutions could be tried –
- Since the meeting is very short, maybe the team members can be cajoled into attending the meeting from their homes OR
- A team member from both locations can act as ‘point of contact’ for their teams and these two people can first have discussion with their own teams and then they two can share the meeting points with each other. This person need not do this permanently but this position should be rotational and all members (especially seniors) should get a chance to be in this position.
I think Agile is like democracy and Waterfall
rigid like dictatorship. Inherently Agile
has more chances of success than waterfall but nowadays it is becoming like a
corrupt democracy.
---M A Imtiaz, Sophos-R