Monday, January 30, 2017

Why we have rituals in scrum

Becoming a scrum master is like becoming a priest
I am in the process of training a new scrum master at my office, and they asked why we have so many meetings in Scrum.  This week I wanted to share my thoughts on the subject.  The Scrum Alliance has plenty of documentation about Agile, the roles in a Scrum team, and rituals associated with it.  As an experienced Scrum Master, I wanted to dig a little deeper into the activities and explain why they are important.

The role of a Scrum Master is a complicated one.  I have written about the topic numerous times.  As I have grown more comfortable in the role, it occurred to me that this position resembles the life of a parish priest or Protestant minister.  You are always visible and accountable to the people you serve.  I firmly believe in the need for a human being to have ritual and routine in their lives.  Both Carl Jung and Joesph Campbell, mention that the collective unconsciousness is something which needs nurturing.  If we do this, then we are on the way to building effective teams.

The daily stand up-

Each day the team gathers around the metaphorical campfire and talks about what they have done, what they will do, and obstacles.  Working in an office creates a few anti-social behaviors.  It is very easy for people to cocoon into their desks and ignores others.  The stand up breaks people out of that unhealthy habit.  Each day for 15 minutes they interact with the scrum master and each other.  The group stands because it forces people to pay attention to one another.  It also keeps side talk to a minimum.  Finally, it helps foster a sense of teamwork because everyone is participating and involved in the success of the project.

After a few weeks or months, the scrum master should not facilitate the meeting.  Instead, the team should learn to run its stand-up meetings.  It is part of the ethos of self-organization.  It is essential to the success of agile at any organization.

Backlog Grooming or Refinement – 

The Product Owner has the most difficult job in agile.  They work with the “business” and the development team to create software each sprint.  Backlog refinement is where most of this job happens.  The Product Owner and the development team go over the backlog.  This meeting is designed to clear up any misunderstanding, explain user stories, and set priorities. It is an informal meeting with back and forth conversations.  The Product Owner facilitates this session.  It can be done regularly each day or scattered around a work week.  The keeps communication between the team and the product owners flowing.

Sprint Planning – 

The Scrum Master, Product Owner, and development team get together to decide what they want to work on in the next sprint.  Using the refined backlog the team and the Product Owner decide what to do next.  This meeting is a little more formal as the team estimates and tasks out the work.  The meeting also ends with a consensus about what the sprint goals are and how to meet them.

Sprint Review or Demo –

One of my biggest frustrations I had as a developer was spending a year on building a software product and then showing it to the user community and having them say it is not what they wanted.  The sprint demo is designed to eliminate this situation.  After a sprint, the development team shows off their work to the Product Owner and the people who are stakeholders in the project.  Here they gather notes and feedback where they can improve.  The demo also shows the business that things are getting done and that they will have software in a measurable amount of time.

The Retrospective – 

The retrospective led by the scrum master.  It is a combination of rituals.  It is about what happened.  It is also a look forward at how to improve.  Everyone participates in the process, and everyone contributes.  It is up to the Scrum Master to take notes and help the team improve on how it is supposed to do its work.  The retrospective is the most difficult part of the scrum process, so a scrum master good at facilitating meetings is essential.

So this is my take on the rituals of Scrum and why we do them.  They are all important, and if you do not do them, the effectiveness of your scrum teams will suffer.

Until next time.

Monday, January 23, 2017

The Messy Nature of Software Development

Software is messy
I have been in the software business for nearly twenty years.  I began as an entry level programmer and made the transition to scrum master and agile coach.  It was not pretty or heroic.  It was a journey filled with personal and professional setbacks.  Sometimes, I wonder how I didn’t wind up begging for change on the side of the road.  Somehow, every setback I have faced has led to a larger and better opportunity.  This week on the blog I wanted to discuss something which we do not discuss often; the messy nature of software development.

If you are not already following Angela Dugan’s blog, “The TFS Whisperer,” you should.  One of the posts struck me for its honesty and courage.  She talked about how application lifecycle management and DevOps are “messy.”  I add that everything involving software is messy.

The creation of software is a new trade.  It began in the days of vacuum tubes after World War Two and had grown into an activity employing a total of 11.5 professionals worldwide.  The term bug came from a moth trapped in a box of the first vacuum tubes of the ENIAC computer.  Today, bugs represent any of the defects or mistakes we perpetuate in code.

In the seventy-plus years since the beginning of professional programming, the activity has not fundamentally changed.  Smart people work in isolation writing software code, and business people take it for granted that is works.  The reality is software is one of the few activities which has not been taken over by automation.  It is a creative and manual process. It is both an art and science.

Unlike construction which has a set rules for engineering and gravity software development lives in a strange world where the rules do not matter or change with each release.  Deadlines are either fluid or hard as stone.  People work late nights and early mornings to get the product out on time.  Personal relationships suffer as support calls intrude on anniversary dinners and you are asked to release software on Sunday afternoons.

The people who do this work are smart and creative.  Too often the demands of the business community force leaders to treat these people like machines which run on caffeine and pizza.  The people who write software have children, significant others, and aging parents.  They have felt and experience the entire range of human emotions.  They are more than points of data in an Excel spreadsheet or a line item in a project plan.

It matters because software is one few activities in business which is immune to automation.  It is manufactured by hand by these creative human beings.  So software is “messy” because people under great pressure author it every day.  Software development is “messy” because people make mistakes.  It is “messy” because people have emotions which are hard to control.  Finally, software development is “messy” because business people treat software professionals as interchangeable “staff” instead of skilled artisans.

I have spent numerous nights questioning my ability and worth thanks to the messy nature of software development.  I am sure that other software professionals have done the same. This business is humbling.  Angela and I agree; software development is messy because very human people are involved in every stage of its creation.

Until next time.

Monday, January 16, 2017

Explaining being a scrum master to civilians.

A scrum master is a servant-leader
One of the things which make working in the 21st century so dispiriting is most people cannot easily describe the work they do.  During the middle ages, people were farmers, blacksmiths, nobles or merchants.  The roles and job descriptions were easy to understand.  Today, the work of content curators and account managers creates plenty of ambiguity and misunderstanding.  This week on the blog, I want to clarify the definition of a scrum master.

The Elevator Pitch

When I am at social functions, networking events or family gatherings people ask me what I do for a living.  I say scrum master and I get a puzzled look, and they ask me, “What kind of job is that?”

This is what I say.
“I build software and help developers and businesses develop software on time, on a budget, and with minimal bugs.”
The person nods and smiles, once this sinks in and switches to a new topic.

The Scrum Master Syllabus

When I describe the job of a scrum master, it often looks like a college syllabus.

A good scrum master is:
  • An excellent communicator with individuals, small groups, and the organization.
  • They understand the agile manifesto and principles of Agile and practice them every day.
  • They are a trainer and coach making product owners, developers better and their job.
  • They educate business leaders and stakeholders on how agile is making their business better.
  • They are good listeners
  • They have grace under pressure
  • The can educate developers on TDD and SOLID development
  • They are servant leaders
  • They ship working software regularly.
  • They make a god damn difference.
These are the signs of a good scrum master, and I try to aspire to these goals each day.

The bottom line.

Being a scrum master is a hard job.  It is also a calling of sorts closer to being a priest or pastor than a software professional.  A good scrum master can reinforce your belief and faith in agile, or they can turn into a tool of oppression.  I have never been into oppression, and I want to be someone who makes a difference.  That is why I am a scrum master and why I have such high standards for the profession.

I hope this clears up any misunderstandings.

Until next time.

Monday, January 9, 2017

Continuous improvement is a scrum master job.

Development is a lot like theater
One of the greatest things about my job is that I spend numerous hours working with people.  I am learning new things on a constant basis.  I also spend time teaching others how to be better in the workplace.  It is this back and forth which keeps me going into the office.  This week I was asked about how you inspire teams to make continuous improvement.

Business professionals use sports metaphors to describe what they do.  I was never any good at sports, so I look business through the filter of music and performing arts.  I think it is a more constructive way to look at the work.  There is no scoreboard hanging over the cubicles in the office.  Business leaders are often too busy to chart out plays, and there is no playoff season or championship.  Business is an ongoing activity.

To me, the world of work resembles repertoire theater or a jazz orchestra.  Each week the company needs to put on eight shows a week with a matinee on Sunday.  The quality of the performance needs to be professional grade because people will not pay big money to see an elementary school recital.  People get sick, and performers drop out but in show business terms, “The show must go on!” If the show does not go on then, people do not get paid.  The cruel arithmetic of performing arts is that quality must be outstanding and that people must want to purchase your product.  Otherwise, you starve.

So as a Scrum Master or Agile Coach you need to look at your job as if you were a theater director or the leader of a jazz band.  Instead of being autocratic about the work, you will need to be collaborative.  You will have to get to know the people you work with and understand them as people.  Do they have children, are they single, is this their first job or do they have experience?  Do they show up for work on time?  Are they prepared?  Can they improvise and can they handle the pressure?  As coach and scrum master you need to know.

Once you understand the above, you can lay out the goals and mission of the team.  Scrum is good about this.  Each sprint has a beginning, middle, and end.  The release of working software should is like a performance.  When the curtain falls, the scrum master and the team decide how to do better job next time.

I am a big believer in the 1% principle.  Each sprint, I want to improve the performance of the team by 1%. If I have thirteen iterations in a year, the team has increased its performance by 13%.  Over a period of five years, that would be a 65% growth in efficiency.  That is the kind of return which creates pay raises and promotions.  So create small increments of improvement and meet them.  Over time, you will be amazed by the results.

Finally, Agile and Scrum can not overcome a poor work ethic, incompetence, or stupidity.  Being average is not sufficient.  As a coach or Scrum Master, it is your job to help everyone become a better team member.  People unwilling or unable to improve must go.  It is best for the individual and the team.  It is one of the hardest decisions to make.  As someone laid off multiple times, I speak from experience.  Each time I have lost a job I have bounced back and been a better developer.  Nothing focuses the mind quite like unemployment.

So look at your role as a theater director.  Get to know your people.  Collaborate with your team and hold them accountable for small improvements over time.  Finally, remove people from the team holding them back.  Being a scrum master is not easy, but it is the most rewarding job you will ever do.

Until next time.

Monday, January 2, 2017

Looking back and forward - 2017

After 2016, I think we
all need a tall glass of wine
Technology is a dynamic industry.  One moment you can be on top of the world and the next you are like Nokia unable to adapt to market conditions.  This week I am going to take a look at some of my predictions from last year and see how accurate I was and look ahead to 2017.

Looking back, it is clear that when I paid attention to technology and trends in the industry, my predictions were accurate.  Apple computer did have a rough year with tax issues from the European Union and sales which dipped for the first time in years.  Microsoft is growing its business with the Azure cloud services and a full embrace of Linux.  It also has surprising sales of its Surface Pro 4.  They are still going to founder in the phone market, but they are ruling in the desktop and enterprise realm.  My prediction that the Scrum Alliance was going to have some growing pains came to fruition.

When I looked at politics in 2016, I was wrong.  I predicted that election season would be a draw with the Democrats retaining the Presidency while the Republicans would keep the House of Representatives and lose the Senate.  Instead, Democrats made slight gains in the House and Senate while losing the White House by the statistical margin of error in Wisconsin, Michigan, and Pennsylvania.  President Trump's mandate is about 100,000 votes in three states which are .08% of the total votes cast.  Please read this great article with lots of wonky footnotes on how this happened from Vox.  Republicans have complete control of all three branches of government since 1929 in spite of their razor-thin margins of victory.

As a blogger and pundit, I need to take responsibility for when my predictions are correct and when I get them wrong.  I also should learn from my mistakes and extrapolate what I need to do to make better predictions.  Here is what I expect in the coming year.

Big Fight over Net Neutrality.  

There are already rumblings in the new Trump administration that net-neutrality is going to open to discussion.  Changing the current net-neutrality rules will be a gold mine for cellular phone providers and cable companies; it will be bad for everyone else. The internet rose up in rebellion and forced members of Congress to drop support for a law which would have made pay to play access to the web law of the land.  This time around the fight is not going to be in Congress but in the FCC and it is going to be harder because political appointees are going to be much less susceptible to public pressure.

Deregulation a-go-go

Many Republicans have a love affair with Ayn Rand.  Now that Republicans control all three branches of government prepare for a full wave of deregulation in technology and business.  Overtime rules will be cut back.  Financial regulations will be revoked, and a worker in this economy is going to have a more difficult time.

Those are the only two big predictions I have for the new year.  The interesting thing about working in the technology world is that change is a big constant.  If you are not paying attention, then you are bound to be surprised by something.  I look forward to being along with you for the ride because 2017 is going to be a challenging year.

Until next time.