Development Logs: Holistic Journaling for Development Cycles

Partial screenshot of an example Development Log

One more entry to close out February!

This week's addition to The Hawkins Compendium is the Development Log artifact. Second only to the Batch Cycle Planning and Tracking Guide, this is another highly-requested item.

From the Overview:

Much of the training and literature on iterative development process focuses on planning and tracking the schedulable work, but that is only part of the picture in a development cycle. Development Logs (DevLogs) are used to capture a more holistic view of iterative cycles in a uniform and lightweight manner across teams.

I hope you find it useful, and more installments will be coming soon!

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.

Read more…

The Myth of Commoditized Excellence

If you give it a name, people will expect you to hand it to them in a box. - Attributed to W. Edwards Deming, but unverified

A New Idea

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.

Read more…

Roles in an Effective Development Team

Whiteboard drawing of the Roles in an Effective Team

Roles Common to All Teams

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?

Over the years, I have settled upon three essential roles for healthy and effective product development teams: Cross-Functional Team Members, the Team Steward, and the Product Steward.

Read more…

The Iterative Cycle: 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.

Read more…

The API for Teams

The API for Teams in an IDE

A Common Contract 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.

Read more…

Four Outcomes of Effective Development Process

What should your development process provide?

Why Are We Doing This?

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.

Read more…

The Story of Why I Left Riot Games

Image courtesy of Vladimir Gitlevich

“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.

Read more…

IBM developerWorks Podcast: Barry Hawkins on agile software development

Earlier this year, my friend Andrew Glover interviewed me for season 4 of his IBM developerWorks Java Technical Podcast series (iTunes) on the topic of Agile software development. The episode is titled "Barry Hawkins on agile software development" and runs 41:03 in length.

This was an enjoyable interview; I've known Andy for years, and his style as an interviewer is quite comfortable and flows conversationally. What I really enjoyed about the venue is that it afforded me the chance to talk about software development, the Agile ecosystem, and the primacy of a healthy company culture in ways that I typically do in one-on-one or small group discussions, or talks at conferences that don't get recorded.

Read more…