The Scrum methodology of agile software development marks a dramatic departure from waterfall management. In fact, Scrum and other agile processes were inspired by its shortcomings. The Scrum methodology emphasizes communication and collaboration, functioning software, and the flexibility to adapt to emerging business realities — all attributes that suffer in the rigidly ordered waterfall paradigm.
There is an interesting article on the Scrum Alliance Website entitled “Negotiating Scrum Through a Waterfall”. Phil Southward, CSM, CSP details the considerations development teams must face in a transition. Is it all or nothing, or can these two development methods coexist? Does it depend upon the project or how willing the organization is willing to embrace new methodologies? http://www.scrumalliance.org/articles/189-negotiating-scrum-through-a-waterfall
Phil’s intent in writing this article is not to pit the two methodologies against each other. Although his preference leans toward agile, he realizes that going full agile is sometimes not possible, particularly in the beginning of the transition. Rather his intent is to explore how Scrum can fit into a waterfall environment when the organization is unable, or unwilling to implement Scrum completely.
If you are interested in this discussion and want to explore the differences of Scrum and Waterfall in more detail – check out this great whitepaper “ Introduction to Agile Software Development” written by Victor Szalvay, CollabNet CTO and CST. It’s an excellent primer for those new to Scrum and agile. Szalvay discusses agile’s origins, its basic concepts, and how it has revolutionized the way software is developed.
In February 2001 seventeen software developers met at a ski resort in Snowbird, Utah to do some skiing while spending time reflecting on what defined the core principles of agile software development methods. Although they had unique experience and expectations, they united with the objective to uncover better ways of developing software and to help others to do the same. In their discussions they found consensus around four main values, which we know now today as the “Agile Manifesto”. Most of us practicing agile have probably memorized these 4 guiding values – but it’s always good to periodically come back to them and reflect on what they mean to us today:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Supplementing the Manifesto, the Twelve Principles further describe what it means to be Agile. As I read through these I thought of how software development has changed since 2001 – especially for enterprises with globally distributed software development teams. As you read through these principles – which ones do you find the most important or the most challenging to adhere to? If you were to rewrite any of the principles which one(s) would it be and what would it be?
1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the
6. The most efficient and effective method of conveying information to and within a development team is face-to-face
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a
constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity–the art of maximizing the amount of work not done–is essential.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
When you think of the word “habit” what do you think of? In the dictionary, there are several distinctly different meanings for “habit” such as:
1. A customary practice or use
2. An acquired behavior pattern regularly followed until it has become almost involuntary
3. An addiction, especially to narcotics
4. A dominant or regular disposition or tendency; prevailing character or quality
We tend to think of “good” habits or “bad” habits. When the behavior we are repeating results in positive circumstances, it is “good”. When it leads to negative results, addictions etc. it is “bad”.
The “daily scrum” is the heartbeat of scrum and is a “good habit”. Tamara Sulaiman, a Certified Scrum Trainer, in her blog post titled “Techniques for Improving Your Daily Scrum; when Your Daily Scrum isn’t Daily” says, “The daily scrum is one of the most valuable practices that any team can use.” The purpose of the daily scrum is to increase the team’s communication and focus by answering 3 questions, “What have I accomplished since the last meeting? What do I plan to do for the next meeting? What impediments are in my way? “ When teams don’t huddle daily, they risk losing the communication, focus and momentum of a team necessary to build the right product with the appropriate quality on time. Oftentimes, teams will have excuses for avoiding the daily scrum or stand up meetings. I’m sure you will be familiar with many of the excuses Tamara talks about. The daily scrum, however, makes teams more successful because it is the smallest, tightest feedback loop built into the Scrum framework. Think of it like brushing your teeth or exercising daily– it’s a good daily habit to make and will pay off in the long haul.
Chances are you’re reading this blog because you use Scrum or agile. But some of you may be here because you want to learn more about Scrum and agile—it’s something you’ve just heard about and now you need to find out what it’s all about. If that’s the case, Joshua Brown’s recent article on the basics of Scrum is a great place to start. It addresses the framework’s basic structure, roles, and rationale for departing from traditional management. It’s short, but it starts at ground zero and builds from there.
If you’re looking for additional materials to help you wrap your head around the basics of Scrum, I’d recommend taking a look at “What Is Scrum? The Five-minute Explanation for Folks Not Yet Practicing It” and “Scrum Mechanics: An Introduction to the Basic Scrum Engine” by Danube’s Katie Playfair. Last year, CST Michael James authored a Scrum Refcard for DZone, which is another great crash course for Scrum newbies. Download it here: http://www.collab.net/sites/default/files/uploads/CollabNet_scrumreferencecard.pdfTags: agile alm, agile scrum methodology, Danube, Scrum Basics, software development
I recently attended a webinar hosted by Scrum company Danube Technologies. The session, called “Definition of Done: An Organizational Perspective,” was led by Dr. Dan Rawsthorne, PhD, one of Danube’s Certified Scrum Trainers. Over the course of an hour, Rawsthorne discussed creating and revising acceptance criteria for various kinds of user stories and how those stories can be used as standardized templates as well as an educational tool within a Scrum organization. In all, it was a great webinar; Rawsthorne clearly speaks from years of experience.
Sound like something you, your team, or your company could benefit from? Check out the entire list of special event webinars offered by Danube. They’re free and always hosted by a Certified Scrum Trainer. There’s a chunk of time at the end reserved for questions and, importantly, there’s no sales pitch. Highly recommended.Tags:
One of the biggest reasons the Scrum framework works so well is through the role of the ScrumMaster, an individual whose time is dedicated to ensuring a team’s ability to deliver on its sprint promises remains unobstructed. The ScrumMaster achieves this in a number of ways, such as by reminding the team to adhere to the Scrum process and keeping the Product Owner informed about how development is going. But, above all, the ScrumMaster is charged with removing impediments that prevent a team from completing the work it has negotiated for a given sprint. This can literally be anything from replacing a broken PC to mediating a disagreement between two developers. If it’s keeping the team from moving forward, it’s the ScrumMaster’s job to eliminate the impediment.
But what about situations when the ScrumMaster is the impediment? As Vikas Hazrati of InfoQ observes, it’s a scenario faced by many Scrum and agile teams, especially offshore installations where cultural hierarchy and traditional communication strategies complicate the process even further. But, as many CSTs have countered, when the ScrumMaster is creating an additional impediment for the team, there’s likely a greater degree of dysfunction lurking elsewhere that is manifesting itself in the ScrumMaster role. Usually, it means that traditional, command-and-control management techniques are still dominating the organization, even if the outward effort is to become more agile or abide by the rules of Scrum. For instance, if the ScrumMaster is committing to work on behalf of the team, acting as a proxy for the Product Owner, or actively managing the team (instead of respecting the ScrumMaster role’s lack of authority), Scrum’s distribution of authority and responsibilities are being broken. And when that happens, Scrum’s potential to deliver value is undermined, as well.
Do you encounter ScrumMasters at your organization who seem to do the opposite of what their role demands? If so, what are the reasons you suspect these ScrumMasters are failing to remove impediments, etc.? Please share your thoughts in the comments section.Tags: Scrum Basics
I always like to point out valuable resources for those who are beginning to use agile and Scrum at their organization. While I’d always recommend that those who are serious about Scrum consider taking a Certified ScrumMaster course with a knowledgeable and experienced Trainer, it’s always good to have supplemental resources like the Refcardz produced by DZone to give developers a helpful cheat sheet on a wide array of topics. Previously, DZone published an introductory guide to Scrum authored by Michael James, one of Danube Technologies’ Certified Scrum Trainers. If you enjoyed that one, they just published a related Refcard on agile adoption and how it improves software quality. You can download it here.Tags: agile adoption, free agile resources, Scrum Basics
Your Scrum team is days away from the end of its sprint when it discovers a significant impediment—one that’s large enough to keep the team from delivering the product increment it’s negotiated for the sprint. So how should the team handle this late-breaking discovery? And what should the Product Owner do about it?
This is the question posed by InfoQ reporter Mark Levison in a recent post titled “When to Extend an Iteration/Sprint.” He aggregates advice from numerous Certified Scrum Trainers and, though there was some discrepancy among their responses, everyone seemed to be on the same page on this issue. Namely, all the CSTs surveyed explained that the team should inform the Product Owner as soon as the problem is discovered and that, under no circumstances, should the sprint be extended.
Perhaps the first point is an obvious one. When a problem arises, if the team informs the Product Owner immediately, it gives him or her more time to access the extent of the problem and formulate a plan of action with as much time remaining before the end of the sprint.
But why should a sprint never be extended?
In Scrum, development activity is organized in repeatable work cycles called sprints or iterations. It’s essential that sprints always be the same length because 1) it allows the development team to establish a rhythm and 2) lets the Product Owner observe the team’s velocity, which is extremely helpful with release forecasting. When a sprint’s length deviates, it undermines the repeatability of the process and erodes the urgency associated with sprint deadlines.
So what does the Product Owner do in such a situation?
First, the Product Owner should take stock of the situation. If work can be reorganized to salvage important sprint goals, it should be. But if the problem is too far-reaching for that to occur, then it should be treated like any other PBI in Scrum. That is, it should be returned to the backlog (where its acceptance criteria might need to be revised) and added to the next sprint. More thoughts on why awarding partial credit within a sprint is potentially harmful, take a look at this blog post by CST Michael James.Tags: Product Owner, Scrum Basics, sprint
I’ve mentioned here before that my team uses Danube Technologies’ ScrumWorks Pro to manage development efforts. Since Danube is a Scrum company, I check their site frequently for new content written by its team of Certified Scrum Trainers, which includes blogs, white papers, and more. When I visited the site yesterday, I was happy to discover that the company has launched a new video blog series, which gives folks a chance to watch a short clip of a CST discussing an issue related to Scrum. The first installment features Jimi Fosdick, who starts the conversation by asking, “What Is Scrum?” So far, the company has only posted one video, but I’m excited to see where this goes. It already looks like a great resource for Scrum users learning the ropes. Check it out here.Tags: Danube, Scrum Basics, video blogs
When organizations first transition to a new way of doing business—an agile method such as Scrum, for instance—the best way to ease the disruption and fear that often accompany such change is to educate your employees. Certainly, presenting the shift transparently will minimize undue anxiety, but, moreover, providing training can be an empowering process that equips employees with the knowledge to excel in their new work environment.
In the case of Scrum, many organizations engage Certified Scrum Trainers to train employees in a public course setting or to deal with specific organizational challenges as an on-site coach. And while there are many training options readily available, they aren’t cheap, nor is their instruction all of the same quality. When my company adopted Scrum, a portion of my team was sent to public ScrumMaster Certification (CSM) training with Danube Technologies. It was a great experience; all of us who attended felt that we’d learned a lot about Scrum and were armed with the kind of actionable knowledge we could take back to workplace and implement.
So what did training look like? I recently encountered a blog post written by William Roberts, the Chief Integration Engineer at Symbian Software Ltd., in which he discusses the CSM course he attended with Danube trainer Michael James. Much of his discussion compares and contrasts Scrum as it was presented in class and as it was actually lived out at his organization. You can take a look here: http://wtr1.wordpress.com/2009/09/04/wondering-what-on-earth-im-doing-here/
Coincidentally, Michael James recently recorded an interview for DZone, in which he discusses the value of Scrum and how Scrum practitioners can refine their skills as team members by observing the traits of highly performing teams in other disciplines. It’s a brief and very engaging video, which you can watch here: http://agile.dzone.com/videos/scrum-adoption-michael-jamesTags: Scrum training, ScrumMaster Certification
Scrum Training Series
- Do you REALLY want to learn Scrum? Try a 3.1-day CSM class with case studies. July 25, 2013
- Scrum based funding model – 20 percent May 9, 2013
- MJは６月と７月の２ヶ月間、日本に滞在する予定です。スクラムのコーチングまたはトレーニングに興味のある方は是非ご連絡ください。 March 14, 2013
- The Next Big Idea March 5, 2013
- On Being Available February 17, 2013