Dread-free Software Estimating


You may believe that time estimates are useless. You may be correct. Estimates fulfill a specific purpose, predictability, which may not apply to your project or initiative. Any schedule-driven project, Agile or otherwise, hinges on the accuracy of estimates. If you don’t need predictable delivery, you can skip this headache altogether. If you’re lucky enough to work on a product…

Read More »

Story Slicing


One challenge of Agile development is the process of breaking down business requirements from Scenarios into a set of clear and distinct User Stories. Evolving software architectures have forced us to adjust some definitions. Story Craft User Stories begin with a declaration: As a <user/actor>, I want to <do something> , in order to <get some result>. Each Story should…

Read More »

The Date-Driven Project: Cracking the Agile Paradox – Part 4 of 4


Of course we need tools and techniques to successfully manage a project, but we also need agreement among all the stakeholders — agreement on budget and schedule, agreement on functionality, and agreement on rules of engagement. In this series, I’ve discussed some of the advantages and disadvantages of Agile methods, Scrum in particular. Pristine Agile methods are ideal for projects…

Read More »
Rail yard in action.

The Date-Driven Project: Cracking the Agile Paradox – Part 3 of 4


In the previous installment of this series, we talked about scaling application designs and breaking those designs into tasks and estimates in preparation for scheduling. Now let’s take a look at how to go about building that schedule. The Scrum metric for capacity or work completed over time is Velocity. Over several Sprints, Scrum teams calibrate themselves by assigning complexity…

Read More »

The Date-Driven Project: Cracking the Agile Paradox – Part 2 of 4


In Part 1, I discussed some of the realities of schedule-driven software development. We looked at the both the practical business need for deadlines, along with the pitfalls that have tended to polarize engineering teams and their stakeholders. We also explored the two project management extremes: The waterfall method, in which we set a deadline and then identify, analyze, and…

Read More »
Triangle Illusion

The Date-Driven Project: Cracking the Agile Paradox – Part 1 of 4


In this article, we’ll take a closer look at schedule-driven projects, which I touched on in an earlier post, entitled “Feature Driven or Date Driven?” All date-driven IT projects have competing goals, derived from the vertices of the so-called “Iron Triangle:” budget, scope, and schedule, where quality is an orphan (more on that some other time). Anyone confronted with this…

Read More »

Point Deception


Dead Reckoning Story Points originated deep in the annals of early Agile methodologies, before Scrum. Points were meant to address a specific problem: A feature’s complexity is distinct from the amount of time it takes to implement it, due to the widely variable skills and productivity of individual software engineers. Scrum teams use Story Points to calculate their Velocity, a…

Read More »

Rebooting the Agile Manifesto – Part 3


Before I finish crawling out on this limb, let me first say I am a practitioner of Scrum and Kanban, the two most common Agile methodologies, and my inflammatory comments below are a result of experience, not resistance. Feel free to discount my opinions as the rantings of someone who just doesn’t get it. Possibly true. I’m still going to…

Read More »

Rebooting the Agile Manifesto – Part 2


“Working Software Over Comprehensive Documentation” Human communication is imperfect, especially oral communication. If you’ve ever played the Game of Telephone you’ve experienced signal degradation first-hand. All kinds of factors interfere with fidelity: personalities, cultural differences, moods, domain knowledge, and the non-stop voices inside our heads that filter everything we hear and see through the cumulative effects of our personal experiences.…

Read More »