Get in loser, we’re going scrumming!
If you’ve never worked on a dev team or in a structured corporate environment before, you likely don’t really know what Scrum is and the prospect of diving into it can feel somewhat daunting. I was recently lucky enough to attend a webinar on the basics hosted by Dan Eberle (Agile Coach, New York Times) and get a comprehensive introduction to Scrum — what it is, why you should know it, and how it improves efficiency and quality of your work.
Scrum is a simple framework created to facilitate a more agile workflow across teams, including large cross functional teams that can struggle working within the constraints of a linear workflow. The details are up to the individual teams but there are overarching mindsets and practices that apply to all implementations of Scrum. If you want to nerd out a bit, read about the entire history of Scrum here, we’ll continue on our journey when you return. The rest of the class, follow me.
The old way linear phases of development are inflexible, locked into choices made upfront, locked into a (potentially unrealistic) timeline, and make team communications difficult. It’s a significantly slower and less dynamic production process. The Scrum approach can somewhat be thought of as the Avengers team, with every team member being assigned to specific tasks and timelines. Instead of presenting a complete product after months or even years of development, you’ll sprint to MVP, present a slice of product to the client, receive feedback, can work on improving the product, and review internally. Iterative development leads to improved function and value on a contracted timeline, significantly improving productivity. You get small pieces of the product to your client sooner and operate within a tight feedback loop.
Because visualizations help, which is a big part of the premise of Scrum, you can think of it as a building, held up by pillars. The pillars are transparency (through visualization), inspection, and adaptation. The main idea is that any member of the team always has access to the progress being made, visualized on a scrum board, which can be a real board or a virtual one, your team can choose from a variety of great software tools and design the exact process to fit its needs. The concept is more important than the details of the execution.
To get a team to work together most productively, you need to agree on some values, much like in a healthy relationship. Ideally you are looking for your team to be open, courageous, respectful, committed, and focused. Those values must be reciprocated and rewarded, nobody chooses honesty when it gets them screamed at or commitment when it’s a one-way street.
Once you get started on a project, you divide accountabilities. The product owner, that’s your client, needs to be accountable for the what and why, a general outline and purpose of the product. The developer is accountable for the how, laying out and following through on strategies for how to best achieve the what, and the scrum master serves in role that’s somewhere between coach and counselor to the team, facilitating teamwork and productivity. Events will include sprint planning, daily scrum, sprint reviews, and retrospectives where you’ll gets chance as a team to reevaluate and improve your approach as needed, collaboratively not hierarchical. At any point in the process you’re able to pivot if needed, avoid big failures, and build on successes.
On the outset, you’ll want to really nail down what the client is after, what the real value of the product is they’re after, and think of a variety of approaches to meet those goals. User stories and value propositions go a long way in refining the acceptance criteria for any given product. You’ll often meet with clients who think they want a very specific product but when you really drill down you’ll realize that some creative thinking can open up completely new avenues that may results in a far superior final result. People can’t necessarily imagine what doesn’t exist yet, especially when they lack the technical knowledge that makes those different approaches a real possibility. People in horse-drawn carriages didn’t ask for the invention of a car, but they sure were excited about getting places faster, cheaper, and more comfortably.
Clients don’t see or care how hard you work, they only care about the quality of what you are able to deliver, how time efficient you are, and by extension how much it will cost them. Scrum improves your performance on all fronts.
Learn to trust the team, trust the process, and always be open to learn and adapt. You will minimize risk, maximize productivity, and keep up morale.