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.

Monday, December 26, 2016

Looking back at the people who influenced me.

Inspiration comes from plenty of places.
I find inspiration from some of the weirdest places.  I could be watching a Bollywood movie or enjoying one of the many Dune books by Fran Herbert or his son Brian.  I also identify with comedies inspired by former cast members, so Saturday Night live.  I even ponder if Bill Murray is my spirit animal.  These influences have shaped my leadership style.  This week I want to discuss influences.

In my view, there are two kinds of influences; positive and negative.  Negative influences are anti-examples.  It is something or someone you refuse to emulate in your leadership.  The positive influence is one you want to fold into your practices.  I consider both types important for shaping your style of leadership.

I have many positive influences in my career; people like Andy LaChapelle, Roy and Yvonne Guash and JoAnn Pankow from Harrah’s Casino in Joliet.  I have technology professionals like Angela Dugan and Allen Dail who shape my views about corporate IT.  The most influential group in my life are the numerous coaches and competitors I have met from the world of college forensics.   People like Megan Koch, Craig Cutbirth, Elige Wilson and Ed Suitor shaped me into the person I am today.

Over my career, I have worked for numerous organizations and leaders.  The negative experiences have marked me like tattoos.  Each one made me swear to myself I would never subject any who works with me.  For example, I consulted at a company where a majority of the technology staff were consultants with H-111 visas.  Meetings were grim and quite affairs because anyone who spoke up was rolled off the project and deported back to their nation of origin.  I remember being told by e-commerce solutions should like about inventory levels because high margins were superior to happy customers.  Finally, I worked for an emotionally stunted man who would yell at me to work faster and then yell at me when I would make a mistake because was working too quickly.

In these moments of darkness, I swore I would never do things like that to people who worked with me.  I have had my moments of weakness and have fallen short of my expectations, but I have never been intentionally cruel to people.  Knowing that helps me sleep better at night.

Positive and negative influences matter and they shape the leader you become.  Paying attention to both is important.

Until next time.

Monday, December 19, 2016

The Bull has Two Sides

You find lots of strange things online.  This week I turn to the pages of the New Yorker to enjoy a few lessons about web design.

Times Square in New York City is receiving a face life to make it more pedestrian friendly.  The work began in 2012 and should be finished sometime in the summer of 2017.  Leading the construction is an architecture firm lead by principal partner Craig Dykers.  His office overlooks the Wall Street bull, and it gives him some insights into the design.  According to the December 14th,  2016 New Yorker.

Dykers told me that he has observed the crowds around the bull for years, and that the tourists can be divided roughly equally into those who pose at its head and those who pose at its rear end. (The bull’s nose, horns, and testicles have been rubbed, for luck, to more or less identical degrees of shininess.) Dykers said the statue is a useful reminder that humans are diverse, and have their own ideas about design. “A lot of our work as architects takes into account that just as many people are interested in the backside of the bull,” he said.

There is wisdom in this observation as you are constructing websites or software applications.  No two people view a web page the same way again.  Some view it from the metaphorical horns and others view it from the metaphorical behind.  It is up to us to accommodate both of these perspectives and to test it accordingly.  As an engineer and scrum master, I look at a website very differently than a sales person or pricing managers.  I am a big believer in Agile and Scrum because I can test out concepts early and fold them into later releases so that I do not have to deal with the crushing disappointment of spending my life building something my customers will not use.

So remember the horns and behind of the bull, and build software iteratively.  It is not only a good practice but a healthy way to avoid disappointment in this business.

Until next time.

Monday, December 12, 2016

Developers Need to Develop Discipline

Discipline means more than looking like a professional
At least once a week, I receive an email or tweet featuring an article claiming agile and scrum are dying.  Many of these items are click bait.  A few are about poor agile implementations.  This week I saw a new variation on that theme, and it was from one of the initial signatories of the Agile Manifesto; Robert Cecil Martin aka “Uncle Bob.”  I took some time to watch his video, and I encourage you to do the same.  This week I want to discuss one of Uncle Bob’s main themes – discipline.

I was a self-taught developer.  During the giddy and stupid days of the dot-com boom, I decided to change careers at the ripe old age of thirty.  I remember going to job fairs with floppy disks and resumes looking to break into my first career role.  I knew a smattering of HTML and Visual Basic.  ServiceMaster took a chance on me, and my software development career was born.  I would learn SQL and many other skills during my first two years in the business.  It would take me another eight years for me to develop any confidence in my skills.  Today, I have eighteen years of experience, and I still consider myself an intermediate level developer.

The reason why I feel this way is that I have made numerous mistakes over my career and had the scars to show for it.  I still struggle with practices like Test Driven Development and SOLID programming.  In the fast-paced world of software development, I struggle to pick up these concepts as quickly as my peers.  I would be humiliated at job interviews when people reviewed my code claiming that if I have learned code at “X” university or code camp, I would be so much more professional.

A funny thing happened to me when I started working as a scrum master.  I was now bringing on software developers to new teams.  Some of them had masters degree’s in mathematics and computer science, but they never wrote a unit test or worked with source control tools.  I would have to educate them on how to be better developers who to be professional and disciplined.

According to Uncle Bob, half of all developers have less than five years of experience in the profession.  That means that those freshly scrubbed developers are learning how to work on large code teams, write unit tests, and develop business knowledge.  It is up to more experienced professionals, like me, to help them develop these skills and have a sense of pride and craft in what they do.  They should avoid the numerous mistakes I made in my career because I will show them how to avoid them.

So what does it mean to be a disciplined software developer?  The first trait of a disciplined software developer is that they use source control for their work.  The code is checked in on a regular basis, and it is commented to explain what it is doing.  A developer should also know how to do branching and merging so that they can segregate code based on the needs of the business.  Working with source control allows a developer to work on large or small projects.  It does not matter if you use GIT or Team Foundation Server for source control.  Learn to use source control.

The next trait is the desire to improve your skills.  A disciplined developer is reading up on new techniques and practicing them outside of work.  When the time comes, this will help solve business problems and speed up work.  I am also a big fan of using the phrase, “why not?” at the office.  That is because someone has discovered a new way to do something and I cannot think of a valid reason why we should not try it.  My software developers started using MOQ and incorporating dependency injection into our software projects because of this attitude.

The last trait of a disciplined software developer is humility.  I am very hostile to the brogrammer movement in development.  Developers should be willing to learn from each other and develop new techniques based new knowledge.  The arrogant disregard of others and the showing off of software development skills is not helpful or necessary in the activity.

So to be a disciplined developer you need to leverage source control, be willing to learn new things, and approach the business with some humility.  Being a programmer and scrum master is one of the hardest jobs I have ever had.  It has been financially rewarding and professionally fulfilling.  It also took me eighteen years to get to this point.  For all the new software developers entering the market, I hope I can help you avoid the mistakes I have made in my career.

Until next time.

Monday, December 5, 2016

Good Scrum Requires Organization and Improvisation

Good Scrum is like good jazz
The life of a scrum master is a daily adventure.  No two days are the same.  One day everything is going well and the next you are confronted with a production server meltdown.  You have tremendous responsibility but no authority to get anything done.  This week I want to talk about two skills you will need to develop to be successful, organization and improvisation.

As scrum master presides over a fluid and ambiguous environment.  Product owners want to succeed.  Finance people are tracking the money.  Your boss wants to know when you are going to push code into production.  To answer this and numerous questions which come up during your work day, you must be organized.  I keep file folders with information regarding each project.  Additionally, I insist that the product owner and the team keep the product backlog neat and tidy.

Use your source control and project management tools to the best of your ability.  It does not matter if you use Jira or TFS 2015.  These software products are designed to keep you organized.  If you want to be old school, use a whiteboard and post-it notes; as long as the information is accurate and readily available to everyone.

I like to use the “arms-reach” rule.  This rule states that any and all information about a project should be within arms reach of the scrum master.  So when your boss asks how the sprint is going, you can show them a burndown chart.  A developer might have questions about the I.P. addresses of a server.  You should be able to reach an excel spreadsheet or file folder in your drawer to return that information.  It will enhance your credibility with the organization and the people who work with you.

Finally, do what many people in the media business do; they keep a schedule file.  They have twelve folders for each month of the year.  They have additional folders for each day of the month.  When you need to do something date sensitive place, it in the correct month and date folder.  Each day you pull the current day's folder, and that provides you with an agenda fo what needs to do.  Once you get into the habit of doing this, you will wonder how you lived without it.  Once you get into the habit of doing this, you will wonder how you lived without it.  

The next skill I strongly recommend is improvisation.  Being able to respond to change over following a plan is a tenant of the agile manifesto and a great definition of improvisation.  In a typical day, a scrum master will reschedule a backlog refinement meeting to help a developer with SOLID development or they will spend time with finance people to explain the scrum process.  You need organization so depending on what happens the information you need is in “arms-reach, ” and you can change direction.

Improvisation does not mean making stuff up or bullshitting your way through your day.  It means addressing the unexpected with the correct response.  When humor is required, use humor.  When it is necessary to be firm, you will have to act.  It requires organization and mental disciple.  The way to develop those skills is by taking some improve classes or getting involved in organizations like ToastMasters.  There you will learn both public speaking skills and the ability to think on your feet which are key to improvisation.

So to summarize, to improvise you need organization.  Developing these two skills will make you a better scrum master.

Until next time.