Thursday, October 3, 2013

Agile: The good, the bad and the ugly

Today, businesses are changing and their systems and services must change quickly in order for them to stay competitive. The traditional Waterfall development methodology demanded that all requirements, design, and system testing be completed before our customers could interact with the system. It has large impacts on the solution delivery schedule and is costly when business changes may be required throughout the project life cycle.


A new methodology has selected and is implementing called Agile Scrum by IT. This methodology is based on the interactive and incremental development approach in short durations. It focuses on goals that result in demonstrable product.


Here are some benefits to the Agile methodology:
  • Provide working software code that is reviewed frequently (~ 2 weeks) by product owner.
  • Work burn down and project velocity by using daily standing up to provide high visibility of project progress and issues.
  • Improve customer satisfaction by rapid delivery of useful software and continuous collaboration between the product owners and the development team.
There are three essential roles in any Scrum project: Product Owner, Scrum Master, and Team

Product Owner is accountable for product success, responsible for prioritizing product features, maintains the Product Backlog, and ensures team working on highest valued features, etc.

The Scrum Master is a facilitator for the team and product owner not a manager, removes obstacles, maintains the Sprint Burndown Chart, facilitates Sprint Retrospective at the end of a Sprint, etc. Rather than manage the team, the Scrum Master works to assist both the team and product owner in the certain ways.

Scrum Team is cross-functional and consists of 5-9 people, defines tasks and assignments, is self-organizing, maintains the Sprint Backlog, etc.

User Stories: A very high definition of what the customer wants the system to do. Each user story is captured as a separate item on the Product Backlog.

Story Points: A simple way to initially estimate level of effort expected to develop a user story. Story points are a relative measure of feature difficulty, complexity, and risk.

Velocity: The rate at which a team converts items to “DONE” in a single Sprint – usually calculated in Story Points.

Above are just briefly some important terminologies in Agile Scrum that you must know to understand how Agile Scrum works.

Pic(AgileZen): Task board


However, there are a few biggest challenges in Scrum are teams not self-organizing and Scrum Master managing and not leading. From my experience, I see that most of Scrum Masters try to managing the team instead. For example, in daily scrum meeting, team members should report each other, not Scrum Master. But it doesn’t work that way. The Scrum Masters makes us feel like they are managers, and everyone try to become a Scrum Master. Other thing is that, team members don’t have a big picture of the whole project. With Agile, team members should also have meetings with Product Owners regularly (maybe weekly) to understand about the requirements, and have questions related to the requirements if they are not clear enough. Here, we just hear from the Scrum Master small parts by parts. Sometimes the Scrum Master doesn’t know all the existing functionality, that cause the project moves slowly and behind schedule.

The worst case is that when the Scrum Master or the tech lead left for another company, team members are clueless.

 Agile is good if people apply it in a correct way only!

No comments:

Post a Comment