Showing posts from October, 2013

What Kind of Game Are You Playing?

Alistair Cockburn promotes the model of cooperative games for software development: Viewing software development as a “series of resource-limited, cooperative games of invention and communication” meets the objectives for an underlying model of our field: It lets us make sense of historical successes and failures.It names at the top priority level a set of topics that are known to be important to project success but do not normally have a place to live in discussions of software development, topics such as community, amicability, morale, talent, trust, proximity, and sufficiency.It offers immediately usable advice to people busy on live projects. Here's a drawing Alistair uses to illustrate his point: With business stakeholders we should be playing a cooperative, finite goal-directed game in which each member of the team understand his or her roles, responsibilities and strengths, the desired outcome is clear, the outcome's temporal horizon is relatively close, and our status …

Surest Way to Get Nothing Done: Load Teams to Capacity

Among the many great topics in his book The Principles of Product Development Flow, Donald Reinertsen talks about controlling flow under uncertainty and the danger of congestion.  While WIP constraints help manage the flow of value from a system, by themselves they do not ensure that the system is at a high-throughput operating point. These diagrams show the corresponding effects of hitting full capacity on throughput and delay: Knee - point after which throughput increases slowlydelay increases quickly Cliff - point after which throughput decreases quickly to zero (congestion collapse)delay goes to infinity Simply put: when we cram too many projects in the product development pipeline, we create queues.  These queues create a frictional drag on throughput as developers spend more time expediting and less time adding value.  The added load reduces output instead of increasing it.  When the project load hits a critical point, we will see a sudden and catastrophic drop in output.  As sys… As A Project (NOT An Editorial)

Don't worry, this is not just another political rant for or against government involvement in the national healthcare system.  However, since the issues surrounding the launch of the US site have gotten a lot of attention there are some really good conversations around IT and business project success that are worth reviewing. The NY Times on Sunday published From The Start, Signs of Trouble at Health Portal, citing the largest contractor on the project who noted that, although they were awarded the contract for in December 2011, actually coding didn't start until Spring 2013, and until late September, days prior to launch, some significant features and user requirements were still being debated. James Turner wrote at that You Can't Legislate Away The Time, Money and Features Law, and in a few brief paragraphs captures many of the typical failures that occur in a complex project like the healthcare portal, not the least of which is full integratio…

Backcountry PC Gold Points System Hackathon

A group of software developers put themselves in a room Friday afternoon committed to delivering an application to help Sara Hutchinson and others who administer Backcountry's Gold Points reward system. Ryan Debenham, Ryan Walls, Rusty Robinson, and Peter Gram applied their considerable skills, knowledge and a set of web app development tools to the task of creating quality software in a tight timebox, starting at 1:00 p.m. with the goal of finishing by 6:00 that evening. At the end of the day, the team had produced software that created value for the small group of people who administer the Gold Points site, and by extension for all the people who benefit from the Gold Points system.  In the process, they validated some important principles that make Agile teams more productive and effective (things like focus, team effort, business user engagement, and more--skip to the end to see a summary). Backcountry is proud of its Gold Point reward system.  Employees receive Gold Points a…

Technical Debt Ceiling

With all the yammering from politicians about the debt ceiling this seems like a good time to talk about technical debt. Technical debt is a metaphor.  Just as each of us incurs financial debt in life (sometimes recklessly, other times prudently), software gets released to production with some corners cut. The idea that no shortcuts will ever be taken is impractical.  Scrum teams own their solution decisions, including feature coverage and code quality.  Rather than semantic or dogmatic arguments, teams use tools, apply standards and work together (including acceptance criteria, pair programming and code reviews) to release the best quality at the right point in time.  Here's a matrix to help frame a view of technical debt:

We make deliberate, prudent decisions to ship software because we know it will provide value to the business and we want to deliver value as soon as possible. We introduce technical debt inadvertently because sometimes we just don't know what we don't k…