I just was part of a team which completed one of the most complex products at least I had worked in my short career of 5 years as a software developer. Brief background of me would be that i am a “Certified Scrum Master”
We have been using “Agile” for about 2 years now. I had observed scenarios where “Agile” methodology could be a drastic failure leading to the low morale of the team.
Product Owner doesn’t know the product well
Agile empowers a developer, tester or any person involved in the product to contribute towards the architecture and shape the product. But if you have too many people then you certainly tend to over engineer. If a team is over engineering the product then its the product owner’s responsibility to prioritize the ideas. This is possible only if the Product Owner(PO) knows what he/she wants. POs should cultivate the habit of reading related materials,have a constant check on the competitor products, current market trends.
Product Owner being just a mouth piece of client or counterpart
This is the continuation of previous point, there are scenarios where the designated PO is actually nothing but a “facilitator” between the client and the team. By facilitator i mean the PO being the official communicator between the client and team. Human error is possible at every level, so what’s communicated by the team might not be well communicated to the client. Ever heard of “Chinese Whisper” 😉
Scrum master acting as a manager
In Agile scrum master plays a very vital role in facilitating the scrums and the team in accomplishing the committed goals. But in a hierarchical world people often tend to confuse this role to that of the managers. Scrum master is basically a “Serve and Lead” kind of a leader. Scrum master should be the person who actually defends the team from sudden changes in between the sprints and also removes all the road blocks for the team.
Discipline Oriented Team
Its good to have experts on a discipline (Dev, testing, Doc etc) in the team. But it actually makes the team inflexible to other activities, e.g. Dev would have little or no interest to learn testing or even automation. And also it leads to reporting hazard, i.e. testing people reporting the status to the testing Lead and Dev reporting the project status to the Dev Lead and so on. Too many managers and that to from different disciplines would naturally mean “friction” and wastage of time.
Over-Enthusiastic team member/members
According to me an Agile team is like a carriage which is pulled by the ‘n’ no of horses. If one horse is running wildly and the other horses cannot keep up, the carriage is going to break. It’s the role of the scrum master to hold the horse back again he has to “serve and lead”.
I am not trying to generalize things, i found these things commonly lowering the morale of the team. Please feel free to comment against what i have written.