Skip to main content

Author: Robert Galen

The Agile Project Manager – Why are Software Projects Different?

Galen FeatureARTICLE Feb20I was doing some introductory agile training recently. As quite often happens, I got challenged about adopting agile in the “real world”. The implication I guess is that I’m from some other planet. So someone asked: how is agile is going to solve the following problem?

It seemed as if they had a project that had been going on for a while. It involved some new technologies that they hadn’t integrated before. I believe in this case, it was a Microsoft product that needed to be integrated with one of their major legacy products.

In traditional Waterfall fashion, they pulled together a project plan, did some requirements analysis and design, and approved the project through their phase-gate processes as a Phase 2 approved project.

From their leadership’s point of view, the rest was simply technical execution. The business was expecting the project to meet its scope and date commitments from the phase review. Life was good!

That was until…

The team found that physical integration with the Microsoft product was much more difficult than everyone had thought. The documentation was wrong and, in many cases, insufficient to describe how to effectively integrate. Calls to Microsoft went unanswered or didn’t really help with the challenges. The teams kept spinning their wheels; trying to sort out problem after problem and never seeming to make much forward progress.

When they went to their management team to report the challenge the project was encountering, they received two basic replies:

  • First, what is the team doing to hold the date? Did everyone realize that the date was incredibly important and that, heads would roll, if it slipped.
  • And second, when would they have answers to all of these problems and a solution? On what date would things settle back to normal and resume on plan?

So, making a long story short, the students question was: In the above situation, how would agile enable the team to give the stakeholders a definitive answer as to when this technical problem would be solved?

Software Projects

I think I disappointed them, because I said: Agile was not a silver bullet that would provide a magical end date for the solution to their problems.

I further offered that they needed to “push back” on their management demands for specific resolution dates. Clearly they were encountering “unexpected turbulence” in their project. Clearly they were doing the best they could. Complex problems are often impossible to accurately predict. Instead, the effort becomes one of intelligently and systematically attacking the problem—triangulating towards a solution.

This is simply the nature of software development. It’s exacerbated because software is soft, amorphous, and intangible and we’ve ALLOWED our customers and stakeholders to push us around in these situations. And since software is well, soft, we struggle to defend ourselves.

What “Agile” would do…

Now I explained that an agile approach would certainly help them in analyzing, finding and integrating a solution. For example, the following would be typical ‘agile’ reactions to the problem and probably generally helpful steps towards a solution:

  • Take a whole-team approach; perhaps getting a small team in a room, totally focused on solving the problem.
  • Raising the lack of Microsoft support as an impediment to Sr. Leadership team—asking them for help.
  • Ideating a backlog of things to try or an overall strategy with the team. Prioritizing them into the best workflow to augment discovery, learning, and progress.
  • Having daily stand-ups to ascertain progress, discovery and to plan adjustments.
  • Perhaps time-boxing their efforts into 1-week (or very short ‘Sprints’) so that they could provide progress insights.
  • Retrospecting often on what they’ve learned and then leveraging that for future adjustments.

I’ve often used these techniques with problems of this sort in agile and non-agile projects. And they certainly help to drive progress through ambiguous and chaotic situations!

Home Projects

In fact, I also responded with the following counter story.

I asked if any of them ever watched two shows on HGTV. There is The Property Brothers and Love it Or List it. In both cases, the shows take on renovation projects for relatively older homes. Usually these are extensive renovations. 

The shows usually start with the homeowners (or prospective homeowners) providing the hosts a budget. It’s normally a range, with a max that cannot be crossed. In many cases the bank imposes these hard limits. Then the hosts dive into the renovations. 

I remember in one episode of Love it Or List it, that Hilary (the renovation expert) uncovered a basement wall that was in danger of failing. It was bulging and leaning into the basement, preventing them from covering it. The bigger problem was that it was the foundation—or a load bearing wall. 

She had planned on simply covering the wall with drywall as part of the basement makeover. Instead, they had to literally build another foundation wall the length of the basement to shore up the failing foundation wall. This was unexpected and costly. I seem to recall that it would take 30% of the planned budget, and it was literally a must have from a building code and safety perspective.

When she first went to the homeowners and shared the news; they were upset. Then they went into denial that they would have to lose some of the enhancements that they’d planned for their budget. Then they yelled at Hilary as if it were her fault. But eventually, the emotions settled down and they worked with her to accommodate the changes and still have their highest priority renovation changes made.

The Unexpected

Encountering unexpected work in home projects happens ALL THE TIME. It’s the nature of things. And it always impacts expectations around budget (cost), time (schedule), and the overall design (scope expectations).

What’s surprising though is how the home stakeholders eventually adjust to the unexpected in a constructive way. Quite often, as my initial story showed, software stakeholders aren’t as accommodating. Somehow, they always expect the budget to be maintained along with the timeline and the scope. They demand creativity and initiative and hard work; as if those things aren’t happening. They question the commitment of the team to the company or their professionalism. 

If compromises are made, they’re often under the banner that the team failed the stakeholders in some way—that they didn’t do their job.

Wrapping Up

Agile won’t help these situations. In fact, it will make them potentially worse. Agile doesn’t work well with unrealistic or demanding customers. Or with customers who can’t handle the unexpected; who can’t handle the truth.

It expects customers to embrace unknown risks, discovered as early as possible, and then partner with the team towards trade-offs and solutions. It expects stakeholders to realize that software development is HARD and virtually impossible to guarantee. 

At the end of every Love it Or List it episode, both hosts have done a remarkable job and the clients are left with a very hard decision. Hilary always delivers a delightful renovation that is constrained to what she had to work with. She delivers the highest priority items, with high quality. She even throws a bit of a stretch in now and then. But the customers NEVER get 100% of their initial expectation. That’s because it was unrealistic.

From my perspective, software projects are no different than these home projects. Now if we can only get our software customers and stakeholders to have the maturity and realism of these homeowners. Well, I can hope can’t I?

Thanks for listening,
Bob.

Don’t forget to leave your comments below.

Agile Chartering – Beginning with the End in Mind

What is Chartering?

In a traditional project management sense, it’s a Process and Artifacts that:

• Establishes the vision state for the projectGalen FeatureArticle Jan30
• Defines key goals and requirements
• Captures and sets customer expectations
• Defines project participants and their roles
• Defines limits and constraints
• Establishes all resource needs and overall cost targets
• Creates a high level view to the WBS and schedule
• Initiates negotiation and tradeoffs
• Ultimately defines success

Another view…

A charter is a central document or a set of supporting documents that defines the purpose, nature and characteristics of an about to be undertaken software project.

It is typically constructed early in the project lifecycle, hopefully before the project is staffed and the business is pushing for a delivery date. It is usually created collaboratively as a team and shared with stakeholders upon completion.

It is intended to clearly set the stage for the project—aligning the team and stakeholders by setting goals and expectations.

It’s often the case that a charter leads to an early project approval ‘gate’ as part of an organizational project approval life-cycle phase. Usually the keys to the approval involve cost, schedule, and scope definitions and restrictions—so very much of a contractual view.

Components of an Effective Project Charter

Galen img2 Jan30Notion of Agile Chartering

Now let’s move on from traditional chartering views to agile chartering. The essence is the same, to establish a baseline understanding and connection between the team and stakeholders. However, the dynamics and artifacts are often quite different.

First, it’s not contractual in nature; resisting fixing cost, time, and scope. An agile charter clearly realizes that scope is the variable within agile projects and that team’s converge towards their customers’ needs and project goals. There’s also the implication that business stakeholders are engaged along the way in decision-making surrounding requisite trade-offs.

The key chartering activities, from an agile perspective, revolve around the following:

  1. Establishing a view to Vision & Mission
  2. Establishing a view towards a Minimum Viable Product (MVP) or Minimal Marketable Product (MMP)
  3. Running Sprint #0’s as needed; when your project and/or your team needs “directional alignment”
  4. Establishing effective release plans that align the Product Backlog with the Mission & Vision or Goals and with the team

I’m going to assume that everyone is comfortable with the notions of mission and vision setting within projects, so we won’t explore those here. I’ve written a sister-article in BA Times on MMF/MMP definition and I’m deferring release planning for a future set of articles. Here I’d like to explore the nuance of Iteration or Sprint #0’s.

Chartering via Sprint #0

In his book on Agile Project Management , Jim Highsmith introduced the concept of running an Iteration #0.The same notion has been referenced within Scrum as a Sprint #0.

It’s somewhat of a debated practice in the Scrum community. Some think that for all project work, you should “dive into” your first sprint and immediately begin delivering customer value. If that’s truly possible, then I couldn’t agree more. By customer value, I’m assuming we mean feature value. In that case, you must have a clear backlog, a team formed and equipped, and a clear charter. So, why not dive in and start sprinting? 

But what if things aren’t so clear? 

What if you have a new, never-been-together before team? Or, have moved members together into a new space and need to setup equipment? Or, they are embarking on a new project with no backlog requirements or context? Or, you are being told to use a highly distributed team to get the work done? Or, your team doesn’t have much Scrum experience among them, and you’ve just hired a brand new Scrum Master? Or, the list goes on…

I can think of many contexts where beginning a sprint without sufficient definition can lead to nothing productive or even agile. It’s just moving without a direction in mind, which can lead to chaos and churn.

In these cases, wouldn’t it be useful to take a sprint, or even two, to figure things out? At least, to get enough definition and clarity so you can begin to sprint effectively; getting your feet underneath you? Well, that’s exactly the point behind a Sprint #0.

You’ll want it to behave with as closely to the same dynamics as a normal, development-driven Sprint; the primary compromise usually being on delivering working software in the end. You might even want to keep the sprint shorter to keep it more focused, and not run the risk of it turning into a crutch for waterfall analysis paralysis. 

Typical activities that I’ve seen within a Sprint #0 include:

  • Chartering; and connecting it to your stakeholders.
  • Defining your high-level architecture or connections to a pre-existing Enterprise level or other architectures.
  • Do a bit of prototyping; perhaps paper at first.
  • Running story writing workshop(s) and other meetings / activities to establish your initial Product Backlog.
  • Running backlog grooming meeting(s) to provide initial PBI estimates and perform release planning.
  • Forming your team: introductions, establishing roles, assessing skills, etc.
  • Establishing a working environment for your team: Scrum room, cubes, workstations, development and test tool servers, connections to existing tools, etc.
  • Running various training sessions for your team; both technical, Scrum, and team related.
  • Perhaps conducting a project kick-off of sorts.
  • Planning for, then kicking off your first sprint; then off you go…

One of the dangers associated with the Sprint #0, and I’ve already alluded to it, is that teams who are uncomfortable with ambiguity, can begin using it as an excuse for analysis paralysis. They may even want the false comfort of too much early definition. Therefore, you’ll want to be careful that you schedule them when they are truly needed, and only continue them as long as that strong need exists. 

For example, I’ve never seen a large-scale or Enterprise level project that needed more than 2 – 2-week Sprint #0’s to get their feet underneath them before actively sprinting. 

Re-running Your Sprint #0

I view a Sprint #0 as the “iterative wrapper” for chartering. You typically think of it as occurring at the beginning of a project, but that’s not the only appropriate time. Many agile teams get into a state of what I refer to as “directional confusion” in alignment towards feasibly meeting their goals. Re-chartering can help those teams realign themselves with their business stakeholders.

Another factor influencing this is design ambiguity. Agile teams attempt to balance architecture and design allowing them to emerge as teams iterate their solutions. But that shouldn’t imply there isn’t in-advance design and architectural activity within a release sequence. When a team runs out of their design runway and starts to realize more and more rework, it might be time to run another Sprint #0 to gain some design look-ahead or runway for subsequent sprints.

Point being; don’t be reluctant to re-run a Sprint #0 when you find the teams encountering too much ambiguity or churn in their direction. It might only take a day or two, to regain your directional certainty and then continue with your adjusted release plans.

Wrapping Up

There’s nothing wrong with: Beginning with the End in Mind as Steven Covey would say…

Way too many teams “dive into” their agile projects before they know where they’re going. I guess it’s a danger inherent in the methods. You’ll want to be wary of that trap and, if you sense that sprinting might be premature because you’re not ‘ready’, then plan a Sprint #0 to get yourself ready. 

There’s a wonderful book that’s new to the market called Liftoff that is focused on agile chartering. If you like the focus of this article, then I’d highly recommend reading Liftoff!

Thanks for listening,
Bob.

Don’t forget to leave your comments below.

Footnotes:

  • Agile Project Management is a wonderful book by Jim Highsmith that speaks to the general practices surrounding Agile PM without strong ties to any specific Agile Methodology. I’ve found his guidance surrounding Chartering, Agile Iterative Planning, and Iteration Types to be quite useful.
  • http://en.wikipedia.org/wiki/The_Seven_Habits_of_Highly_Effective_People
  • Liftoff – Launching Agile Teams & Projects was published in 2012 by Diana Larson and Ainsley Nies. In my opinion, it’s a wonderful book that compliments this article quite nicely.

The Agile Project Manager: “Going Agile”—The Price of Admission

I often get asked to visit agile teams—delivering some ad-hoc training and taking a look about. Usually I’m asked to do an informal assessment and share improvement feedback—framing the visit as part get to know each other session and part agile assessment. A short while back I visited a team. They’d been doing agile (mostly Scrum) for quite a while and considered themselves relatively mature in their adoption.

Right away, when I got off the elevator, I noticed that their environment was open and airy; so very conducive to collaborative agile teams. There were rolling whiteboards all about and small groups of people were talking and pairing all over the place. Even the managers were sitting out in open space.

So my anticipation grew as we walked around. I was looking forward to seeing some high-performance and mature agile team activities and the subsequent results that such teams can deliver. There’s nothing in the world quite as exciting as a well-honed agile team.

(I know, I know that’s a geeky, agile coaching perspective…but they do get me excited 😉

The other exciting part of this organization is that they’d invested in hiring some internal agile coaches. Again, that was a maturity indicator from my perspective as they had experienced ‘guides’ for their agile journey—call them Agile Coaches or Agile Project Managers.

The Teams

But then as I physically sat down with the teams and interacted, I realized quite quickly that something was wrong. Drastically wrong. The teams seemed to be aimlessly “doing Agile”. There was no sense of velocity, no sense of reliable burn downs, no sense of release planning, and each had no clear sense of commitment to where they were going. In a nutshell, the teams were in open space, there was an agile façade of sorts, and they even had coaches, but when you looked under the covers, there was no “consistency or directional substance” there. Here’s an example of what I mean…

Backlog Grooming – Run Amok

One of the first meetings I attended was a backlog grooming session. I was introduced to ‘John’ as the Product Owner. He was going over some user stories for his team and they were estimating them. John went to the board and started writing down numbers. I was curious as to what he was doing. Then he started to point to individuals and tell them what their estimates were for the individual stories. He articulated architecture and design approaches, as he saw them, and basically shared with his “self-directed” team that he’d sorted out all of the “hard stuff” for them.

He seemed quite proud of the leadership he was providing.

Their agile coach was also their Scrum Master. And John was the functional manager for the team, but also their Product Owner. He also seemed to have assumed the role of Chief Architect and general oracle for the team. Clearly there was lot of “role overloading” going on within this team.

So at this point I realized that I vastly underestimated the maturity of the teams. I had a perception from the coaches I’d met with and from the environment. But when you scratched the surface, the environment was culturally command-and-control oriented. They’d also seemed to be struggling with the people & focus investment that agile requires.
As I walked around the organization and became immersed in different teams, different projects, different instances of Scrum, etc.; I realized that everyone was saying they were ‘doing’ scrum and ‘doing’ agile, but there was no rhyme or reason to it.
There was also no consistency or standards in the practices. One team would be using user stories, but without any notion of or investment in acceptance tests. Another team would be spending nearly 90% of their development time ruthlessly designing cucumber tests, but their stories will poorly written and ill-defined.

In some teams, a team member was encouraged (forced) to be a developer and the Scrum Master and the Product Owner—without any training whatsoever. In other cases, functional managers were taking on Scrum Master & Product Owner duties for teams that reported to them. In these cases, you could SEE the team nearly always deferring to their managers in decision-making.
There was literally, self-directed bad Agile chaos. The only thing that was consistent across the various development groups was—

  1. The had a daily standup
  2. They had a sprint duration/tempo defined
  3. They had whiteboards and used lots of cards
  4. They had user stories and tasks for their current sprint
  5. They sort of supported Scrum ceremonies of sprint planning, demo, and retrospective
  6. You’re “self-directed”…so do what you want…

As I sat down with their coaches and (softly) confronted them on this—they reacted poorly. The overall reaction was that they were doing the “best they could”. That the organization lacked the maturity and readiness for more mature agile practices & adoptions, so they were introducing small changes in an effort to help where they could.

I felt quite sad afterwards.

I know the coaches were trying to do the best they could…and so were the teams. But, from my perspective they were just “scratching the surface” of agile and not realizing much (if at all) of the promise & benefit of “being Agile”. And it made me wonder if the coaches were actually doing their teams a service by only introducing them to the easier bits & pieces of agile and allowing the over-customization of most of the core practices?

Another way of saying it…is it ok to only do 10% agile and leave it at that? Even if the culture is challenging? Or if the teams resist? Or if the budget doesn’t allow for it?

Is that “good enough”?

The other key point is that by over-compromising, the coaches were not challenging the status-quo within the organization. For example, all of the functional managers still seemed to be behaving in a command-and-control fashion. They should have received some training & coaching as part of the agile adoption—to at least introduce them to their need to and how to change their leadership habits.

ScrumBut

And I don’t think this organization is unique. Nor am I the only one who’s noticed ‘compromise’ in agile adoptions. I believe it was roughly in 2009 that Ken Schwaber introduced the notion of a “Scrum-but”, as in…”We’re using Scrum, but…”. Here are some precise examples:

  • We’re using Scrum, but we don’t know our velocity
  • We’re using Scrum, but our Manager is our Scrum Master and our Product Owner
  • We’re using Scrum, but we’re not a cross-functional team
  • We’re using Scrum , but we’ve never really effectively planned and executed a sprint
  • We’re using Scrum, but we don’t really groom our Backlog
  • We’re using Scrum, but we have 10 Product Owners directing our efforts
  • We’re using Scrum, but we only have 10% of everyone’s time to get our sprint work done

Apparently he was noticing quite a bit of Scrum without the conviction associated with doing the majority of its practices well. What was frustrating is that every ScrumBut team likened themselves to “doing Scrum”. From their perspective, they were actively leveraging it. But their implementations were mere shadows of the true intention of Scrum.

Now I do think Ken is a bit of a purist. His expectations are that all teams should do 100% of Scrum, as he personally defines it in the Scrum Guide, or you’re a ScrumBut. I think that can be a bit harsh and unrealistic. However, I do feel there should be minimal levels of adoption that are required before a team claims to “be Agile”. That’s where we’re going next.

Should there be a price for agile admission?

The team I visited made me think and I’m thankful to them for that.

Think about whether it is ok to adopt miniscule and easier bits of the agile methods and still declare yourself to be agile. To fool yourself into thinking that you’re already “good enough” and that whatever path you choose, all will equally drive the promises of agility—without the hard work.

I’ve always prided myself on being a pragmatist as an agile coach. I’ve certainly molded and crafted practices for teams that included compromises. I felt that agility meant that you were situational or context-based in your application of the various techniques and approaches.

And to a strong degree, I still feel that way. However, is there a point of diminishing returns? Where you compromise so much that the resulting practices are virtually worthless? And that the results you realize are so small or even negative in their impact? Or actually do damage to the team and to the agile community?

I now think the answer is yes.

When we adopt agile there should be an intentional price of admission. Call it a baseline of core agile practice support that you will achieve prior to “going Agile”. For example, I don’t think you should be doing Scrum without a Scrum Master. I think having a Scrum Master is a price of admission element to Scrum. And here is some fine print around that notion:

  • Every Scrum team needs a dedicated or near-dedicated Scrum Master; someone with sufficient time to practice the craft of the role.
  • They need to have a fundamental understanding of Scrum and received some “serious-level” training around the role and agile leadership. I’m not demanding a CSM, just some investment in external training.
  • It’s incredibly bad form to have a manager assume the Scrum Master Role—particularly bad of their team also reports to them. Don’t do that.
  • If they are multi-tasking between the Scrum Master role and another role (developer, tester, etc.) they shouldn’t be the Scrum Master on a team where they’re also an individual contributor.

If you can’t support the above constraints in establishing Scrum Masters, then don’t do Scrum. And this is simply one example of the entry criteria for Scrum. I went into more detail to make the point regarding one of the more important roles within a Scrum team.

Scrum Entry Criteria

Here’s what I would consider a short list of entry criteria or the price of admission for entering Scrum in your organization:

  • You’ve introduced Scrum & Agile to your leadership team and they understand (and accept) the transitional role they need to play
  • You have a focused Scrum Master and focused Product Owner per team
  • You have formed dedicated (focused), cross-functional team(s)
  • The team(s) has been trained in all aspects of Scrum
  • You have a thoughtful Product Backlog per team, encompassing the project at-hand, that has been groomed by the team
  • The team(s) have Release Planned their first project-level deliverable
  • The Scrum Master(s) & Product Owner(s) have received separate training on the individual nuance of their roles
  • There are NO compromises with role overloading OR functional managers taking on roles across the team(s)
  • The team(s) can self-direct and has examples of successfully doing so
  • The team(s) have an environment conducive to collaboration
  • The team(s) are committed to using low-fidelity tooling (cards, walls, whiteboards, team rooms, web cams, simple e-tools, etc.)
  • Before starting their first sprint, the team(s) have a clear project mission, charter & goals that they can leverage in guiding and measuring their sprints

Too Prescriptive?

But is the above list too prescriptive?

I’ve often heard the argument for open-ended agility as being truly self-directed. The thought goes—how we can truly be agile and still hold prescriptive guidelines over a team?

My counterpoint to that is we’re talking about Shu-level teams here and Shu-level organizations (interpret Shu as entry-level experience and there’s a link for more research at the end). I believe a bit of prescriptive guidelines are necessary in order to set the stage for what “good Agile” looks like. It creates an environment for teams to mature so that they can effectively inspect & adapt their way towards higher maturity and performance.

I’m starting to think that not setting clear entry criteria is a bit of an irresponsible copout. That as coaches we have gotten a bit lazy, as it’s so much easier to coach agile teams without any entry criteria or guidelines—as you saw in my example. Shame on us!

Wrapping Up

This was a serious post for me in that it’s challenged the very core of my flexibility and pragmatism in my own agile coaching. I think determining what to baseline and how to approach agile adoption is a deeply situational and personal choice for most Agile Project Managers & Coaches.

However, I think as a discipline, we err too much on the side of too little. Call it a lack of courage or willingness to take a stand. I don’t try to understand the drivers. But for my own coaching, I’m going to be asking more of my teams going forward in their initial agile practices. Not in the search for perfection. But in the search for a “meaningful set” of initial practices that are hard, that drive improvement, and that fosters an environment of “agile done well” in the teams.

Another way of saying it, I don’t think we can truly call ourselves Agile Project Managers & Coaches if we’re fostering “10% Agile”.

Thanks for listening,
Bob.

Don’t forget to leave your comments below.


References & Follow-up
1. Online version of the ScrumBut test
2. A counterpoint to my “seemingly forceful” diatribe; Rachel makes the case for not being too forceful…
3. Shu-Ha-Ri to help with my Shu-level references

The Agile Project Manager: Agile Basic Training-What is an Acceptable Level?

FEATUREAug8thThe agile methods are deceptively simple and common sense oriented. In many ways, that’s one of their great strengths, but its also one of their fundamental weaknesses. I see so many teams convinced that they can “go Agile” just by reading a book or an article and then diving in and “sprinting” towards successful software delivery. The logic goes that agile is simple common sense practices, self-directed, and intuitive—so of course it will be simple to pick up and execute.

I typically categorize these teams as “bad agile” teams in that they adopt a small, superficial, and somewhat trivial set of the core agile practices and then think they’re agile. In almost every case they don’t understand the agile mindset nor how the core principles and practices complement one another to foster improvement. They’re “doing Agile”, but they’re not “being Agile”.

Ken Schwaber coined the term ScrumBut to capture this common anti-pattern, as in—“We’re doing Scrum, but…”. And Ken was solely focused on Scrum in coining the term. I’ve also found the Extreme Programming practices to be a wonderful complementary set of agile practices and they’re often left out of the conversation as well.

One of the core drivers for this is that teams don’t receive sufficient agile training from the right level of experienced coaches and trainers. So, yes, you can pin some of the blame on the teams themselves. But I think some of the assumptions we’ve set in the agile community are also to blame.
In this post I want to explore what sorts of training are sufficient to get agile teams up and going. In this case, I’ll be using Scrum as the baseline methodology for the discussion. But you could essentially replace Scrum with Extreme Programming, Kanban, or any other agile methodology. I think the points generally remain the same.

Before we go after training in general, I want to explore certifications—most of which have a strong training component as part of their adoption.

Agile “Spaghetti” Certification Choices

There are essentially seven certifying bodies at the moment with respect to agile—sort of a spaghetti like set of choices to make. In a nutshell, they include:

  1. Scrum Alliance: the venerable institution that certifies Scrum Masters (CSM, CSP) Product Owners (CSPO), Coaches (CSC) and Certification Trainers (CST). There is some movement towards individual team member qualification as a Certified Developer (CSD), which focuses on hands-on development practices. When I sampled the website for this post, there were over 130,000 Certified Scrum Masters, over 130 Certified Scrum Trainers, and over 40 Certified Scrum Coaches. Clearly the Scrum Alliance is still the leading certification body in this space.
  1. Scrum.org: this is Ken Schwaber’s group that is a historical spin-off from the Scrum Alliance. He started it after breaking with the Alliance Board. Aligned with the Scrum Guide, he’s established a 2-tier certification for the Scrum Master and the Product Owner. Scrum.org also has a very strong offering targeted at the developer or practitioner. This is more or less a direct competitor to the Scrum Alliance (CSD) and may be a stronger offering than it is. Arguably, Scrum.org focuses more on assessments and practitioner-level skills. It’s also clearly not as widely known as the Scrum Alliance.
  1. Net Objectives: has been focusing on more enterprise level and lean agile training for quite some time. They also offer certifications as part of their training offering, two examples being Agile Project Manager and Product Owner. It’s more of a niche certification, although they’re very well respected in the Lean, Kanban, and Enterprise Agile spaces.
  1. ICAgile: is more of a generic Agile BOK (Body of Knowledge) certification authority. They provide sensible “outlines” for what good courseware should cover in specific areas of agile AND they “certify” materials and provide certification management mechanisms. So they don’t provide a certification per se, they provide some trainer material consistency & transparency assurances. A promising part of ICAgile is the breadth of their purview—virtually covering all areas of agile practices and not simply Scrum Master or Product Owner roles. Definitely a WIP though…
  1. Dean Leffingwell – SAFe: has begun to dominate the enterprise / scaling agile space and is offering a certification around his scaling framework. He calls it a Scaled Agile Framework (SAFe) and is offering various levels of certification for its implementation. He is delivering the certification via his Scaled Agile Academy. To be fair, this is a brand new initiative and, even though Dean is well-respected, it’s not clear we need this certification in the market.
  1. CAT – Certified Agile Tester: mostly a European-centric certification, this is the only tester focused certification out there. If you review the website, there aren’t too many certified testers yet, perhaps +/- 200, so I’d consider this a beta and experiment at the moment. The primary customer seems to be European at the moment—probably because of the intense general certification interest there.
  1. PMI-ACP: finally, the very venerable PMI has entered the fray with the Agile Certified Practitioner or PMI-ACP certification. After running a beta test in late 2011, there were over 2000 certified practitioners as I write this post in May 2012. Beyond the certification, there is a Community of Practice and the PMI seems to have embraced the notion of agile. The guidelines for certification are quite loose at the moment—being driven mostly by a “reading list”. PMI has yet to develop an “Agile BOK – Body of Knowledge” upon which to more fairly base the certification.
  1. IIBA: while not directly certifying BA’s from an agile perspective, the IIBA has defined an Agile Extension to the BABOK Guide. It’s a collaborative effort between the IIBA and the Agile Alliance to establish a baseline definition. Between ICAgile and IIBA, you probably get the best BOK-related references. It’s currently unclear how they’ll be leveraging it in their certification program(s).

I think the fact that there are so many certifications and how quickly they’ve grown from the Scrum Alliance is a testament to the popularity and pervasiveness of the agile methods. However, I can’t help but think that the sheer number of options dilutes the value from a certification-holder perspective and from a prospective employer perspective. How in the world do you select a path through this mass of spaghetti?

The other problem is that all of them place a focus on prescriptive knowledge acquisition (reading & memorization) and traditional testing. Very few of them emphasize real-world experience and verify that with more serious examination and proof. The Scrum Alliance CSC attempts to set a very high bar for entry and the numbers bear that out. But very few of the other certifications attempt to do that.

Most often the recipe is study a set of materials, then take & pass a requisite test. Then you have the credential. In a methodology that places so much on inspect & adapt hands-on experience; this really doesn’t pave the way for practical and situational experience.

My personal preference is that Scrum Masters need real-world experience and that it trumps all of the certifications. I’d much rather hire a person who’s been in an active Scrum Master role for 1-2 years, than someone who’s simply acquired a certification and thinks they can generally map their experience towards the role.

Body of Knowledge(s) and Consistency

The other thing that is somewhat lacking across the certifications is consistency.

For example and to their credit, the PMI and the IIBA both have developed a Body of Knowledge or BOK that is the basis respectively for the PMP and CBAP credentials. The BOK clearly identifies the areas of study and competency that a holder of the credential must achieve in order to receive it.

While you may disagree with what’s in the BOK, it at least provides a consistent baseline for the certification. I believe this is what ICAgile is trying to achieve by reviewing course materials on various agile topics.

Most of the other certifications don’t baseline themselves on a transparently established BOK—so there is widely disparate coverage of the topic based on which instructor / trainer you choose. The CSM is notorious for this, because each CST has their own set of material and covers the topics that they believe most relevant for the certification.

While this is allows wonderful flexibility for the CST, attendees can get very different views. I know of one company that sent employees to two different CSM classes taught by two different trainers because of geographical distribution. When they pulled these folks together on teams, they found that they didn’t have the same understanding of basic Scrum and agile practices. It caused the teams’ tremendous start-up pain and needed additional coaching to get the teams on a level playing field from a core skills perspective.

That wouldn’t have happened with improved consistency amongst CST’s. And I don’t think the burden of discovery should be on the client in these cases.

Even the PMI-ACP doesn’t yet have a BOK. What they do recommend is a “reading list” of 10-12 agile books that serve as the core of the certification. That’s an awful lot of reading and little real-world experience.

So be wary of how each certification quantifies its coverage and look for some semblance of consistency either by basic BOK definitions or partnering with a specific coach or trainer to better understand their philosophies and content delivery.

Basic Training

When I kick-off a Scrum team I have four levels of basic training that I’m trying to instantiate within the organization.

  1. Team-level—training the entire set of teams that will be initiating Scrum in the core methods. Usually this is a short class, 4-8 hours, with several workshops or games that illustrate the core behaviors of agile teams. This gets everyone on a level playing field for the method, roles, terminology, and basic practices.
  2. Product Owner-level—training the selected Product Owners and the entire product organization in the nuance of user stories, Product Backlogs, and Road-map Planning techniques. I’ll usually coach them until they have a well-established backlog for their first release and have a solid tempo of grooming meetings established.
  3. Scrum Master-level—this training can take the form of sending individuals to CSM (or similar) classes, or running an internal class that focuses on the role. I prefer the latter approach and then jump-starting the Scrum Master in operating in their roles. After 3-6+ months if they want to go for a CSM, they can do it from a position of experience.
  4. Organizational Leadership-level—training here focuses on the role shift for managers and executives in moving towards Scrum and agility. Addressing the requisite changes in their roles and how they have to adapt for effective agile adoption. I’ll also review organizational transformation strategies for specific functions, for example: the PMO, or Testing Center of Excellence.

I basically think that a team shouldn’t be “going Agile” without these four levels of basic training in place. They don’t have to be exhaustive, in fact all levels can be delivered in 2-3 days, but the overall balance in understanding they provide is often crucial for an organizations adoption.

Beyond the training, I don’t think you simply “walk away” and let these teams fend for themselves. As we’ll explore next, coaching is also a very responsible thing to do.

Training without Coaching is Irresponsible

As I alluded to earlier, agile training and certifications are IMHO virtually useless without real experience. And that experience isn’t gained without coaching and mentoring.

I’ll use a real story to make the point.

I was working with a team on starting up their adoption of agile. I came in and ran what I’d call an Agile / Scrum 101 session—equivalent to the CSM class. Everyone on the projected teams were “run through” the course as we setup the Scrum teams and Backlogs; preparing to start sprinting.

As a coach, I was given the opportunity to kick-off the first round of sprints. But then something wonderful & terrible happened. The client felt confident and comfortable with their skills—I guess I’d done too good a job of training. So soon after starting, they told me that they felt comfortable on their own and didn’t need any additional coaching.

I tried to convince them that having a coach around in the beginning was a very, very good idea; but they truly felt they had it down and declined. Six to nine months lapsed and I checked in on them a few times via email. The VP of Development kept saying that things were going “swimmingly” and they were truly enjoying agile development and the results.

But somewhere around the nine month mark I received a strange call. Things were “off the rails” at the client and they wanted me to come in and assess what was going on. When I arrived, I quickly agreed with their assessment. You could barely tell that they were applying the principles they’d been taught and there was tremendous distrust between the leadership and the teams—driving a lack of transparency and truth-telling. I was not totally surprised, but I was incredibly disappointed that they hadn’t called me sooner.

We quickly righted the ship and they’ve since become a stable, mature, and continuously improving agile organization. They’ve also agreed that ongoing, periodic coaching is a necessary part of their agile adoption until they gain more experience and sustainability.

That’s one of the key points I wanted to make in this article. The agile methods are deceptively simple and often newbie teams want to go it alone with too little training and little to no initial coaching. In most-all cases I think they’re making a HUGE mistake. Agility is very much of a mentored and experiential approach to software.

You’ll want to engage an experienced coach to help you adopt the methods (doing Agile) but also to internalize the core behavior changes at all tiers in your organization (being Agile) so that you truly gain the benefits of adoption to drive business value across your organization.

Wrapping Up

Solid Agile Project Managers can be a strong influencing point in early stage adoption. You can help the organization plan for training and ongoing coaching. You can encourage your teams to acknowledge their need for help—and you can have the seasoning to ask for it as early as possible.

You’ll realize that having experts around is not a sign of weakness, but truly a sign of strength.

Another area where you can help guide your organization is across the spaghetti confusion from all of the certification options. While training and certifications are an important part of adoption, you can provide the balance to help everyone understand that agile is about “the doing”. So having practical experience and gaining it with effective mentoring is truly a crucial part of your maturity and growth.

Thanks for listening,

Bob.

The Agile Project Manager: “Going Agile” – The Price of Admission

I often get asked to visit agile teams—delivering some ad-hoc training and taking a look about. Usually I’m asked to do an informal assessment and share improvement feedback—framing the visit as part get to know each other session and part agile assessment. A short while back I visited a team. They’d been doing agile (mostly Scrum) for quite a while and considered themselves relatively mature in their adoption.

Right away, when I got off the elevator, I noticed that their environment was open and airy; so very conducive to collaborative agile teams.  There were rolling whiteboards all about and small groups of people were talking and pairing all over the place. Even the managers were sitting out in open space.

So my anticipation grew as we walked around. I was looking forward to seeing some high-performance and mature agile team activities and the subsequent results that such teams can deliver. There’s nothing in the world quite as exciting as a well-honed agile team.
(I know, I know that’s a geeky, agile coaching perspective…but they do get me excited 😉

The other exciting part of this organization is that they’d invested in hiring some internal agile coaches. Again, that was a maturity indicator from my perspective as they had experienced ‘guides’ for their agile journey—call them Agile Coaches or Agile Project Managers.

The Teams

But then as I physically sat down with the teams and interacted, I realized quite quickly that something was wrong. Drastically wrong. The teams seemed to be aimlessly “doing Agile”. There was no sense of velocity, no sense of reliable burn downs, no sense of release planning, and each had no clear sense of commitment to where they were going. In a nutshell, the teams were in open space, there was an agile façade of sorts, and they even had coaches, but when you looked under the covers, there was no “consistency or directional substance” there. Here’s an example of what I mean…

Backlog Grooming – Run Amok

One of the first meetings I attended was a backlog grooming session. I was introduced to ‘John’ as the Product Owner. He was going over some user stories for his team and they were estimating them. John went to the board and started writing down numbers. I was curious as to what he was doing. Then he started to point to individuals and tell them what their estimates were for the individual stories. He articulated architecture and design approaches, as he saw them, and basically shared with his “self-directed” team that he’d sorted out all of the “hard stuff” for them.

He seemed quite proud of the leadership he was providing.

Their agile coach was also their Scrum Master. And John was the functional manager for the team, but also their Product Owner. He also seemed to have assumed the role of Chief Architect and general oracle for the team. Clearly there was lot of “role overloading” going on within this team.

So at this point I realized that I vastly underestimated the maturity of the teams. I had a perception from the coaches I’d met with and from the environment. But when you scratched the surface, the environment was culturally command-and-control oriented. They’d also seemed to be struggling with the people & focus investment that agile requires.

As I walked around the organization and became immersed in different teams, different projects, different instances of Scrum, etc.; I realized that everyone was saying they were ‘doing’ scrum and ‘doing’ agile, but there was no rhyme or reason to it.

There was also no consistency or standards in the practices. One team would be using user stories, but without any notion of or investment in acceptance tests. Another team would be spending nearly 90% of their development time ruthlessly designing cucumber tests, but their stories will poorly written and ill-defined.

In some teams, a team member was encouraged (forced) to be a developer and the Scrum Master and the Product Owner—without any training whatsoever. In other cases, functional managers were taking on Scrum Master & Product Owner duties for teams that reported to them. In these cases, you could SEE the team nearly always deferring to their managers in decision-making.

There was literally, self-directed bad Agile chaos. The only thing that was consistent across the various development groups was—

  1. The had a daily standup
  2. They had a sprint duration/tempo defined
  3. They had whiteboards and used lots of cards
  4. They had user stories and tasks for their current sprint
  5. They sort of supported Scrum ceremonies of sprint planning, demo, and retrospective
  6. You’re “self-directed”…so do what you want…

As I sat down with their coaches and (softly) confronted them on this—they reacted poorly. The overall reaction was that they were doing the “best they could”. That the organization lacked the maturity and readiness for more mature agile practices & adoptions, so they were introducing small changes in an effort to help where they could.

I felt quite sad afterwards.

I know the coaches were trying to do the best they could…and so were the teams. But, from my perspective they were just “scratching the surface” of agile and not realizing much (if at all) of the promise & benefit of “being Agile”. And it made me wonder if the coaches were actually doing their teams a service by only introducing them to the easier bits & pieces of agile and allowing the over-customization of most of the core practices?

Another way of saying it…is it ok to only do 10% agile and leave it at that? Even if the culture is challenging? Or if the teams resist? Or if the budget doesn’t allow for it?

Is that “good enough”?

The other key point is that by over-compromising, the coaches were not challenging the status-quo within the organization. For example, all of the functional managers still seemed to be behaving in a command-and-control fashion.  They should have received some training & coaching as part of the agile adoption—to at least introduce them to their need to and how to change their leadership habits.

ScrumBut

And I don’t think this organization is unique. Nor am I the only one who’s noticed ‘compromise’ in agile adoptions. I believe it was roughly in 2009 that Ken Schwaber introduced the notion of a “Scrum-but”, as in…”We’re using Scrum, but…”. Here are some precise examples:

  • We’re using Scrum, but we don’t know our velocity
  • We’re using Scrum, but our Manager is our Scrum Master and our Product Owner
  • We’re using Scrum, but we’re not a cross-functional team
  • We’re using Scrum , but we’ve never really effectively planned and executed a sprint
  • We’re using Scrum, but we don’t really groom our Backlog
  • We’re using Scrum, but we have 10 Product Owners directing our efforts
  • We’re using Scrum, but we only have 10% of everyone’s time to get our sprint work done

Apparently he was noticing quite a bit of Scrum without the conviction associated with doing the majority of its practices well. What was frustrating is that every ScrumBut team likened themselves to “doing Scrum”. From their perspective, they were actively leveraging it. But their implementations were mere shadows of the true intention of Scrum.

Now I do think Ken is a bit of a purist. His expectations are that all teams should do 100% of Scrum, as he personally defines it in the Scrum Guide, or you’re a ScrumBut. I think that can be a bit harsh and unrealistic. However, I do feel there should be minimal levels of adoption that are required before a team claims to “be Agile”.  That’s where we’re going next.

Should there be a price for agile admission?

The team I visited made me think and I’m thankful to them for that.

Think about whether it is ok to adopt miniscule and easier bits of the agile methods and still declare yourself to be agile. To fool yourself into thinking that you’re already “good enough” and that whatever path you choose, all will equally drive the promises of agility—without the hard work.

I’ve always prided myself on being a pragmatist as an agile coach. I’ve certainly molded and crafted practices for teams that included compromises. I felt that agility meant that you were situational or context-based in your application of the various techniques and approaches.

And to a strong degree, I still feel that way. However, is there a point of diminishing returns? Where you compromise so much that the resulting practices are virtually worthless? And that the results you realize are so small or even negative in their impact? Or actually do damage to the team and to the agile community?

I now think the answer is yes.

When we adopt agile there should be an intentional price of admission. Call it a baseline of core agile practice support that you will achieve prior to “going Agile”.  For example, I don’t think you should be doing Scrum without a Scrum Master. I think having a Scrum Master is a price of admission element to Scrum. And here is some fine print around that notion:

  • Every Scrum team needs a dedicated or near-dedicated Scrum Master; someone with sufficient time to practice the craft of the role.
  • They need to have a fundamental understanding of Scrum and received some “serious-level” training around the role and agile leadership. I’m not demanding a CSM, just some investment in external training.
  • It’s incredibly bad form to have a manager assume the Scrum Master Role—particularly bad of their team also reports to them. Don’t do that.
  • If they are multi-tasking between the Scrum Master role and another role (developer, tester, etc.) they shouldn’t be the Scrum Master on a team where they’re also an individual contributor.

If you can’t support the above constraints in establishing Scrum Masters, then don’t do Scrum. And this is simply one example of the entry criteria for Scrum. I went into more detail to make the point regarding one of the more important roles within a Scrum team.

Scrum Entry Criteria

Here’s what I would consider a short list of entry criteria or the price of admission for entering Scrum in your organization:

  • You’ve introduced Scrum & Agile to your leadership team and they understand (and accept) the transitional role they need to play
  • You have a focused Scrum Master and focused Product Owner per team
  • You have formed dedicated (focused), cross-functional team(s)
  • The team(s) has been trained in all aspects of Scrum
  • You have a thoughtful Product Backlog per team, encompassing the project at-hand, that has been groomed by the team
  • The team(s) have Release Planned their first project-level deliverable
  • The Scrum Master(s) & Product Owner(s) have received separate training on the individual nuance of their roles
  • There are NO compromises with role overloading OR functional managers taking on roles across the team(s)
  • The team(s) can self-direct and has examples of successfully doing so
  • The team(s) have an environment conducive to collaboration
  • The team(s) are committed to using low-fidelity tooling (cards, walls, whiteboards, team rooms, web cams, simple e-tools, etc.)
  • Before starting their first sprint, the team(s) have a clear project mission, charter & goals that they can leverage in guiding and measuring their sprints

Too Prescriptive?

But is the above list too prescriptive?

I’ve often heard the argument for open-ended agility as being truly self-directed. The thought goes—how we can truly be agile and still hold prescriptive guidelines over a team?

My counterpoint to that is we’re talking about Shu-level teams here and Shu-level organizations (interpret Shu as entry-level experience and there’s a link for more research at the end). I believe a bit of prescriptive guidelines are necessary in order to set the stage for what “good Agile” looks like. It creates an environment for teams to mature so that they can effectively inspect & adapt their way towards higher maturity and performance.

I’m starting to think that not setting clear entry criteria is a bit of an irresponsible copout. That as coaches we have gotten a bit lazy, as it’s so much easier to coach agile teams without any entry criteria or guidelines—as you saw in my example. Shame on us!

Wrapping Up

This was a serious post for me in that it’s challenged the very core of my flexibility and pragmatism in my own agile coaching. I think determining what to baseline and how to approach agile adoption is a deeply situational and personal choice for most Agile Project Managers & Coaches.

However, I think as a discipline, we err too much on the side of too little. Call it a lack of courage or willingness to take a stand. I don’t try to understand the drivers. But for my own coaching, I’m going to be asking more of my teams going forward in their initial agile practices. Not in the search for perfection. But in the search for a “meaningful set” of initial practices that are hard, that drive improvement, and that fosters an environment of “agile done well” in the teams.

Another way of saying it, I don’t think we can truly call ourselves Agile Project Managers & Coaches if we’re fostering “10% Agile”.

Thanks for listening,

Bob.

References & Follow-up

1.       Online version of the ScrumBut test

2.       A counterpoint to my “seemingly forceful” diatribe; Rachel makes the case for not being too forceful…

3.       Shu-Ha-Ri to help with my Shu-level references

Don’t forget to leave your comments below.