Including delivery/deployment in the definition of done I'm told is unfair because teams aren't in control of what gets delivered or when.
🧵
"Their work might be completed, but be only a fraction of some larger scatter-gathered effort, so it's not their fault."
"They may be dependent on work from another group, say FE or BE or database, or something, so it's not their fault the work isn't done."
"They may have worked on a dozen things, but only one was delivered. It's unfair that it doesn't represent all of their effort."
"Releases aren't done every sprint/increment/week/whatever, so it will look like uneven velocity if we only count work actually delivered."
"They should be able to count the points for everything they worked on, whether it's delivered or not."
"A manager may decide not to release their feature and leave it in the branch -- maybe never release it. It's not their fault so they should be able to count the work they did that was cancelled."
"There could be technical issues that make the feature un-deliverable. How will they count their points if the feature can't be completed?"
"The testing departments could return their code for rework, and that would keep them from counting all the work that they did on the feature."
"It's up to the customer to accept the work, and if they don't then none of the effort will count."
All of these say "it seems unfair to count accomplishments when the system works against accomplishing things, so we want to honor and respect the busyness of the team members instead."
This is what I mean by "busyness accounting" -- focusing on how busy people are, not on whether we're reaching our goals. It seems more "fair" if we are evaluating people on how *much* they do instead of what value is delivered.
It arises naturally and organically when we're tracking people in the system instead of work through the system, and when we're focused on people "scoring points" of velocity instead of delivering value.
Go back and notice the helplessness in each of the complaints/reasons to not count delivery.

"Our system is dysfunctional and resists our best efforts, so we count how hard we try instead."

A better system might change everything.
If only delivery/achievement counted, how would you rework the way you are doing software today? What processes would you change, eliminate, or trade out?
What would you do instead?
What if it's not impossible?
Could you work in a world where the rules are different?

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with "Agile Otter" Tim Ottinger

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @tottinge

10 Dec
If I'm involved in a task and it's not completed yet, then people may want to talk to me about it or ask questions.

Eventually it's done, and there is less reason for people to need my attention on that topic.
So, the more work I have in progress and incomplete, the more reasons people have to talk to me.
When I have a lot of work in flight, and I'm trying to work on something else, then all those conversations will be felt as interruptions in the work I'm doing now.
Read 10 tweets
18 Nov
So here's what I wanted to think on today: Continuous Improvement.

It has two features to consider:
* It's about making improvements
* It's continouous
Let's take the 'continuous' bit first:
* You're not in it for a burst or for a while, you're in for good.
* Nobody has completed their continuous improvement program. Ever.
* It's not "hopping from rock to rock" - improvements sustain and accumulate.
If you "improve" by expending greater physical effort and endurance, you can't do continuous improvement. Working harder isn't an improvement at all.

You have to sustain if you're to be continuous. Lower the level of effort necessary to succeed, don't brute force it.
Read 12 tweets
17 Nov
Lamenting with a friend that the majority of code we see in the wild is written by people who don't know the first thing about writing code.

Maybe we can muse on this? There is something interesting going on here.
I've seen two serious exceptions to the lament:

1. They are working with a technical coach.
2. They are in an ensemble

Otherwise, the best we can say most of the time is that it achieves the effect (often in the worst possible way).
Otherwise, any basic understanding of software design, coupling, cohesion, software organization, OO or functional, etc is not evidenced.
Read 5 tweets
17 Sep
So a given web application has an architecture which involves a UI and an API and under that some domain objects, data, etc.
When a new feature comes up, there is a gherkin test that does NOT go through selenium, but directly to the API. In developing the gherkin test, the team drives out the changes needed by the API and gets it working.
The gherkin test is a "story test" and checks to see if the system (behind the UI) works correctly. It does data, persistence, etc in a safe way.
Read 13 tweets
14 Sep
Primitive Obsession Detection:

when you see:
<primitive type> variablename;

See what methods the primitive type has which are not appropriate for the domain of variablename. What does type do that variable shouldn't?
string CustomerId;

What does string do that a customer ID shouldn't?
It can be
* passed as a time zone.
* upper/lower cased.
* concatenated to/with other strings
* passed as a filename to open()
* centered in a field of spaces
* used as a format in a print statement
* searched
int typeCode;

It can be:
* operated upon bitwise
* used as a port number
* treated as a boolean
* multiplied/divided/added/subtracted
* overflow/underflow
* passed to so many functions!!!
Read 7 tweets
3 Sep
Q: Why say "ensemble"? Just use the proper name "Mob Programming!" Is this just PC run amok?

A: I needed a term to encompass Pair Programming, Mob Programming, and Swarming. That it's inoffensive is a very nice and welcome bonus (worth it).
You know, people snigger when I say "pairing" as shorthand for pair-programming. It suggests sexual behaviors.

People also flinch when I say 'mobbing' because it is a term for grouping up to bully people in schools and workplaces.

"Grooming" is another - suggesting pedophilia.
We deal with words as they are used and try to not draw connotations we don't mean. That's just being clear.

"Ensemble" is a good category term. The other, better, term is "teamwork" but people have coopted that to mean all kinds of "working near but not together."
Read 8 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(