Here’s a story.
A development team was thrashing as they attempted to use Scrum to help them build a new application. They had numerous defects, some of which escaped to production and others that were caught within each Sprint. Many defects they thought they had fixed popped up again in production.
Their stakeholders had high expectations, as the team’s velocity was high. After several Sprints, it became clear they were not going to deliver all the planned features by the defined deadline. The news came as a surprise to stakeholders.
Continue reading What’s our focus for improvement?
Premise 1: Self-discipline is the only meaningful form of discipline.
Premise 2: Simpler solutions are usually preferable to more-complicated solutions to the same problem.
Premise 3: Without self-discipline on the part of those using it, no process model or method or framework or tool of any kind provides the value its proponents believe it can provide.
Premise 4: A formal process that imposes strict rules tends to teach people to follow rules rather than to cultivate self-discipline.
Premise 5: The longer and more deeply a person invests in a given idea or habit, the more difficult it becomes for that person to let go of the idea or habit, or even to question it.
Premise 6: In the diffusion of any innovation, the main reason Innovators and Early Adopters achieve better results than Late Adopters and Laggards is the former are predisposed to try unfamiliar things and take risks, and not primarily because the particular innovation is intrinsically better than whatever it replaces (even if it happens to be a little better on the merits).
Premise 7: The factor that makes an innovation useful is that it comes at a time when it is needed, in a context where it is needed, and to people who are in a position to make use of it; not necessarily that the innovation itself is “best” in a general or permanent sense.
Continue reading Discipline
Looking back over who-knows-how-many “agile transformation” and “agile coaching” engagements, it occurs to me that five experiences stand out as especially positive.
When I ask myself why, two elements present themselves: First, (in three cases) the development team was physically collocated with the end users and collaborated directly with them daily; and second, (in the other two cases) the team and the organization did not “lock in” any rigid definition of “agile,” and actively explored ways to move beyond the usual Agile 101 level of practice.
Continue reading The best agile environments I’ve seen
What’s a time-box?
When working with people who are new to “agile” development methods, particularly Scrum, I notice there seems to be a great deal of confusion about the concept of a time-box.
Time-boxes are baked into Scrum at multiple levels. The Sprint is a time-box, and all the standard Scrum events are time-boxed. Yet, many people who adopt Scrum pay little attention to this aspect of the process. They begin their events late and they extend the time of an event if they haven’t yet met the objectives.
I don’t speak for the inventors of Scrum, but my understanding of the time-box mechanism is that it has two key functions for a team and organization. When people don’t use time-boxes in a way that enables those functions, it suggests they don’t quite understand what the time-box is for.
Continue reading What’s a time-box?
Product-Aligned Software Teams
For a long time now, and starting in earnest in the early 1990s, people involved with software development and delivery have been shifting various aspects of the work to the “left,” if you visualize a software delivery pipeline that runs from left to right. What’s the endgame?
Continue reading Product-Aligned Software Teams
As a young computer programmer, I moved to Dallas, Texas, without ever having been there before, and with no idea what the place was like. There were three attractors for me: (1) Reputedly good prospects for a career in information technology, (2) no State income tax, and (3) good Mexican food. Those of you know know me IRL will be unsurprised by which of those was the strongest attractor for me. Indeed, as I rolled into town the first time, I was delighted to see a Mexican restaurant on nearly every corner.
Some years later, I was working with a guy who had just completed an introductory Six Sigma class and had started the journey toward Green Belt status. In other words, an Expert. As he listened to the almost-daily discussion about which Mexican restaurant we should go to, he had a brilliant idea. He would assess Mexican restaurants by the quality of their refried beans.
Continue reading The Refried Beans of Agile
Once “agile” methods had crossed the chasm, organizations in the Late Adopter and Laggard categories began to try and roll out “agile” across their enterprises, or at least across their IT departments.
To support deep-pocketed enterprises that wanted to scale “agile,” consultancies sprouted up offering “frameworks” that could be dropped into place to achieve agility. They are generally based on Scrum and/or Kanban principles, in a way that often lends itself to fun (provided you aren’t the one paying for them).
As the years passed, large enterprises made multiple attempts to implement agile frameworks. With each attempt, they are growing smarter about what will or will not work at scale. But these lessons are excruciatingly expensive.
Despite the general results, consultancies that specialize in scaling agile methods continue to promote the idea. New books have appeared that explain how to scale agile in large enterprises. I checked Amazon books briefly, and got 14 hits for relatively recent books on the subject. But is it even a “subject?”
It occurs to me the basic reason for most of the difficulty is that “agile” as such simply does not scale. If that’s the case, then how can larger enterprises gain the benefits of agility? I think there is a way. It boils down to applying “agile” tactically rather than strategically; except perhaps to say that the strategy is to apply “agile” tactically.
Continue reading Tactical Agile
There’s a common model people seem to believe in implicitly, known as the Tuckman model, named for psychologist Bruce Tuckman, who published the idea in 1965. The idea is that all teams go through several distinct stages: Forming, Storming, Norming, and Performing. You can probably guess what those stages are like based on their names. The model has been a mainstay of agile coaches for many years.
But I’ve had doubts about the Tuckman model for a long time. My personal experience has been that once people get used to working in a collaborative way, they can move to new teams without any friction.
Continue reading Whither Tuckman?
The most popular metric for agile software development teams, by quite a margin, seems to be velocity. Yet, experienced agilists don’t find velocity particularly useful. Even some of the authors of the Agile Manifesto who played a part in defining velocity, as well as story points and planning poker, have moved on. But today, as large organizations undertake major initiatives to “transform” into agile organizations, there is a strong emphasis on velocity as a key metric.
Despite the advice of leading agile consultants and coaches, and books like Doc Norton’s Escape Velocity and my own Software Development Metrics, corporate leaders stress the importance of velocity in their transformation programs, and require their software development teams to track and report it.
Continue reading Terminal Velocity for Agile Teams