Skip to content

Barry Hawkins

Product Development Consultant, Educator, and Coach

Diagram showing where the events of a batch development cycle are placed

Events of an Effective Development Cycle

A frequent inhibitor to effective development process is misunderstanding of the intended structure and outcome of the recurring events in a batch development cycle/sprint/iteration. I am frequently asked to provide a clear, comprehensive example of how an effective development cycle should be structured.

Launching The Hawkins Compendium with the Batch Cycle (Sprint/Iteration) Planning and Tracking Guide

For well over a decade, clients and colleagues have asked that I publish some of my guidance and training on all things Product Development so they could make use of it.

I am happy to announce the launch of The Hawkins Compendium, a curation of material I have developed over the years while leading development teams and organizations to greater levels of productivity and collaboration.

Drawing of a box labeled "The Thing" with The Myth of Commoditized Excellence written above it

The Myth of Commoditized Excellence

When we learn new things from grappling with problems, it is natural for us to want to share those learnings with others, in hopes that they will face similar challenges with less of a struggle.

How do those well-intended new ideas so often evolve into movements that seem to lose their way, and at times do more harm than good?

In the course of observing and at times being involved in this phenomenon, I sought to understand what I saw happening time and again. Almost a decade ago, I arrived at an explanation that I named The Myth of Commoditized Excellence. What follows are the steps that can lead down this unfortunate path.

Development Team Roles on a whiteboard

Roles in an Effective Development Team

Team composition and roles can vary widely across development teams. The type of product being developed, team charter, organizational culture, and industry norms all impact whom we place into teams.

When taking an agile approach to product development, what commonalities should there be across teams as far as roles and responsibilities?

The Iterative Cycle on a Post-It, commit, execute, evaluate

The Iterative Cycle: Commit, Execute, Evaluate

What does it mean for a team to develop software in an iterative fashion? In the wash of various processes within the agile ecosystem, iteration has come to be an overloaded term used with little thought to its purpose or the context for those systems.

The focus for this article is not iteration upon the products in the team’s portfolio, but rather the team iteratively delivering the work in their backlog.

In my experience, a healthy iterative cycle for a team involves three phases: Commit, Execute, and Evaluate.

The API for Teams on a Post-It

The API for Teams

In evolving toward greater agility, we must strike a balance between uniformity across teams and allowing flexibility for process tailored to unique team contexts.

As your organization grows from 2 to 10 to 50 teams, you have to be able to coalesce their delivery queues into an overall picture of what is being developed. However, if you push for too much uniformity, the process is no longer effective for all the types of work that go into developing your product, often to the detriment of quality and timely delivery.

Seeking that balance, I asked myself years ago what is the minimal commonality needed across teams. Coming from a (mostly back-end Java) programming background, I was inclined to express this in terms of an API_. I call it The API for Teams.

What should your development process provide?

Four Outcomes of Effective Development Process

Have you ever wondered why your team is using its current development process?

If you’re the person facilitating the process, have you ever been asked “Why are we doing things this way?” and found yourself unable to articulate anything beyond process mechanics?

For me, an effective development process is meant to provide four key outcomes beyond merely delivering work. I expect these outcomes irrespective of the methodology, framework, or tools being used. My focus here is team-level development process, but the outcomes certainly scale to the organizational level.

Barry Hawkins at the 2013 Domain-Driven Design Summit

The Story of Why I Left Riot Games

“So this is it. This is going to be the thing.”

That’s what I remember thinking as I left the room where I had just finished a conversation with two female mentees.

I had wondered for some time when there would be an incident serious enough that I had to talk to leadership about unacceptable behavior in the workplace, and here it was.