Monday, October 15, 2018

When the Story is Not Done

Things go wrong during sprints.
One of the most important facets of agile is the quick cycle times make it possible for people to react to change rapidly.  The end of each sprint is an opportunity to gauge success and look for areas of improvement.  The speed forces us to do work in smaller chunks and gather feedback and direction from customers.  An agile team can bite off more than it can chew in a sprint.  Today on my blog, I want to discuss some recommendations on how to handle stories which take longer than a sprint.

In a perfect agile practice, each team completes all of the work they commit to in a sprint.  The need to “roll over,” critical work to the next sprint does not happen.  In the fallen world where most of us live and work, stories do not get finished at the end of the sprint.  It creates a challenge because the unfinished story might delay a release or throw a delivery timeline off schedule.

The Scrum Guide does not say much about what to do when a story is incomplete at the end of a sprint.  Since there was no consensus, a beginning scrum master just rolled over the story and asked the team to finish the work in the next sprint.  The approach was no different than letting a milestone slip in a waterfall project.  The collective wisdom of the web stepped forward, and experts suggested an incomplete story should return to the backlog and reprioritized.  If the story still had value it can be placed in the subsequent sprint; otherwise, it can wait.

Concentrating on what is important rather than what is unfinished each sprint is what makes agile so powerful.  Unfortunately, unfinished work can become technical debt overnight and create conflicts inside the agile team.  Many stories are incomplete because the team has not met the standard of care for the story.  Unfinished unit tests and incomplete acceptance criteria are prime culprits for this situation.  The group wants to split the story and lower the number of story points so that it does not look like the velocity of the team is impacted.  The truth is velocity is affected.  The team failed to deliver story point in the previous sprint, so the velocity has gone down.  A team should both see and feel the effects of not meeting the standard of care.  People outside the team should also see an honest portrayal of the challenges the team is facing.  There should be no secrets on an agile team or in an agile enterprise.

When a team fails to deliver this is also an opportunity to bring up in the retrospective what caused this kind of setback.  Product owners should understand there is more to a story than writing code and developers should be more assertive about how they communicate.  The team should own up to the failure and try to do a better job next time.

Failure is hard, but it educates better than any success ever could.  It also makes future victory sweeter.

Until next time.

Monday, October 8, 2018

Agile and the Toxic office

The Open office plan circa 1960.  
A modern office resembles the dark vision of Jean-Paul Sartre’.  In his play “No Exit,” he traps three characters in a room.  The characters psychologically torment each other.  The lights never dim and no one can escape.  To Sartre’, “hell is…other people,” and they are impossible to escape.  It sounds like a perfect description of the modern office with cubicles and open floor plans.  By design or neglect, the contemporary office has become a toxic hell which white collar workers navigate each day.  As an agile coach and scrum master, you need to fight this toxicity and make work better. 

The open office is not a new concept.  As business expanded, hundreds of people were needed to perform necessary clerical work.  Captains of industry required contracts typed, checks deposited, and in a time before computers numbers crunched.  Many of these jobs became obsolete with the advent of computers and photocopy machines.  Today, an employee with a laptop can be more productive than an entire 1950’s office pool.  It is impressive when you think about how office work has changed over the last seventy-five years.

It is also surprising how little has changed.  Alcohol abuse is still a problem in the corporate world.  The “Peter Principle” which promotes people to their level of incompetence is still in practice.  Finally, according to Gallup, two-thirds of workers in the United States are disengaged.  I feel strongly Agile came into being because competent, hardworking people thought it was possible to do better.

The reason offices converted too open plans is the combination of perverse economic incentives and naive notions of what it takes to build a collaborative team. In cities with large business communities, rent is at a premium.  In Chicago rent increased by 20% in 2016 and currently leases at $50 to $60 a square foot.  Based on the price pressure, business owners have the incentive to get the maximum amount of use out of each square foot.  The open office makes that possible and managers can squeeze more people into less space.  The open office plan began with Frank Lloyd Wright and his Johnson Wax office building; it also has an origin in German design from the 1950’s.  The open office would facilitate conversations, collaboration, and innovation.  The reality of open offices is an environment employee’s loath.   

It does not help the shareholder value theory of business motivates many managers.  To these managers, the only thing which matters in increasing the share price or dividend for the company stockholders.  Thus, the open office and the shareholder model of business creates a fiendish replication of Sartre’s hell.  We are trapped economically in a space which is designed to torment us.  It is this combination of poor work environment and leadership which ignores stakeholders, customers, and employees are why I think we have such a severe problem with disengagement and alcohol abuse in office culture.  When there is a disconnect between your work and your wellbeing, something has to give; for many, it is their self-esteem and enthusiasm for work. Marxist philosophers call this “Labor alienation,” and it is just as bad today as during the sweatshops of Dickens.

Agile came into being because people doing the work of building the world economy through there was a better way.  These people were project managers and technologists.  None of them were Fortune 500 executives.  Individuals and interactions, responding to change, customers collaboration, and working systems were more important than everything else at the office and embracing these values we say we are trying to make the office less toxic. 

Many of us feel we are powerless to change things in the office.  Agile gives us the tools to expose dysfunction and reduce alienation.  We have to be brave and smart enough to use those tools; otherwise, we will continue to have the same office as we have had for seventy-five years and there will be "no exit," for us. 

Until next time.

Monday, October 1, 2018

No secrets on an agile team.

No secrets on a crap game or agile team.
I went to San Diego this week to talk about “Healthy Ownership,” with other agile professionals.  The experience got me out of the office and listening to others and their challenges making their workplaces better.  During the discussion, I recalled an old saying I learned when I worked as a dealer and pit boss at Harrah’s casino, “There are no secrets on a crap game.”  It occurs to me that wisdom can be applied to any agile team.

Working a crap game in progress, for the uninitiated, is confusing.  Dice are flying in the air and depending on the number they land hundreds or thousands of dollars can be won or lost.  It is a loud, frantic, and intense game of chance.  Since it is so fast, the dealers need to have incredible arithmetic skills, manual dexterity to make payments, the customer service skills of a butler, and the grace under pressure of a bomb disposal expert.  It was the most difficult job I ever had.

The reason dealers and pit bosses say, “There are no secrets on a crap game,” is things move so quickly on a crap table that bets are often made while the dice are in mid-air.  Only by shouting out your bet and having it confirmed by a dealer does it “count.”  If the dice bounce off a player’s arm on a crap game the other players will get angry and will often leave the table.  The superstitious behavior of gamblers encourages craps dealers to vocalize everything they do.  A dealer repeats back bets to the players.  A dealer often recites the payouts they are making and where those bets are located on the felt in front of them.  All this happens because the game needs to keep moving and no one wants to lose out on a bet.

In a world where agile teams have healthy ownership, the teams should exhibit three qualities.

  1. Open Dialog.
  2. Increased Empathy.
  3. Collective Ownership.

For a crap game to be successful, open dialog needs to exist on the crew.  It is why everything is vocalized.  At casinos, my experience was crews were scheduled together so they learn to work together.  Finally, everyone on the crew is accountable if someone cheats or something goes horribly wrong.  It seems the casino business was into healthy ownership before agile professionals.

What does this mean for software development teams?  To achieve open dialog, the development team, scrum master, and product owner need to be in constant communication.  Stand up meetings need to be frank and to the point.  Product owners should listen in and make sure they can answer questions.  Scrum masters should facilitate discussion using the product backlog as the central hub of information.  Finally, developers should follow up on acceptance criteria to make sure what they are building is what the product owner needs.  If anyone is in doubt the should speak out.

To increase empathy on the team, the scrum master and product owner should share a work space.  It allows the scrum master and product owner to understand each other’s routine.  Using video conference equipment also helps.  It lets individuals see each other as real people instead of disembodied voices on a conference call.  Teams should work together in open spaces with areas for mob programming and rooms for privacy; I find both are necessary for the success and sanity of developers.  The most important piece is to make sure each member of the team understands the challenges and responsibility of the others so they may have empathy.

The final outcome of collective ownership is necessary for Healthy Ownership to thrive. It means the scrum master, product owner, and development team share equally the success and failure of each sprint.  I find this to be the most difficult outcome to achieve.  It requires highly skilled people to give up a little of their ego and make sacrifices for others.  To borrow a phrase from Benjamin Franklin, the agile team needs to hang together or all of them will hang separately.

To have healthy ownership an agile team needs; open dialog, increased empathy, and collective ownership.  The development team should not have any secrets just like a casino craps crew.  Following this model will create the healthy ownership which will help every team a success.

Until next time.