A little while ago I was talking with a Product Owner at a company just beginning its Scrum adventure. The topic of discussion was the Sprint burndown chart, its data points, and how to interpret the trend line indicated by those data points. The fact that the Sprint burndown is designed to serve as a planning tool for the team was not an issue. The Product Owner's concern was to ensure that the information radiated was interpreted appropriately by others in the organization, particularly those who might consider an upward spike in the burndown to be a sign that the team spent the day water skiing instead of working.
A teaching moment ensued and after a brief conversation and help from a colleague of the Product Owner, the purpose of the burndown was clear and agreement reached on using task hours remaining, among the alternatives I offered up, as the data point collected.
The discussion then turned to why one would use a burndown chart instead of tracking hours expended by the team in pursuit of the Sprint goal. Again, a teaching moment about the purpose of the chart, and then the insightful comment from the Product Owner that tracking hours expended would be plotted on the "Burnout Chart."
All joking aside, this strikes me as an interesting idea. Perhaps teams that are having difficulty working at a sustainable pace should use a Burnout Chart internally as a way of monitoring collective adherence to this vital agile principle. Perhaps teams in that situation could use the Burnout Chart to raise unsustainable pace as an organizational impediment.
Next time you notice that your team is showing signs of exhaustion, perhaps a Burnout Chart would be a useful way of determining - and radiating - the cause.
All for now....
...-.-
Thursday, September 15, 2011
Friday, August 26, 2011
Why You Need an Outside Coach
As a coach called into an organization to do something very specific, say, help get teams over the hump on continuous deployment or TDD or ATDD or something like that, a conversation with the sponsor frequently goes something like this:
Sponsor: "We've been doing agile for (some number of) years now and we're extremely proud of how well we're doing."
Coach: "That's great! I'd love to learn from your experience while I'm here."
Sponsor: "Absolutely!"
A few days later, after working with the teams on that specific technical practice, it becomes painfully apparent that things are not as advertised:
Okay, I can already hear the objections. Yes, I make my living providing agile coaching services. However, I wouldn't be in this line of work if I didn't believe fervently in both agile values and principles and the benefits of coaching.
An outside coach has some advantages that are very difficult to obtain internally. First off, an outside coach is a disinterested observer (disinterested does not mean "uninterested" - it means having no vested interest in any particular outcome, an honest broker) and can therefore recommend things that people tied into the organization would be unwilling or unable to broach. An accomplished outside coach also brings wide-ranging experience to the table. After a few years of active coaching, most of us have seen the gamut of issues and can leverage that experience to help organizations overcome most any impediment, even ones we've never seen before.
Finally, an outside coach can offer that breath of clear air, the source of vital cross-pollination that helps freshen up your agile practice, providing the boost your company needs to overcome organizational gravity or get off the current plateau and move forward.
So freshen up your approach - call a coach!
All for now....
...-.-
Sponsor: "We've been doing agile for (some number of)
Coach: "That's great! I'd love to learn from your experience while I'm here."
Sponsor: "Absolutely!"
A few days later, after working with the teams on that specific technical practice, it becomes painfully apparent that things are not as advertised:
- Teams have abandoned the Sprint Retrospective
- Teams consistently fail to deliver stories during the Sprint, comfortably allowing them to slide into the next Sprint
- Sprint Reviews have become stale and self-congratulatory because they are conducted inside the team fishbowl, without stakeholders or customers present
- Sprint planning meetings are chaotic and painful because teams are not engaging in backlog grooming or "Story Time" meetings to get ready for the next Sprint
- Sprint planning meetings are artificially abbreviated so as not to "waste" time, leading to failure to understand stories adequately and failure to deliver those stories during the Sprint
- Teams work in personal silos, with hand-offs and queuing delays holding up story completion
- Teams prefer information refrigerators to information radiators because transparency is too hard/scary/threatening
Okay, I can already hear the objections. Yes, I make my living providing agile coaching services. However, I wouldn't be in this line of work if I didn't believe fervently in both agile values and principles and the benefits of coaching.
An outside coach has some advantages that are very difficult to obtain internally. First off, an outside coach is a disinterested observer (disinterested does not mean "uninterested" - it means having no vested interest in any particular outcome, an honest broker) and can therefore recommend things that people tied into the organization would be unwilling or unable to broach. An accomplished outside coach also brings wide-ranging experience to the table. After a few years of active coaching, most of us have seen the gamut of issues and can leverage that experience to help organizations overcome most any impediment, even ones we've never seen before.
Finally, an outside coach can offer that breath of clear air, the source of vital cross-pollination that helps freshen up your agile practice, providing the boost your company needs to overcome organizational gravity or get off the current plateau and move forward.
So freshen up your approach - call a coach!
All for now....
...-.-
Wednesday, August 24, 2011
Proto-agile in the Time of Hair Bands
Join me now, as we journey back to those golden days of yesteryear.... Yes, we're traveling back in time to revisit the 1980s, the decade of Reagan and bands with Very Big Hair.
In 1987, I took a job as the one and only technical writer at a little start-up company called Colorado Memory Systems. The company made consumer tape drives to help ordinary people hang onto 40MB or so of vital data. Forty whole megabytes was a lot in those days, considering that most hard drives only held half that much.
Aside from the nostalgia of those innocent days of yore, an interesting thing happened at CMS. First off, when I started there all of us could fit in a single, not-very-large conference room. In addition, we had no QA department. As a bootstrap start-up, we couldn't afford the inefficiencies inherent in specialist silos. As the company grew, we still had no QA department. The upshot was that everyone tested, every day, including yours truly, the tech writer.
The developers ran builds every day, which was quite an accomplishment considering that a clean full build could take five hours. Before leaving for the day, everyone grabbed the latest build, plugged a test tape into the drive, and ran a test script that would use said tape to beat on the software - and the tape drive itself since we also made the drives - all night long. We tested error rates, recovery from data error, heroic retry data recovery, and on and on. Every night. For several years.
In my roles there, first as the one-and-only technical writer and later as manager of technical publications, I worked hard to write the user documentation iteratively and incrementally as the software and hardware were being built. The user docs served as our UX test lab: if a feature or procedure could not be described simply, the feature or procedure was either poorly designed or too complex. The whole idea was to make tape drives a consumer commodity. Software and hardware that was difficult to install or use simply wouldn't cut it. So early engagement with technical writers, beginning in the prototyping stage of both the hardware and software, was the norm. And feedback from technical writers in the form of the written user documentation and face-to-face conversation was highly effective in helping to improve the design of the hardware and software iteratively.
Buy the time I left CMS in the early 1990s to pursue yet more education, we had grown to over 200 employees and Grunge had replaced hair bands. But we still had no QA department. There were still daily builds. Everyone still tested every night. User documentation still provided vital feedback on hardware and software design.
Only now, in the 21st century can I put a name to what we were up to all those years ago. We were doing proto-agile. True, we did not release incrementally. We did not work in timeboxes. We did not have formal cross-functional teams. We did not test first then code. We did not consciously practice continuous improvement. Those practices were still locked in the future, scarcely a gleam in the early agilists' eyes. We simply all worked together to build the best product possible in what were essentially daily iterations. Feedback was face-to-face. Testing and user docs were done early and often.
It's no wonder I still have a soft spot for bands with Very Big Hair.
All for now....
...-.-
In 1987, I took a job as the one and only technical writer at a little start-up company called Colorado Memory Systems. The company made consumer tape drives to help ordinary people hang onto 40MB or so of vital data. Forty whole megabytes was a lot in those days, considering that most hard drives only held half that much.
Aside from the nostalgia of those innocent days of yore, an interesting thing happened at CMS. First off, when I started there all of us could fit in a single, not-very-large conference room. In addition, we had no QA department. As a bootstrap start-up, we couldn't afford the inefficiencies inherent in specialist silos. As the company grew, we still had no QA department. The upshot was that everyone tested, every day, including yours truly, the tech writer.
The developers ran builds every day, which was quite an accomplishment considering that a clean full build could take five hours. Before leaving for the day, everyone grabbed the latest build, plugged a test tape into the drive, and ran a test script that would use said tape to beat on the software - and the tape drive itself since we also made the drives - all night long. We tested error rates, recovery from data error, heroic retry data recovery, and on and on. Every night. For several years.
In my roles there, first as the one-and-only technical writer and later as manager of technical publications, I worked hard to write the user documentation iteratively and incrementally as the software and hardware were being built. The user docs served as our UX test lab: if a feature or procedure could not be described simply, the feature or procedure was either poorly designed or too complex. The whole idea was to make tape drives a consumer commodity. Software and hardware that was difficult to install or use simply wouldn't cut it. So early engagement with technical writers, beginning in the prototyping stage of both the hardware and software, was the norm. And feedback from technical writers in the form of the written user documentation and face-to-face conversation was highly effective in helping to improve the design of the hardware and software iteratively.
Buy the time I left CMS in the early 1990s to pursue yet more education, we had grown to over 200 employees and Grunge had replaced hair bands. But we still had no QA department. There were still daily builds. Everyone still tested every night. User documentation still provided vital feedback on hardware and software design.
Only now, in the 21st century can I put a name to what we were up to all those years ago. We were doing proto-agile. True, we did not release incrementally. We did not work in timeboxes. We did not have formal cross-functional teams. We did not test first then code. We did not consciously practice continuous improvement. Those practices were still locked in the future, scarcely a gleam in the early agilists' eyes. We simply all worked together to build the best product possible in what were essentially daily iterations. Feedback was face-to-face. Testing and user docs were done early and often.
It's no wonder I still have a soft spot for bands with Very Big Hair.
All for now....
...-.-
Wednesday, June 8, 2011
Why Stand during the Daily Scrum?
I've been asked this question surprisingly often in recent training classes and coaching engagements. The easy answer is that standing with your teammates for a few minutes every day is a part of Scrum.
"You'll have to do better than that...."
Okay, let's do better then. In my experience, teams that stand during the daily Scrum:
I think the big difference between sitting and standing is the signal it sends that the daily Scrum is not just another corporate waste-of-time snooze-fest meeting. The daily Scrum is of, by, and for the team. The symbolism of standing in a closed circle also reinforces the rational and emotional concept of "team."
As with most of the Scrum/agile practices, there's more going here on than meets the eye. And just because something isn't obvious doesn't mean it can be safely ignored. So suspend disbelief and try standing up. It might just be the catalyst that helps your team re-discover its energy and focus.
All for now....
...-.-
"You'll have to do better than that...."
Okay, let's do better then. In my experience, teams that stand during the daily Scrum:
- Display a higher energy level
- Speak more directly and to the point, referring to defined tasks
- Are more willing to ask for help
- Engage their teammates rather than reporting to the ScrumMaster
- Are more likely to raise impediments
- Talk about 50% less, but convey twice as much meaning
- Leave the daily Scrum energized and ready to work
- Find the daily Scrum a vital part of their day
- Display a lower energy level, both in the content of their discourse and in their body language
- Tend not to refer to defined tasks
- Get bogged down in reporting minutiae
- Tend to report to the ScrumMaster
- Are easily diverted off-topic
- Spend the entire meeting looking at mobiles/laptops
- Hold side conversations
- Rarely raise impediments
- Talk about twice as much, but convey far less meaning to their teammates
- Leave the daily Scrum bored and disengaged
- See the daily Scrum as useless and sometimes drop the practice entirely
I think the big difference between sitting and standing is the signal it sends that the daily Scrum is not just another corporate waste-of-time snooze-fest meeting. The daily Scrum is of, by, and for the team. The symbolism of standing in a closed circle also reinforces the rational and emotional concept of "team."
As with most of the Scrum/agile practices, there's more going here on than meets the eye. And just because something isn't obvious doesn't mean it can be safely ignored. So suspend disbelief and try standing up. It might just be the catalyst that helps your team re-discover its energy and focus.
All for now....
...-.-
Friday, April 8, 2011
Mile High Agile 2011 - A Great Conference!
Yesterday (April 7, 2011) saw the beginning of what I sincerely hope becomes a long-standing tradition in the agile world -- Agile Denver's Mile High Agile 2011: Elevating Agility conference. The conference generated such interest that it actually sold out! As a conference organizer, it was my privilege to work with some of the finest people in the agile community, here or anywhere.
It was also my privilege to be a speaker at the conference. My session was very well attended (as were all of the sessions) and reviews were overwhelmingly positive. The title of my presentation was Agile Leadership for the Learning Organization. As promised to attendees of my session, a link to the presentation will live in the sidebar of my blog for a few weeks.
Moving from Train-wreck Management to Agile Leadership is a long and sometimes arduous journey, but the benefits are beyond question. The people who do the work -- and create the value -- gain motivation and permission to create startlingly innovative solutions to business problems. The organization as a whole gains focus, direction, and meaning. That combination offers 21st-century companies the best possible opportunity to succeed in the marketplace, earn greater profits, and provide employment for yet more creative, highly (self-) motivated people, in the virtuous cycle W. Edwards Deming identified.

I would like to offer a very special Thank You to Jean Tabaka, for participating in my session (yes!!) and for her thoughtful and thought-provoking feedback.
Until next year, keep on Elevating your Agility!
All for now....
...-.-
It was also my privilege to be a speaker at the conference. My session was very well attended (as were all of the sessions) and reviews were overwhelmingly positive. The title of my presentation was Agile Leadership for the Learning Organization. As promised to attendees of my session, a link to the presentation will live in the sidebar of my blog for a few weeks.
Moving from Train-wreck Management to Agile Leadership is a long and sometimes arduous journey, but the benefits are beyond question. The people who do the work -- and create the value -- gain motivation and permission to create startlingly innovative solutions to business problems. The organization as a whole gains focus, direction, and meaning. That combination offers 21st-century companies the best possible opportunity to succeed in the marketplace, earn greater profits, and provide employment for yet more creative, highly (self-) motivated people, in the virtuous cycle W. Edwards Deming identified.

I would like to offer a very special Thank You to Jean Tabaka, for participating in my session (yes!!) and for her thoughtful and thought-provoking feedback.
Until next year, keep on Elevating your Agility!
All for now....
...-.-
Wednesday, March 2, 2011
Good teams are like good code: Highly Cohesive, Loosely Coupled
The best Scrum teams I've worked with have been reflections of the code they produced: highly cohesive -- meaning focused on a project or product -- and loosely coupled -- having minimal direct dependencies on other teams. Like excellent code, excellent Scrum teams don't just happen; it takes careful planning and continuous attention to detail.
Let's start with high cohesion. The highest performing Scrum teams are initially built around a purpose, a specific project or product, and allowed to focus exclusively on that project or product. But after that the team's design is emergent, adapting to changing circumstances and increased knowledge about teamwork, the domain, and the product. Like a well-designed class, the team is directed at its purpose and resists attempts to redirect it. Once the current project or product is complete, the team can take on a new project or product, just like a cohesive class can be instantiated repeatedly. The key is that, like a cohesive class, the team is focused.
Great Scrum teams are also loosely coupled to other teams. What this means is that a great team has very few dependencies on other teams, that is, the team can complete its work without waiting on outside experts or the work of other teams. I can already hear the objections: "Okay, so a great team contains all of the skills and knowledge needed to complete its own work, fine. How can you keep even the best team from waiting on other teams to complete their work?" Okay everyone, turn your eyes to the Product Owners in the room.
A great team must have a great Product Owner. The best Product Owners ensure that their team's backlog is independent of the backlogs of other teams. Even more, a great team of Product Owners can decouple the backlogs of all teams to the maximum extent possible, ensuring that all of their teams, like all of the objects in a well-designed application, only access each other through well-defined interfaces that minimize dependencies.
The next time you survey your organization's Scrum teams, think like a software architect and work on making your teams highly cohesive and loosely coupled!
All for now....
...-.-
Let's start with high cohesion. The highest performing Scrum teams are initially built around a purpose, a specific project or product, and allowed to focus exclusively on that project or product. But after that the team's design is emergent, adapting to changing circumstances and increased knowledge about teamwork, the domain, and the product. Like a well-designed class, the team is directed at its purpose and resists attempts to redirect it. Once the current project or product is complete, the team can take on a new project or product, just like a cohesive class can be instantiated repeatedly. The key is that, like a cohesive class, the team is focused.
Great Scrum teams are also loosely coupled to other teams. What this means is that a great team has very few dependencies on other teams, that is, the team can complete its work without waiting on outside experts or the work of other teams. I can already hear the objections: "Okay, so a great team contains all of the skills and knowledge needed to complete its own work, fine. How can you keep even the best team from waiting on other teams to complete their work?" Okay everyone, turn your eyes to the Product Owners in the room.
A great team must have a great Product Owner. The best Product Owners ensure that their team's backlog is independent of the backlogs of other teams. Even more, a great team of Product Owners can decouple the backlogs of all teams to the maximum extent possible, ensuring that all of their teams, like all of the objects in a well-designed application, only access each other through well-defined interfaces that minimize dependencies.
The next time you survey your organization's Scrum teams, think like a software architect and work on making your teams highly cohesive and loosely coupled!
All for now....
...-.-
Don't be like Homer Simpson
"In times of trouble, go with what you know."--Homer Simpson
Words of wisdom from a notoriously brainless cartoon character seem like an oxymoron -- and in fact that is the case. Unfortunately, Homer's prescription is something I experience over and over again with client organizations. In the midst of a difficult and challenging change, like moving the organization from a sequential development process to Scrum, there is strong temptation to fall back on old habits of mind. Whenever things get uncomfortable, whenever Scrum makes a long-standing problem unbearable, the knee-jerk reaction is to ditch the part of Scrum that "caused" the problem and revert to a previously learned behavior.
One example I have experienced repeatedly is the problems caused by a widely distributed Scrum team, that is, one with some team members in North America while others are in China or India. I recently ran across an issue in which the more experienced North American team members were attempting to work with freshly minted graduates in China who lacked even the slightest shred of domain knowledge. Since the time shift in this case was exactly 12 hours, it was impossible for the team members to work together closely. Not only were there twice-daily hand offs of code between team members in the different geographies, there was also the issue of the Chinese team members lack of experience in the domain.
The response from the domain-expert team members in North America was to clamp down process on their young Chinese peers. Over time, many gates had been constructed to prevent the Chinese team members from doing any damage to the code base. By the time I arrived on the scene, the gates were so restrictive that the Chinese side of the team -- and make no mistake, each geography had taken sides -- was unable to do any work at all. Even the simplest tasks were impossible to complete without involving the North American side because of the gating requirements.
A better solution, which the organization actually implemented, was to create separate North American and Chinese teams. While this by itself did not solve the bigger issue of domain knowledge being restricted to the North American team, it did allow both teams to work with a degree of independence and to finish the work they committed to each Sprint. The one major adjustment was to have the Chinese team work in one-week Sprints while the North American team worked in two-week Sprints. Shorter Sprints forced the Chinese team to break its work down into very small bites that the North American domain experts could then help with during the short window of overlapping availability each day. By limiting the range of variability -- implementing one-week Sprints -- the organization was able to move forward with new feature development much more quickly than had been the case with a distributed team and a multiplicity of gates for the Chinese team members' work to pass through. The organization also unknowingly implemented one of W. Edwards Deming's credos, that of changing the system to reduce variability. More on that topic in a later post....
All for now....
...-.-

Subscribe to:
Posts (Atom)