Monday, August 19, 2019

Helpful Tips for Splitting User Stories

Splitting user stories require creativity and the right tools.
Being a product owner is hard work.  It is days filled with meetings and writing user stories.  You are under pressure to deliver working software, and if it all goes wrong, your career is often at risk.  One of the hardest parts about product ownership is a collaboration with the development team and estimation.  Software developers are notoriously hard to work with, and estimating software development is exponentially more difficult.   The estimation process is fraught with conflict and compromise.  Often, work is too large to be completed in the time box of a sprint.  The product owner in this situation should split user stories.  Today, I want to share a common technique to divide user stories.

I have a relatively straight forward process for writing user stories.  Once you write a story, the development team should try to estimate the story.  A story point estimate is a function of complexity, risk, uncertainty, and effortAccording to Kedar’s constant, the larger a story is in points, the riskier it is to complete in a sprint.  It means a set of four three-point stories are less risky to complete than a single 13-point story.  When you have essential stories with high point values, it is up to the development team and scrum master to request the story get split before sprint planning.   The product owner is often frustrated by this request. Breaking stories is additional work, and it implies the original story was too big.  I empathize with this kind of frustration.  Being asked to split a story is the team being conscientious.  It is also an opportunity to make the sprint more successful.

Richard Lawerence has written a fantastic post on how to split user stories.  I recommend you read it here.  For me, the most critical pattern is to break down work based on complexity.  Something complex is often the assemblage of smaller, more straightforward elements.  Suppose you are a sales manager for a cable T.V. station, the base rate for a 30-second commercial is $150 per broadcast so when a client purchases ten impressions they are invoiced $1,500 when the last commercial airs.  If you are going to write a user story with acceptance criteria, it will look something like this:

As a sales manager, I want to charge $150 per impression for a 30-second commercial because I want to generate revenue.

GIVEN I am a customer.

WHEN I purchase a 30-second commercial.

THEN I invoice $150 times the number of commercials purchased.

The rule is simple, and the team says following SOLID principles and authoring unit tests it would be two points worth of work.

The world of broadcast is time-sensitive, so commercials air during prime time between 6:30 PM and 10:00 PM are more valuable while ads aired after midnight are less costly.  The product owner realized this and added two more acceptance criteria to the story.

GIVEN I am a customer.

WHEN I purchase a 30-second commercial.

AND the commercial airs during prime time between 6:30 PM and 10:00 PM

THEN I invoice the customer $150 times the number of commercials
purchased plus a 40% premium fee

GIVEN I am a customer

WHEN I buy a 30 second commercial

AND the commercial airs during late night (between midnight and 5:30 AM)

THEN I invoice the customer $150 times the number of commercials 
purchased with a discount of 20%

During sprint planning, the team looks at the revised user story with the additional acceptance criteria, and they adjust the story points to eight because the story has become more complex.  A good rule of thumb I like to use for splitting user stores is anytime you see the contractions “and” or “or” it is an excellent place to divide a user story into smaller stories.  In the above example, one eight-point story, when divided into three stores with an estimate of two, each generates less risk for the sprint.  The story split also makes budgeting work easier.

Splitting user stories is a useful skill, and it helps make the development team more successful.  Start breaking user stories today.

Until next time.

Monday, August 12, 2019

Agile Slowing Down the Corporate Merry-go-round

The business world is a merry-go-round
The business world is cruel.  It is a perverse merry-go-round of glittering success and spectacular failure.  Billions of dollars are created and lost with a handshake.  Someone in the finance department has the power to destroy the livelihood of thousands with a spreadsheet. It is a world filled with fear and uncertainty.  I belong to this world.  I am an agile coach and scrum master.  Each day, I get on the merry-go-round to make sure others do not get hurt.  It is because the ride does not stop and spins faster each day.  As part of the agile reformation, I have a responsibility to make business better.

The three main pillars of agile are inspection, adaptation, and transparency.  Each day we should be able to understand what is happening around us.  Once we know what is going on around us, we should be able to adjust to the current conditions.  Finally, we should be transparent with information with no agendas or secrets so that we can start the process anew.  For those used to playing political games or hiding in plain sight, these values are dangerous.  Transparency means information flows freely in an organization.  Inspection demands we look at that information with healthy skepticism.  Adaptation means we take action and hold others and ourselves accountable.

Agile is not hard to explain to others, but it is challenging to execute.  People need to be vulnerable and trust each other.  The Harvard Business Review calls this psychological safety.  In cutthroat business cultures, this safety is absent; it is up to the coach to create these pockets of safety.  Once these pockets form, they must grow within the organization.  To borrow from the French philosophers Gilles Deleuze and Felix Guattari, agile becomes a rhizome which rises through the organization and inspires change.

Business people have been comfortable with how they ran large organizations since the 1980s.  Shareholders were more important than customers, and as long as they had priority, everything would be fine.  The digital revolution of the last twenty-five years has upset that equation.  Businesses are being created and crushed at an increasingly fast rate.  Bureaucracy once designed to increase corporate value is now interfering with the customer experience.  Poor customer experience hurts the organization.  The realization is creating anxiety among workers and executives.  A coach needs to step in and point out the importance of customers, and speed to market.  The corporate headquarters lose sight of these simple truths.

Each day, I see good people working in dysfunctional situations, and they inspect and adapt.  As a coach, you have to point this out to people who can make a difference and get them to inspect and adapt.  It is this process which makes the organization more transparent and effective.  If employees can respond to change, then business leaders can do the same.  It takes a coach to make this message clear.

The merry-go-round of business keeps spinning.  It is a relentless machine, but the agile reformation makes the ride less scary.  Using inspection, adaptation, and transparency, you can improve the business culture and leadership.  It is not an easy job, but it is mine.

Until next time.

Monday, August 5, 2019

Have the Courage to Be Agile

The wealth of nations, the success of
agile requires courage and Adam Smith.
Technology is not a profession for wimps.  It requires hard work, intelligence, and creativity.  The profession also requires a level of courage you do not find in many white-collar jobs.  I want to discuss what type of courage it takes to be successful as a scrum master and coach.

One of my most popular blog posts talked about why some firms resist the agile mindset.  I place the blame upon a lack of psychological safety at most large organizations.  Additionally, I blamed the fear and uncertainty, which is inherent in a global company.  These factors combined create a toxic stew where everyone does the bare minimum and tires to remain invisible until they leave the company.  It is depressing and resembles the grim environment of a Franz Kafka story. 

To address the alienation and lack of initiative which festers in this environment, managers, put into place processes which if followed, have a better chance of yielding better results.  The processes become rituals and deviation from these rituals creates a reaction similar to blasphemy in the middle ages.  The process becomes the purpose of the organization.  In reality, the mission of any business is to create products and services which help customers.  Helping a customer creates revenue, and revenue should generate profit.  The description above has existed since Adam Smith and remains the best articulation of capitalism we have.  I think many people who work in business forget the simple principle of serving customers leads to profit.

The early days of software development reflected the spirit of Adam Smith.  Business people learned software development, and they used computers to address business concerns.  The first generation of programmers were the ones who helped automate payroll systems; they created the Saber travel system and provided the mathematics necessary to make the space program successful.  As computing became, more complex and specialized business, people began to abdicate their involvement in the systems which automated their business.  Project managers became go-betweens technology and business professionals.  Projects got more prominent, and the failures got bigger.  Millions of people had their potential squandered.

It was this waste of human capital, which leads to the creation of the agile manifesto.  I am part of the reformation which began on a ski trip to Utah. Many things unite us, but the main trait we all have is courage.  We all dare to go into the office each day and make a difference.  We are courageous enough to point out areas of improvement.  The agile reformation relies on the courage to be visible and vulnerable to our peers.  It takes courage to bet your career each day to make improvements.  It is easy to become invisible at a large organization; it takes courage to make changes.

I hope that I can maintain this courage for the remainder of my career.

Until next time.

Monday, July 29, 2019

Death to Agile-Lite!

Agile has not jumped the shark if I can help it.
I have been working as an agile professional for ten years.  It is equal measures a lucrative and frustrating career.  Servant leadership is hard to teach others and practice, which makes it profitable.  It is frustrating because you are struggling against decades of entrenched thinking inside the business. Fortunately, I have an excellent personal support system and a sincere devotion to what I do.  We are moving into a new phase of the agile reformation, and I would like to discuss it.

Agile is gaining more acceptance in the business world.  Its use has turned around significant organizations, and its application at Microsoft is beginning to create mythology which jealous rivals want to mimic.  Many of these competitors wish to have the success which agile brings to a company without making the necessary behavioral and cultural changes.  In their mind, agile is something you do instead of a goal to strive.  You take a few management consultants in the organization, apply a random scaling network, and then watch the productivity jump through the roof.  It is a foolish short-sided approach to organizational change.

Jack Skeels writes a great blog on this trend in the business world.  People see agile working, and they want its benefits without making the necessary changes.  He calls this, “Agile is anything Management calls it.”  It is no different than working for a traditional organization, except you are working harder to deliver the same disappointing results.  Furthermore, disillusionment sets in as you find yourself working to satisfy the nihilistic and selfish goals of someone else.  Steve Denning has a more polite description of this trend.  He calls it “agile-lite,” which is “…the adoption and tools of agile without necessarily deploying them with an agile mindset.” It is like a cargo cult which will build faux airports out of bamboo and reeds with the hope cargo jets will arrive bringing wealth.

So, what is an agile mindset?  It is an understanding of agile manifesto and the principles of agile.  It is a growth-mindset which is willing to try new things to improve.  It is ruthlessly applying inspection, adaptation, and transparency to the organization.  Finally, it is expending energy getting work done instead of managing up the organization.  To be successful, it requires more than lip service.  You cannot install Jira in your organization and expect it to become agile instantly.  You have to do much more, and you will have to escape your comfort zone.

Agile is eating the world, and it is approaching its twentieth anniversary.  As this movement enters its third decade, it is up to all of us in this community to beat back fake agile and “agile is whatever management wants.” Plenty of positive change has taken place, but more needs to be done.  Otherwise, we will be doing agile instead of being agile.

Until next time.

Monday, July 22, 2019

Four Simple things

It can get lonely.
The biggest challenge as an agile professional is leading organizational change.  Often, you are a lonely voice in an ocean of indifference.  People do not like the daily routines and rituals disrupted, and agile professionals are doing it with frequency.  The resistance is a natural response to change.  Humans have a craving for stability in an uncertain business world.  The situation sets the agile professional up for isolation and loneliness.  I want to discuss the support system you need to overcome the adversity.

Being a scrum master or coach is a difficult calling.  It requires tremendous emotional labor, and you are attempting to overcome decades of resistance to change within an organization.  To be successful, you need to have a support system which will help you get through the rough patches.  Here is my formulation of that system.

An Understanding Significant Other

If you have a spouse, boyfriend, or girlfriend, they need to be understanding.  You are going to have unannounced late nights being with the team fixing production bugs.  As a servant leader, you will confront difficult emotions, and it will take you time to unwind from them.  It helps to have someone in your life who loves and respects you to listen. Finally, they should be willing to work with the ebb and flow that technology professionals encounter daily.  It is like being married to a police officer or firefighter.  The job always finds a way of intruding into the relationship.

A User group or Network of fellow Agilests

Many organizations do not have a large cohort of agilests.  It is why being a coach can be so isolating. It is why you need a regular group of people to meet with discussing current trends and new techniques.  It can be an online group or frequent meetup.  The purpose is to have a peer group which can provide emotional and professional support.  Often a problem you think is intractable is something someone else has solved.  The user group acts as a repository of information, a social circle of peers, and group therapy.

Support from Senior Leadership

Change does not happen, spontaneously.  Often, it requires outside events to force change or an internal mandate to make change happen.  An agile coach without the support of senior leadership is not going to be successful.  Cultural inertia is a common obstacle to change.  Often when you ask why something is done a particular way the response is, “…because we have always done it that way.” Senior leadership can give you a mandate and authority to improve a process.  Executives provide the nudge necessary when things need to change and when people dig in their heels.  Finally, senior leadership is a source of validation which makes the hard work and sacrifices worthwhile.

Allies in the Organization

As a firm moves along the agile journey, a coach or scrum master is going to gather like-minded people who are allies.  Organizational allies are gold to a coach or scrum master.  The people joining you will spread the message you are sharing. Associates will provide emotional and technical support.  Colleagues will support you during a difficult decision and join you for lunch when times are less stressful.  Cultivation of colleagues will keep the agile transformation going long after you have left the organization.

So to avoid burn out and isolation a coach or scrum master needs; an understanding significant other, a network of fellow agilest, support from senior leadership, and allies in the organization.  Without these things, an agilest will have a lonely run with an organization.

Until next time.

Monday, July 15, 2019

Fight Bad Agile!

Command and control did not
 work then and it will not work now.  
I have been involved in the agile reformation for the last ten years.  In 2009, the agile manifesto was relatively young, and it was a quirky idea to make software better. Today we have three primary scaling techniques for agile.  The reformation has grown and splintered over the years, but the manifesto remains the pole star which every variation circles.  Now business professionals and executives are paying attention to the reformation.  Agile is eating the world, but instead of confronting opposition, we are dealing with corruption caused by the status quo as it exists in many companies.  The corruption creates bad agile, and it is up to coaches and scrum masters to call it out.

Last week, I pointed out that a common dysfunction in organizations is leadership spends too much time pleasing superiors rather than doing the necessary work to make the business successful.  The behavior hurts collaboration between departments and categorizes people as resources which can be swapped out like machine parts.  It is dehumanizing and alienating.  Agile helps fight this dysfunction with emphasis on cross-functional teams and less organizational friction.  The challenge of agile is it works well in the realm of the team, but as it attempts to scale out to the organization, it butts against status-quo thinking, entrenched political agendas, and the command and control mindset of most executives.

Put yourself in the shoes of a typical executive who has spent ten, fifteen, or twenty years in an organization. The executive has presided over budgets and deadlines.  The contact they have with the people doing the actual work is limited, and their knowledge of project management is slight, so they hire project managers to handle the responsibility.  Most of the time, executives spend time involved with pleasing superiors and political sparring with rivals.  An agile coach comes along who tells them they have the wrong career focus, and they have been leading their people incorrectly.  Agile, with its emphasis on inspection, adaption, and transparency, undermines political infighting within an organization, which means career advancement depends on results instead of deception.  It is going to create anxiety, and the executive is going to push back.

The executive is not evil in this instance; the new way of doing things creates uncertainty and fear.  It is natural they would be resistant when confronted with this upsetting of psychological safety.  As a coach, it is going to be your responsibility to address the resistance.  You are going to walk the executive through the process of shifting from a command and control mindset to an agile mindset.  It will not be easy.

Instead of telling people what to do, the scrum master will have to show them.  Lead by example, give the team what they need to succeed, live the agile manifesto and principles, and point out organizations friction where it exists.  Inspection, adaption, and transparency are designed to hold everyone accountable particularly executives.

Bad agile happens because self-interest and the status quo are more important than getting work done.  We tolerate double standards, and it creates corruption.  It is up to each scrum master or coach to reveal this corruption so we can mitigate its effects.  It is up to each of us to show instead of telling others what to do.  Finally, we need to create psychological safety among leaders if they are to embrace agile.  Otherwise, we remain stuck with bad agile.

Until next time.

Monday, July 8, 2019

People are individuals not resources.

Treat people like individuals.
The global economy is a big place.  Trillions of dollars slosh around the globe while people attempt to traverse the currents without drowning.  What business people often ignore is the people keep the global economy moving are individuals with lives, families, and challenges outside the business realm.  A person is more than a job description.  A person is a flesh and bone being with triumph and tragedy.  Each day billions of people wake up and struggle in the global economy to put food on the table.   The daily struggle is equal parts heroic, absurd, and necessary.  As leaders, we should understand the people around us as individuals rather than anonymous cogs in a wheel.

I often cringe when I hear professionals and business people refer to the people working for them as resources.  It is deeply dehumanizing. Each person working today is an assemblage of emotions, education, and experience.  Leaders should see these differences and put them to work.  Often, leadership is too busy showing off to their superiors to concentrate on what it takes to do the work.  It is a common pathology in business, academia, and government.  Agile Coaches and scrum masters have to help break this cycle of dysfunction.

The first part of the agile manifesto says, “Individuals and Interactions, over processes and tools.”  We need to embrace that value.  Each person working with us is an individual.  Each time we inspect and adapt, we should take into account not only the performance of the team but the performance of the individuals with the team.  In this way, we can coach others for success and help them work through failure.

What I am suggesting is hard work, but it will provide significant dividends.  Well lead teams have higher quality and deliver work faster.  Teams who work well together innovate.  Finally, teams who work well jointly make work more satisfying and sustainable for the business.  It is what happens when we treat people like people instead of resources.

Until next time.