Monday, June 19, 2017

Beware the Temptation of "Dark Scrum"

Avoid the temptations of "Dark Scrum"
I have been an agilist since 2009.  I began collecting certifications for Agile and Scrum since 2013.  I even finished up my master’s degree studying the differences between waterfall and iterative project management processes.  I have some skills.  What I find most challenging as an agile practitioner is a disconnect between those of us doing the work and the business people who depend on us.  When this happens, it creates a situation Ron Jeffries calls, “Dark Scrum.”  As a scrum master and agile coach, it is your duty to avoid this situation.  This week on the blog avoiding the temptations of “dark scrum.”

In my formulation, "dark scrum," is when the business users of Scrum use the methodology to enforce control over software development rather than use it to improve quality and customer satisfaction.  Jefferies gives plenty of good examples on his blog, but I would like to provide two more.  I consider them to be pathologies of a dysfunctional organization.

Dark scrum pathology – shoehorning arbitrary deadlines on to sprints.  

One afternoon, I was in the office of a Vice President.  I had been raising concerns with him that a project was going poorly and that I would need his support and intervention.  The meeting did not go well.

“I promised the board that this project would be done by X date,” he said.

I told him based on the stories we had and a three-week sprint cadence we could deliver by a later date.

“You are agile, figure it out,” the VP said, “I need it by X date.”

The executive violated the social compact of agile, and we removed stories and features to meet the arbitrary date.  The customer was disappointed, and the Vice President looked bad.

Dark scrum pathology – why do I have to meet with the off-shore team.

Product owners write stories, but because of the time difference between the onshore and offshore components of the project, did not participate in the stand-up meetings.  We had created a situation where the developers would ask questions, and it would take over 24 hours to get them answered.  Product owners also complained that the team was not understanding the detailed requirements to get the work done.  When prodded to attend the stand-up call with the off-shore team a product owner indignantly said, “I am not waking up that early to talk with India!”

We were able to correct these pathologies.

To address the arbitrary deadline problem, bring in executives and product owners to level set expectations.  In the world of Scrum, the product owner is the person primarily responsible for the success or failure of a project.  The executives outside the team are responsible for funding and helping to remove organizational obstacles.  Knowing financing and deadline commitments provides the product owner a framework to write stories.  The scrum master can then use team velocity and the sprint cadence to let everyone know when a deadline is realistic and when it is not.  This way the social compact of agile is respected, and there are not secrets for all the parties involved.

We solved the next pathology by moving up the stand-up meeting by thirty minutes.  The product owner could take the call from home when they got out of bed but before they came into the office.  Product owners answered questions quickly and user stories improved.  Also, automated testing got better as product owners relied on the offshore QA professionals to streamline acceptance testing.  What was once a burden, became a win-win for the entire team.

The hard part about being a scrum master and agile coach is you are forced to come up with solutions like this each day to prevent your organization from falling into “dark scrum.”  Any situation where those in power ignore the input of the people doing the work is going to add darkness to the organization.  It is why the agile reformation is so important.  By beating back the pathologies of “dark scrum,” we can be successful software developers and professionals.

Until next time.


Monday, June 12, 2017

Leading by example for the scrum master

Any good scrum master will tell you the hardest part of the job is servant leadership.  Each day you need to sublimate your wants and desires for the good of the team.  It is a difficult road to travel, and I want to discuss it this week on the blog.

I find plenty of inspiration from the United States Marine Corps.  They were into servant leadership before the concept had a name in the business world.  All Marine Corps officers learn the phrase “Ductus Exemplo,” which is Latin for the phrase “lead by example.”  That means Marine officers are expected to be an example to the troops they lead and each other.  They eat last.  They make sure their appearance and equipment are “squared away,” so that other troops will follow along.  They don’t rest until everyone come back from patrol.  Finally, they don’t ask anyone to do something they would not do themselves.

The scrum master has plenty of other responsibilities.  They are making sure the team is improving each sprint.  They train product owners and hold them responsible for their work.  They are learning new techniques to keep up with the latest technology trends.  It is late nights doing production pushes with the release team and early morning working with offshore developers.

The reason for many of these sacrifices is simple.  Someday you are going to need developers to work late or a product owner to go above and beyond the call of duty.  That is when they will follow your example and come through.

In short, servant leadership is leading by example and something you will have to do if you want your team to succeed.

Until next time.

Monday, June 5, 2017

Scrum Master Dragon Slayer

This is a typical agile implementation
Growing up in the 1980’s, when you set aside the prospect of the United States and the Soviet Union having a nuclear exchange, it was an excellent time to grow up.  Dungeons and Dragons were part of the popular culture and the movies reflected this trend with films like “The Sword and the Sorcerer,” “Conan the Barbarian,” and the cult classic “The Beastmaster.”  For a nerdy teenage boy, it was beautiful escapism.  It was also a way to learn a few serious lessons about life.  "Excalibur" showed the cost of infidelity to a thirteen-year-old who had not started shaving.  The most significant lesson came from a dark Disney film entitled “Dragonslayer.”

The film had a simple plot.  A dragon is terrorizing a local kingdom, and a wizard and his apprentice must slay the creature. The mission has additional urgency because the king’s daughter has arranged to sacrifice herself to the dragon.  The story has all sorts of threads woven together.  It is the sixth century, so Christians are using the dragon to recruit converts.  The pagan king sees the Christians and their desires to undermine his legitimacy as more important than the life of his daughter.  There are an aging wizard and impetuous apprentice along with a princess and a fire-breathing dragon to round out the cast.

Late one night in a moment of insomnia, it dawned on me this movie was the perfect metaphor for an agile implementation.  The wizard and apprentice are consultants hired by the king to help him solve his dragon problem.  These consultants discover the depths of the political and social rot in the kingdom which threatens to consume them.  Finally, there is the climactic moment where the dragon has to die.

People behave certain ways and do certain things because people have behaved that way for centuries.  Everyone is looking out for themselves, and the dragon is always in the background ready to bring destruction from the air.  I cannot describe a better way to explain a contract engagement with a client if I tried.  

The most galling portion of the film is after the dragon dies; the local king stands over the corpse of the beast with a sword and stabs the dead creature while his Chamberlain proclaims the king a “dragon slayer.”  Countless people have died in the process, and the Christians use the death of the dragon as a recruiting tool.  It almost makes a person wish the dragon could win and turn the entire kingdom into ash – almost.

Like someone who has had an agile practice for the last eight years, I identify with the wizard and his apprentice.  I am training others to be better developers, product owners, and scrum masters.  I am also looking to help develop my skills to make myself better and more useful to my clients and employers.  Often, I encounter internal rot in organizations and have to focus on the dragon flying overhead instead of the more long-range problems.

As a scrum master and coach here is what I do.  Considering I have hired to slay a dragon, the first thing I concentrate on is killing the dragon.  A common phrase in business is “…first things first; last things never.”  Fix the dragon problem.  I expect that the king will take credit for my work.  They did not become King being kind people.  Next set an example so that other villagers will aspire to be wizards.  The practice of agile will only grow if it spreads person to person.  Certifications and trade shows are necessary, but the only way it is truly going to take over the business world is when conscientious practitioners make the agile manifesto and principles work for companies.

Finally, know when to ride off into the sunset.  An agile coach and scrum master are often a threat to the executive leadership because they are more interested in getting work done than the political niceties executives seem to give more priority.  When this happens, tip your hat to the king who took credit for your job and ride off into the sunset.  It may explain why many of the better wizards of literature wander or are hermits.  Working for the King is a sure road to stagnation.

So as one sorcerer apprentice to another; always slay the dragon, recruit more apprentices by your actions, and ride off when you are not needed or wanted anymore.  It certainly beats winding up in the belly of a dragon or the king’s dungeon.

Until next time.

Monday, May 29, 2017

All about the craft of Scrum Mastery

A good scrum master is like a good camp counselor
I take inspiration from plenty of people online and if you have followed this blog for any length of time you will realize I am not afraid to cite my influences.  I have also been a brig proponent of Scrum Mastery being a profession which requires more than showing up to the office.  This week, I want to talk more about the craft and business of being a scrum master.

I have said before being a good developer is in many respects like being a good jazz musician. You can say the same about being a scrum master.  A scrum master must have some technical chops and be able to perform their duties regardless of the situation.  You need to be prepared for anything and flexible enough for when the unexpected happens.  It is hours sitting around with developers active as a “rubber duck” to help them solve problems.  It is listening to them vent about frustrations. Finally, it is about continuous improvement.

It is not an easy job.  One moment you are a therapist for a developer and the next you are disciplining a product owner who is not doing their job.  I have had moments of deep rage where I find myself shouting at my house plants.  The anger is contrasted with sublime satisfaction knowing I am shipping software and helping the business meet customer needs. I have experienced every emotion between these two polls.  Each day is a new adventure and series of emotions to experience.
Companies are looking for scrum masters at an increasing rate because they are struggling to meet increasingly challenging customer demands.  They are also attempting to take dysfunctional cultures and transform them into something where people are willing to innovate.  They want to turn the peasant farmers who labor in their cubicles and transform them into warrior poets.

It takes strange and caring people to lead this kind of charismatic change.  The ironic part is these individuals are often entrepreneurs and iconoclasts who do not mesh with corporate culture.  I am sure every scrum master has a story about visiting the Vice-President's office for removing an impediment and ignoring the office politics.  I have discovered most transgressions are forgiven if you are getting software into production.

So being a scrum master is both a profession and a craft.  I would not have it any other way, and I am looking to help other people understand this career.

Until next time.
 
 

Monday, May 22, 2017

Avoid cynicism by networking

Never be a dark scrum master
After a few years working as a scrum master, a person can develop some gallows humor.  Every excuse elicits a chuckle of dark laughter.  Each setback and technical glitch generate a wry smile of world-weary acknowledgment.  This cynical detachment is a survival mechanism; otherwise, you spiral into a cycle of depression.  The trouble with this strategy is that cynicism is not a good way to lead others.  This week I want to talk about avoiding the trap of cynicism.

One of the great things about the Agile community is there are trade associations to support the people doing the hard work.  There are the Scrum Alliance and the Scaled Agile community who provide support.  These organizations also have trade shows and conferences which act as a means to provide continuing educations.  The biggest benefit to these agencies is that we are put in touch with like-minded people, and we support each other.

Former Secretary of State Collin Powel says, “Leadership is lonely.”  As an agile coach and scrum master, most of your time is spent in the lonely activity of leadership.  You are a member of the team but you also apart from it.  You are training product owners and helping developers improve.  You are also answering to management educating them on how Agile works and how the teams are delivering software.  This loneliness creates social isolation at work.

This is why I enjoy getting together with other agile professionals at user groups and conferences.  We can swap stories, exchange solutions to common problems and be a source of moral support.  It is nice to speak the same lingo to others and to understand your struggles making organizations better are their struggles.  For a few hours each month, I feel a little less lonely.

This is why I encourage others to attend networking events, training, and conferences.  The knowledge gained is valuable but the moral support from your peer’s help you fight off cynicism.

Until next time.

Monday, May 8, 2017

Software is NOT magic

I have spent much of my professional life building and leading others who build software.  It is a rewarding process but filled with countless hours of toil and uncertainty.  I liken it to solving a crossword puzzle on a deadline every day.  This week I want to talk about software and why the perception it is free is wrong.

The world of software development is a topsy-turvy world.  The first copy of the product is prohibitively expensive filled with thousands of dollars of engineering.  The second and subsequent copies are free thanks to digital copying.  To the end consumer, this makes software look like a free and magical tool.  Nothing could be further from the truth.

Each piece of software uses a database.  That database has a structure of tables which resembles a skeleton for the application whether it is a website, mobile application or shrink-wrapped piece of software.  Those databases do their work with a language called SQL.  Depending on the manufacturer of the database the SQL will be slightly different, so software developers have learned to specialize in the various dialects of SQL.  Specialization has forced companies to invest in one brand of database over another.  It is why one group is called an “Oracle” shop over a “Microsoft” shop.

Next software is dependent on what kind of device it will run on.  An application which will run on a mobile device will need to be constructed in one fashion while one which will work on the web will have to be designed differently to work it a different environment.  It requires specialization.  So someone with HTML and Jquery experience may not be very helpful on a mobile application project.
This kind of specialization is necessary for business. Specialization is also expensive, so business people want to save money by off-shoring the work to Northern Ireland or India.  It does save money but makes the process more complicated as we are coordinating with people eight to twelve time zones away.

Software needs to go through a quality control process and then released to the general public which requires more time and effort.  When finished, you see a shiny new app or piece of software.  It looks like it was free and effortless but it requires thousands of dollars and countless hours of effort.  Just remember that the next time you accuse your development staff of being lazy.

Until next time.

Tuesday, May 2, 2017

A March in the Mud

One of the dirty little secrets of software is for every splashy app or disruptive business there are countless hours of toil.  The mental exertion takes years off your life. Software also alienates because, to be successful, you need to be thinking about software and how to keep your skills current.  The compensation is generous but the mental and time demands of the profession are oppressive.  It made me think about what makes a scrum master successful.  This week I want to talk about the gritty nature of the business.

When I was growing up, I have a great Uncle Paul who fought in Europe with Patton’s Third Army.  He refused to discuss his experiences, and when asked about being in combat he remarked bitterly,” I was cold, and it rained a lot.”  Over the years, many of the combat veterans I have known have behaved in a similar fashion.  Whether they served in Korea, Vietnam, Desert Storm or Afghanistan; the prevailing attitude was I would be unable to understand their experiences because I was not physically there.  Instead, I relied on the narrative from books, documentaries and those veterans would share their experiences.

What struck me during my investigation was the tedium of military service.  Moments of terror punctuated countless hours of boredom and following procedures.  Each day is a grind with little room for heroism or glory.  While I have never made the kind of sacrifices required of combat veterans, the grinding nature of a military campaign is familiar to anyone who has worked on an I.T. project.  In fact, every developer has a story about being on a project which resembled a “death march.”  One of my favorite illustrations by Bill Mauldin, who created the famous Willie and Joe cartoons from World War Two, is tired and muddy American Troops guarding German POWs and they are marching through the rain.  The caption offers brilliant commentary, “Fresh, spirited American troops, flushed with victory are bringing in thousands of hungry, ragged, battle-weary prisoners.”  The irony being everyone during the war is tired, hungry and battle-weary.

Anyone who works on a software project gets tired and weary.  There are too many late nights, too many slices of pizza, and too many problems to fix.  In many ways, we are like those soldiers trudging through the rain.  It is why developers prefer agile methods over the more traditional waterfall approach.  Instead of long aimless slogs in the rain and mud, at the end of each sprint, we track our progress and take stock.  Big bang releases would become a thing of the past and development would be made more sustainable.

The reality has been more complicated.  As we have learned to release software in shorter intervals, business leaders have demanded that we cram more feature into each release.  So instead of work being a “death march” it resembles being pushed out of airplanes each sprint shouting “Geronimo” and hoping we survive the experience; this is not sustainable development.

Metaphorically, scrum masters and developers are seeking a happy medium between long marches in the rain and jumping out of an airplane.  Each day should feature a win or forward progress.  Developers should not put in heroic efforts or engage in crunch time.  It is a lofty goal, and if we are doing our jobs correctly, one the agile community can accomplish.

It takes communication with business leaders and regular deployments of software into production. We need to pay better attention to the DevOps movement to see how to implement continuous integration and pipelines for projects.  Finally, it means saying “No” when people demand ten pounds of sand fit into a five-pound bag.  To do otherwise means we are no different than those soldiers slogging through the mud.

Until next time.