Day 40 — Agile series 2/7: “Scrum”
In my yesterday’s post, we established that Agile is not a methodology, it’s a way of working. In that post I also wrote about the main reason people had a misunderstanding of Agile: confusion between Agile & Scrum, for Scrum is the most popular Agile framework which is characterized with Sprint cycles, daily standup, and other rituals. For today’s post, I’d like to share my knowledge and experience with Scrum, specifically in the following 4 categories:
- Brief intro of Scrum
- Why Scrum routine rituals matter
- Common pitfall in collaborations
- Tips & Tricks
What is Scrum
Introduced in a Harvard Business Review article in 1986 (15 years before Agile), the concept of Scrum is for managing knowledge work. The idea behind is to create routine communication channels for team to learn & grow. Furthermore, the self-organized Scrum team will bring that learning to determine how to best design and develop the product.
Key Characteristics of Scrum
- Co-located small team
- lightweight, iterative and incremental
- self-organized team with daily face-to-face communication
- evidence-based empirical approach to maximize the team’s ability to deliver quickly, to respond to emerging requirements
In order to get people communicate and collaborate, and learn from the past and improve, Scrum consists of the following routine rituals:
- Sprint Planning
- Story Grooming
- Daily Scrum
- Sprint Demo
- Retrospective
“At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behavior accordingly.” — Agile Manifesto Principles
And of course, the key roles of Scrum:
- Product Owner: Similar to product manager but more focus on writing user stories and prioritize stories. Need to be involve in the process on a daily basis.
- Development team: This definition could extend to whoever contributes to the deliverable process, for example, designer, business analyst, QA, etc.
- Scrum Master: The facilitator, who is accountable for removing impediments to the ability of the team to deliver the product goals and deliverables.
Why Scrum Rituals Matter
As briefly mentioned before, the goal of Scrum is to maximize the team’s ability to deliver quickly, to respond to emerging requirements. Through holistic approach of learning with all the routine rituals, the self-organized Scrum team can exchange ideas and come up with improvement plan to ensure they are always evolving the way they work.
“The best architectures, requirements, and designs
emerge from self-organizing teams.” — Agile Manifesto Principles
Also, by conducting these rituals, team members build bond with each other, and ownership of the project, which often results in productivity boost and better quality product.
Things to Avoid
While Scrum is a powerful way for team members to align and commit to a project, there are some typical dependencies and pitfalls:
- Indifferent team: As in any type of self-organized group, the attitude and commitment of team members largely determine the performance of the group. The effectiveness of Scrum team relies on communications and collaborations. If the team mainly consists of egomaniac or members who are aloof about product quality, Scrum won’t bring as much value as other strict /predetermined process like Waterfall.
- Rituals become laundry list: The routine rituals are meant to be a platform for team to communicate & collaborate. However, without proper coaching, the rituals can easily become a laundry list. If the team treated them as a list of checkboxes, then these rituals are simply wasting everyone’s time.
- Overly-relying on process: The idea of Agile is “Individuals and interactions over processes and tools”. If the team is overly-relying on the rituals and not communicating often, then we lose the agility of it.
- False expectation: One of the main reason Scrum becomes popular is because the Sprint cycle gives traditional product manager a false sense of deadline of delivery. That false impression gives them feeling of control and can “report back that we’re making progress”. However, the downside of Scrum is that often time Scrum teams are forced to chase arbitrary milestone deadline, and the quality of product is sacrificed, or create large amount of unnecessary tech debt.
- Too big to maintain: Often time we see when Scope Creep happens or delivery pace can’t meet the target date, teams tend to hire more people to boost the velocity. However, when a Scrum team grows too big, it becomes challenging to self-organize and keep the learning process efficient. Also need to consider the effect of Brook’s law.
To summarize, these common pitfalls all come from two reasons: 1) team members adopt Scrum before understanding what Agile means, and 2) without proper coaching.
Make Scrum Work
- Properly educate team what Agile is about: Too often people are asked to adopt new methodologies without proper training. Although some argue “learn-by-doing” has the best impact, that’s usually only applicable to smaller scale of learning activities. When it comes to new process and mindset, it requires knowledge download, practice, communicate, and coaching. For people who are new to Agile or Scrum, it’s important for them to understand the thinking and philosophy of Agile first, so that we don’t put cart before the horse.
- Get a savvy Scrum Master: It’s one thing to have a Scrum Master, it’s another thing to have a savvy Scrum Master. The fact that Scrum Master’s job is basically coaching, the same logic of hiring a coach can be applied to hiring a Scrum Master. Communication skills, mentoring, strategic thinking, EQ, deep knowledge, personality types, etc.
- Consider Scrum alternatives: In order to make sure the quality of delivery is intact and not influenced by arbitrary deadline, Kanban or Feature Driven Development (FDD) might be better alternatives to help ensure the team have enough time to deliver quality solution.
- Scrum for large & complex project: When it comes to large and complex project, a small Scrum team might not do the job. If the project cannot be slice and dice into a longer time span, bite size delivery, and need multiple team to work together at the same time, there are some existing Scrum alternatives to solve these problems: Large-scale Scrum (LeSS), Scaled agile framework (SAFe), and scrum of scrums.
Do you also have something to share about Scrum?I’d like to learn from you!
ABC. Always be clappin’.