Fundamentally Agile: Why is Closing Sprints So Important?

In waterfall, we commit to (or have commitments made for us) delivering on time, within budget, and a to defined scope. In Agile, we say that for a given date, we will estimate the work that will be done, and update the business as we go.

Of course, this principle is as widely ignored as it is misunderstood. Part of the misunderstanding is that planning-driven businesses think that if things are planned properly, then teams should be able to execute them to schedule. Unfortunately, this thinking is incorrect on several counts.

“Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.”

 

The first count is that it treats software like the repeatable, repetitive tasks that traditional project management evolved to control. The realization of Agile, however, is that software is neither repeatable nor repetitive and thus is also not predictable. Therefore traditional project management does not apply. Agile is came about in reaction to this.

If we have this constantly changing problem space and increasing collaboration growth, which precludes us from following a plan, how then do we help the business gain any predictability at all? We commit to finishing a certain block of work in a set period of time. Timeboxing the work this way is how we get to focus on completing a valuable piece of work, while also giving the business plannable increments.

By updating our overall backlog estimate at the end of every sprint and applying our velocity to it, we can then update what we estimate we can complete by a certain date. This commitment to finishing a sprint is essential because this is the mechanism by which we escape the iron triangle where somebody outside the team created an “estimate,” which became a commitment, which the team is locked into before we ever see the work. Instead, we ask the team to look at the business problem, create a backlog, prioritize and size that backlog, estimate a release schedule, and update this at the end of every sprint. This is the contract that we make with the business so that we can be self-directed.

“Working software is the primary measure of progress”

 

Achieving this creates trust and allows the business to make decisions. When we fail at this, we create a rolling wave of technical debt and lack of trust with our business partners. Eventually, they will come in and manage us in the only way they know how. We will lose our autonomy, and ultimately the thing we are trying to achieve – quality software – will fall wayside to the process.

“Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage”

 

The other major fallacy is that how you complete the work is independent of the work you complete. Again, Agile came about in reaction to this. As soon as you start the work, you narrow the Cone of Uncertainty, and increase the Cone of Understanding. This is not just on the development end, but also on the business/customer end.

This is why we demo: so that we can get constant, rapid feedback and adjust. Not “in case we need to” but because we embrace the fact that as we show our work to customers their understanding and needs will also evolve and instead of building the product to a preset plan, we will build the best product. Forcing a team to follow a plan to make them predictable, rather than embracing change, also forces them to create, at best, mediocre software. For this reason often when do we do everything we were asked, we still have unhappy customers. I recently worked with a group who turned of 40% of the features they delivered as having no business value. Ouch.

“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”

 

One final thought. When we talk about “potentially releasable code,” it’s not just completing the Definition of Done on a single piece of software that would not add significant business value. It’s about creating new functionality every sprint through a combination of all  our stories. This is why Scrum focusses on “vertical slices” – because those slices represent finished, tested, and integrated business value. A best practice is to clearly define what this increment will be in a sprint goal. When coaching, I often challenge the teams by saying, “If we lost our funding at the end of the sprint, what value would we have added?” If we don’t close the sprint, even if we get “most of it” the answer is “None.”

 

Conclusion:

·       Create your own Affinity Estimate and release plan.

·       Organize the sprints to deliver business value through sprint goals.

·       Commit to delivering that value.

·       Do whatever it takes to make that happen: swarming, pairing, testing each other’s code, etc.

·       Use the demo feedback to update the backlog and maximize your business value.

·       Update your backlog estimates and communicate them out at every demo.

 

Ed Miller

Financial Advisor, CFP? , Edward Jones, Exeter NH

5 å¹´

??

要查看或添加评论,请登录

Jon Tobey的更多文章

  • Cyber Monday Special: Free Bulletproof User Story Template!

    Cyber Monday Special: Free Bulletproof User Story Template!

    Better requirements gathering through User Stories in 500 words or less In my series on story mapping, I made the…

  • Don’t Motivate Your Staff to Cross Purposes

    Don’t Motivate Your Staff to Cross Purposes

    I believe that establishing a culture is the most important thing in making world class software. And, I believe that…

    7 条评论
  • Metrics that matter

    Metrics that matter

    People are forever asking me for Agile metrics, and are rarely satisfied with my answers. This is because most…

    5 条评论
  • Story Mapping for Agility, Part 2: Making it Agile with Business Value

    Story Mapping for Agility, Part 2: Making it Agile with Business Value

    Typical project management measures projects in time, budget, and scope. There is a lot of value placed on following a…

    4 条评论
  • Does your value stream map reflect your Agile values?

    Does your value stream map reflect your Agile values?

    I love value stream maps and think they are fundamental to any business transformation, especially an Agile one. Like a…

  • Story Mapping for Agility, Part 1: Escaping Scrummerfall

    Story Mapping for Agility, Part 1: Escaping Scrummerfall

    Agile is what we are, Scrum is what we do. Edited by Jay Quibodeaux Be sure to read part 2, Story Mapping for Agility…

    1 条评论
  • The Fallacy of Bottom-Up Agile Transformation

    The Fallacy of Bottom-Up Agile Transformation

    Neither I personally, nor anybody I know, have ever seen “bottom up” transformations work in corporate America. If your…

    2 条评论
  • How Agile Estimation is Like Brewing Beer

    How Agile Estimation is Like Brewing Beer

    A brewer friend of mine asked me what a story point is: Imagine a user story is a beer recipe. We are designing it to…

  • Six of One…The ABC Game

    Six of One…The ABC Game

    Transitioning to Agile is as much (or more) about how you think as much as what you do. Often, we get trapped in what I…

    2 条评论
  • Fundamentally Agile: Output/Outcome

    Fundamentally Agile: Output/Outcome

    fun·da·men·tal forming a necessary base or core; of central importance. Often when I start a new coaching engagement…

    1 条评论

社区洞察

其他会员也浏览了