Over the past several years, as I’ve been helping teams and organizations improve their ability to deliver software products that are desirable, viable, and feasible, I have been experimenting with a Behavior Framework that has proven to be rather effective. And I’d like to share it with you in hopes that you find it useful and that you provide me feedback on your experiences with it.
Beginning a New Book
My plan is to write a series of blog posts all related to the behaviors framework. Some of them will be about a specific behavior. Some of them will be about tools or techniques that help teams express one or more of the behaviors. Some of them will be my own experiences. And some will be damn near complete fiction.
Parallel Thinking
Increase the value of your stand-ups with different questions.
I’ve recently started working with some teams who have elected to use the classic three questions during their stand-ups - “What did you do yesterday?”, “What will you do today?”, and “Are there any impediments in your way?”
I’ve been talking about and advocating for different stand-up formats for quite some time. I, frankly, think the three questions are too focused on individual activity and lack focus on group progress.
If you like the format of three questions, may I suggest you try some different questions?
A glass house in a hurricane zone
I was recently asked to answer a question on Quora about the challenge of keeping up with change in a software project. The answers were a resounding cacophony of “yes” - change is a real problem in software development.
Inspired by discussions with Jess Kerr and others, I took a different stance. Here it is:
Making a meeting suck less
Status Meetings - they happen every day, to thousands of people. Millions upon millions of corporate dollars are spent every year on them. Countless hours dedicated to attendance. And they suck. They are most often mind-numbing, pointless, disruptive wastes of time.
What if we could make them suck less?
Pair Programming - A Skills-Based Approach
Metrics and Scrum
So there we were, at an agile conference. Well, not at the conference exactly. But at a bar very near to an agile conference.
A few patrons were talking agile stuff - like they do. And someone, as evidence in support of their stance that all metrics are evil, used the “But the Scrum Guide”, defense.
“But the Scrum Guide doesn’t prescribe any metrics. As a matter of fact, the word metric is not in the Scrum Guide. Not once.”
I found this claim dubious, so I checked it out.
All agile stand-up meetings must...
Refactoring: Introduce Parameter Object
A cluster of parameters often indicates an object in hiding. By creating a Parameter Object, you are making the code more flexible and you may discover a new object that was hiding in plain sight. In many cases, not only will you end up moving the parameters into a class, but you very well may discover that some of your code will move into the class as well. In this way, parameter clusters can be an indication we have a Single Responsibility Problem.
Agile is "the best"!
I was asked to answer the Quora question, “Why is the Agile model the best”.
I’m not comfortable with the notion of “best”. Maybe “better”, “leading”, or “fit for purpose”. But most of this is so contextual and ephemeral, I tend to avoid the label “best”. That nit-pick aside…
Agility focuses on working in teams together with the customer to deliver high-quality working software in rapid cycles.
Deadlines and Agility
I was recently asked to engage in a debate over whether or not there are deadlines in agile. There were a few folks involved in the debate and the predominant perspective seemed to be that true agile efforts have no external deadlines - all deadlines are self-imposed by the team in the form of an iteration commitment or a scope negotiation with the Product Owner.
This is bunk.