Monday, January 21, 2019

Transform at the speed of the Team

Coaching is more than presentations.
Software development is not rocket science it is a branch of engineering but, it is not rocket science.  I say that because rocker science depends on the laws of chemistry and physics which have not changed since the big bang.  Software development is changing daily.  Javascript libraries are constantly being updated and going in and out of fashion.  Versions of PHP change and open source code is in constant flux.  Finally, software development is dependent on the fickle demands of consumers who use it.  The level of chaos and change are staggering.  It is why software development is such a challenging profession.  As a scrum master and coach, you must understand those challenges and guide development teams through the process.

One of my favorite pieces of journalism is Bloomberg’s weighty essay entitled “What is Code?” It talks about the person in the taupe blazer and the frustrations of software developers.  It also does a great job talking about the headaches the executives who manage software developer face.  The essay captures perfectly how smart people struggle daily to get dumb machines to act intelligently.

The world of software has tremendous power, but that power belongs in a small subset of the world population.  I calculated that less than .05% of the global population of 7.4 billion could maintain software and computer networks.  Many of these individuals work in the quiet recesses of government and business keeping things running.  They go home to families and friends.  They pay bills and try to live their lives as best they can.

Because of the laws of supply and demand, computer professionals receive large compensation, but the compensation comes with a trade-off.  The trade-off is long hours on uncompensated overtime and business leaders expecting them to perform magic.  It creates conditions which lead to poor quality and burn out.  I have experienced this situation as a developer and as a manager.  As a customer, I have stumbled on numerous situations where fatigue, complexity, and unrealistic expectations have combined into a poor product.  The history of the internet contains plenty of companies which had a few pixels and an unhealthy dose of hype.

Technology professionals have lived in that world since the early 1990s, and you can excuse them for being suspicious of new approaches to doing things.  For every Amazon.com there are hundreds of companies like Pets.com.  So bringing ideas like Test Driven Development, S.O.L.I.D. programming and Agile is going to face resistance.  As a scrum master or coach, I recommend you begin slowly introducing concepts letting people test out an idea to get comfortable with them.  It also helps if you understand and recognize the pressures the team faces.  Are they distracted by requests which are urgent but not important?  Do you have a healthy cadre of product owners or is the role being performed by a manager?  Finally, are they working with a brittle technology stack? Answering those questions will determine how fast you can go during your agile transformation.

Software development is not rocket science.  It is a challenging field prone to error and burn-out.  Only by paying attention to individual challenges each software development team faces can they be coached into an agile way of doing things.

Monday, January 14, 2019

Crazy little thing called Jira

Old School Scrum board.
As an agile coach, I have learned to consult the agile manifesto whenever I get stuck on how to proceed.  When I changed firms, I moved from a company which used Azure DevOps to one which used Jira.  It was a bit of a shock.  Fortunately, after working with the tool and reading the book “Agile Software Development with Jira,” I feel comfortable enough to work in a busy software shop which uses Jira.  The experience gives me additional insight into the differences between the two tools.  I want to talk about that insight this week on the blog.

Before I begin, it is necessary to have full disclosure. I have spent a majority of my career working with Microsoft products.  In 2008, I made the switch from Visual Source Safe 2005 to Team Foundation Server.  I have worked with the tool as it has grown and changed into its current incarnation Azure DevOps.  I also know members of the DevOps “Blackshirts,” at Microsoft and one of my mentors for the last ten years in this business runs a blog called “The TFS Whisperer." In short, I have a serious professional and cognitive bias toward Azure DevOps.  I have even authored a blog defending TFS from a blogger who considered it “destroying development capacity.”  If I were the CIO at a company, I would prefer Azure DevOps vs. Jira.

Now that I have confessed my bias, I am going to attempt to set it aside and try to compare the tools.  The first thing which sticks out to me about Jira is the ability to configure it.  When you create a project in Azure DevOps you have three off the shelf templates; Scrum, Agile and CMMI.  The templates can be customized, but it is clunky and requires a developer to do the work.  In my ten years working with Azure DevOps, I have not been able to do that task.  With Jira, they have the concept of workflows, and they are configurable.  I have witnessed project professionals’ fight about the configuration of workflows.  Azure DevOps allows you to configure boards with custom status columns referred to as “board columns,” but to update them, you have to view sprint backlogs or product backlogs to change them.  I consider this a serious limitation of the product and hope someone from Microsoft can show me how to do that inside a story or bug form.

The next issue is Jira has three types of backlog items; bugs, stories, and issues.  Azure DevOps only has two.  In Jira issues and stories behave in the same way.  I find this confusing, and I am observing my development community creating “tickets,” with no preference for them being stories or issues.  Off the shelf, Jira does not have tools to track git push/pull data.  You need to install a “hook.”  Build automation, and CI/CD features are also absent.  I find this absence to be a major stumbling point for Atlassian.  I should be able to track a story with code changes and build information seamlessly.

Finally, Jira appears to be very good at an individual project with one team, but it struggles at scale.  Issues, Bugs, and stories can fit into Epics, but there is no concept of a “feature,” or “area,” in Jira.  It makes it hard to “roll-up” stories into Epics for the business to easily see.  It also makes it hard to manage large backlogs because a backlog can only accommodate one team.  If you are attempting SAFe or LeSS you struggle to see dependencies between teams and how they time to larger product.  I am sure this is my lack of experience showing.

I do not consider Jira an anti-pattern or a necessary evil.  It is just a tool.  Like any tool, it can be used in a harmful manner and create serious damage.  As a coach, I need to be able to respond to change over following a plan.  Jira is certainly a change from how I am accustomed to working.  Fortunately, my agile coaches and mentors have given me a good working knowledge of how to manage a backlog.  If the stories and vision are clear, it does not matter what project management tool you use.  Jira is good enough, and I will accept it because working code in production is more important than the work item tracking tool which manages the process.

Until next time.

Monday, January 7, 2019

It is just like starting over

Listen, Listen, Listen.
The New Year is always busy.  The sloth of the holidays gives way to new resolutions and a means to wipe the slate clean.  I am no different.  I began a new role as a coach and scrum master at a new firm.  Today on the blog, I would like to talk about starting over and beginning a new agile practice.

A scrum master or agile coach lives an intenerate lifestyle moving from client to client.  More than many professionals they are starting over in new environments.  It means a coach needs to embrace responding to change over following a plan. It requires a certain humility and empathy for others.  Some organizations use Azure DevOps to manage the software development lifecycle, and others use tools like Jira.  Any good scrum master should be able to adapt to these different systems.  It might also be helpful to ditch a system entirely to learn the basics of agile. 

I find listening to others is helpful.  To drown out office noise, I often wore noise-canceling headphones and enjoyed a playlist of “New Wave” and “Post-Punk” music.  It made the day go faster, but it created a barrier between myself and others.  I did not understand how big a barrier until I decided to try something different and leave the headphones at home.  I began to hear QA people gossiping about bugs.  I learned about the favorite T.V shows of developers.  It was informative which people took calls via speaker phone and which ones were more discrete.  The office completed work in a particular way, and I gained insight into that process.  The insight is going to help me better coach others. 

Last year, I wrote a despairing article about my failure as a coach.  What came out of that experience was the realization before anyone can coach or guide others you need to empathize with them.  You cannot bully people into improvement.  People need to be shown the way and encourage to make better choices.  Experience and success will create a positive feedback loop of continuous improvement.  Leave the rough justice to managers who can discipline those who will not buy into the agile mindset. 

When starting over, shut-up and listen to others.  Cultivate empathic relations before learning.  Find out how your customers do things before proposing changes.  Finally, have some humility and respond to change.  Ever since Lee Iaccoa took over Chrysler in the early 1980s, professionals have worshiped the cult of leadership.  It is time to take a step back and realize that before you can lead: listen. 

Until next time.

Monday, December 31, 2018

Looking Ahead to 2019

Happy New Year!
 Looking back and forward.
The Christmas holidays are a blur of family, friends, and food.  The last week has been an exercise in sleeping late, snacking on food which is bad for me, and drinking a variety of fermented beverages.  It is also a time to reflect on the last year and look forward to 2019.

I got a few predictions right in 2018.  The battle between Amazon and Google did get fiercer.  I purchased smart lights and expanded the number of Google devices in the marketplace.  It is also clear Google is starting to pull away with a better quality product.  As of August 2018, Google was starting to pass Amazon in sales.  I hope this forces more innovation and lowers prices.  It would be nice if these smart speakers were the cost of a contemporary clock radio.

I was partially correct about politics in the last year.  Democrats did make a comeback, but the GOP leveraged its structural advantages to retain the U.S. Senate and some state house governments.   It was also clear the two parties are tragically unable to compromise.  Authors pointed out these differences were not a question of ideology but epistemology.  When Christine Blasey Ford, provided credible accusations of sexual assault against a Supreme Court nominee GOP senators saw someone who was “misremembering” a teenage event to destroy a career.  Democratic senators saw it as behavior toward women which was disqualifying.  In light of these events, it is clear the GOP, and the Democrats see women and sexual assault in different ways.

Last year was not just the spectacle of politics and commerce; I made some significant changes.  I decided to concentrate more on my brand.  I presented to the Agile 2018 conference, and I am working on my 2019 white paper for next year.  I spent time at the London 2018 coaching retreat and have given more discussions on Healthy Ownership.  It is a good start, but I have more work to do.  I have to concentrate on my coaching certification with the Scrum Alliance.  I am also returning to work, so I am looking forward to working with new people and challenges.

So what does 2019 look like?  I have three predictions.

The Messy Repercussions of Oversight – 

With Democrats controlling the House of Representatives, oversight of the executive branch will begin.  It will create numerous uncomfortable conflicts around the emoluments clause, nepotism and petty corruption from the executive branch.  I feel this oversight is necessary to hold powerful people accountable.  The aftermath of this oversight will be increase distrust in government and the deepening of the epistemic divide between the two major political parties.

Chubby Capitalism –

The American economy is chugging along creating jobs and wealth.  I suspect much of the growth is the result of low interest rates and mergers.  Gross domestic product is increasing, but there are troubling signs the good times are going to slow down.  I affectionately call the situation, “chubby capitalism,” as large companies bloated with market share and stock buy-backs struggle to adapt to the changing global market.  Some of these “chubby” companies are going to get eaten alive by faster competitors.  Others will be forced to shrink or face extinction.  Caught in the middle will be workers facing more risk and insecurity caused by the binging and purging which will happen next year.

Agile Tribes – 

I have noticed serious disagreements among the members of the Agile community.  The feud between the “No Estimates,” crowd and those who are skeptical is becoming bitter.  Kanban is growing in popularity, and this creates friction with Scrum professionals.  Finally, businesses are creating these quasi-roles for scrum coaches, senior scrum masters, and junior scrum masters.  I want both the Agile Alliance and Scrum Alliance to put down their collective feet and insist that scrum mastery and coaching are complementary skills.

So that is 2018 and a look ahead to 2019.  I hope everyone has a safe and sane New Years.

Until Next time.



Monday, December 24, 2018

Acknowledgements for the Christmas Season

My Christmas Card to you
The Christian holidays are always tough; you are preparing for gatherings of family and friends.  Free time is spent shopping, and disposable income comes and goes faster than a drop of water in the desert.  In the middle of this frantic scramble, I was looking for work.  I am happy to report I am returning back to work on January 3rd.  Adversity has a way of revealing the kind of person you are and this week I wanted to set this aside and thank a few people who have helped me over the last year.

I am deeply grateful for the support I received from my colleagues at LCS communications as I decided to pursue other ventures.  Wayne Reno was a great mentor and I hope someday to develop the emotional intelligence he possesses.  Thomas Collier was my partner in managing a chaotic software development process; he was both a voice of reason and experience.  Finally, I have to extend a hand to Kedar Godkhindi who was both a technical lead and a friend.  I could not get through this hardship without their support.

I also had plenty of former developers and colleagues come forward and pick up my spirits.  Larry Gasik is the curmudgeonly guy you always want in your corner during a rough patch.  I also want to recognize Gene Stetz who is never at a loss for words and has plenty of wisdom to share.   Michael Kappel is an eccentric and artist who will always inspire me.  Finally, I have to recognize Daniel Porrey who took a chance on me five years ago and thought I would be a good scrum master.

The agile community has been great particularly, Kat Daugherty who inspired me to submit my first white paper to a major conference.  I also need to recognize Anke Maerz who has been a pillar of support during the last six months.

I have plenty of people to thank but I don’t have enough room to recognize you all.  As we slide into the holiday and New Year, rest assured I am deeply moved how everyone had supported me over the last year.  2019 is a clean slate and I look forward to filling it with more learnings, news, and wisdom.  Happy Christmas and a joyful New Year.

Until next time.

Monday, December 17, 2018

Dealing with Scary Stuff

I am scared but I am going to be OK.
I have a sign on my wall which says, “If your dreams don’t scare you they are not big enough.” It has been a frightening period for me.  I am interviewing for new opportunities, sending out applications, all the while the holiday season approaches.  It is a lonely period despite the support I have received from family, friends, and colleagues.  Periods like this test a person and this week I would like to discuss it.

Since high school, I have been one of those students who could be labeled as “striver.” I wanted to advance myself and do better for myself and my family.  Pushing myself academically and participating in extra circular activities, so I would get noticed by a college.  It happened with a twist. I was offered a scholarship to a university and then it fell through.  I went to a community college for the first two years of my college career.  In hindsight, it was a perfect move as I was able to deal with the pressures of college with the support of my family.  When I transferred to a four-year university, I learned the discipline it takes to succeed academically.  It was not easy, but the early lesson was that success required sacrifice and discipline.

Sadly, those two qualities are not helpful when jobs were scarce as was the case in the recession of 1990.  Keeping the lights on and the rent paid required the swallowing of personal pride.  It meant working retail working for commission.  It was dealing cards at a casino.  I discovered I was good at computers and learning how to program them.  I was lucky when I left the casino industry, it was the giddy and stupid times of the dot-com boom.  I transitioned from dead-end jobs to a career.  It only took seven years out of school to make this basic professional milestone.

In the intervening period, I have been fired and laid off more times than I can mention.  I struggled to keep the lights on and the mortgage paid.  People have treated me in a grossly unfair fashion and I have received numerous second chances throughout my career.  The adversity which has dominated my career makes me contemptuous of others who have not had similar experiences.  It is also why I roll my eyes when I hear certain public figures discuss their “life of struggle.”

The ups and downs of my career took a heavy toll on my marriage and family life.  It has changed me more than I would like to admit.  In spite of it all, I have remained committed to the business of building working software and attempting to make work more satisfying, sustainable, and sane.  I am committed to large businesses treating people with basic decency.

I am going to give that vision a hard test.  The experience is going to challenge me in ways I am not comfortable.  I might fail.  I still have to try because I owe it to the people grinding out code.  I owe it to my family and I owe it to myself.  My dreams are very big and they scare me witless.   I look forward to defeating the fear and sharing those dreams with you.

Until next time.


Monday, December 10, 2018

When you lose a bet on your career.

Boy, did I fail.
It has been a crazy week.  I made the transition from working on a gigantic waterfall project to unemployment in the span of an afternoon.  I was feeling a flurry of emotions.  At first, I was ashamed and disappointed.  My feelings then migrated to anger and bitterness at how cheaply was thrown aside.  Currently, I am feeling determination and resolve to get back to work.  Through all this process, I have been overwhelmed by well wishes and support from the agile community.  It is this support which is keeping me going during this difficult time.

I joked glibly; I was betting my career that the project I was on could benefit from my agile knowledge and approach.  In less than seven business days, I was rolled off the project and laid off.  I did not receive any feedback from peers; I was just marched into the HR office and let go.  I should be angry and bitter, but that is not going to help me get back to work.  Fortunately, my colleagues on social media and #Slack came forward.  I received comfort, coaching, and support.  I also took some time to think.

It is not comfortable looking at failure.  It is necessary if I am going to grow and develop as a person.  It is one of the main postulates of agile is, “…to fail early and often.” In that respect, I was successful.  I failed, and now I have to take that failure and learn from it.  I am going to do a better job vetting employers to make sure they want the agilest working on their staff.  I am going to change the notifications on my mobile phone, so I am not distracted during the workday, and I can concentrate better.  Finally, I am going to focus more intensely on Radical Candor and Non-Violent Communication.

I have plenty of free time, and so I am going to use this opportunity to decompress and spend with family and friends.  I will live through this and would not be this brave without the help and support of everyone around me.

Until next time.