Monday, January 17, 2022

Disagree and Commit is the Agile Way to Resolve Disputes

Presently, I am working on a gigantic project.  It is the replacement of a forty-year-old enterprise system.  Teams reside over three continents, and conference calls have hundreds of participants.  Projects like this require millions of dollars and the patience of Job.  I exist as a product owner who intersects with the organization's remaining units.  It is a tremendous amount of responsibility.  Today, I want to discuss a vital work component on a gigantic agile project. 

When working on a massive project, the biggest challenge is making sure the work is completed quickly and with sufficient quality.  Teams hand off work to each other, and those are usually the pain points as one group takes over the work of another.  It is why scaling frameworks like SAFe, LeSS, and Scrum at scale have become so popular in enterprise-scale projects.  The additional artifacts and rituals of scaling frameworks are supposed to prevent botched handoffs and production environment problems. 

Disagreements are going to happen.  Large agile projects are strange because there is a tension between the need to manage hundreds of people to get a job done and the desire for those people to be empowered and autonomous to get the job done.  How we handle those disagreements can make the difference between success and failure.

I received a directive from an executive to do something, contradicting over twenty years of my experience as a technology professional.  I objected and said it violated both the letter and spirit of agile.  The response was terse, "We are a SAFe project, not an agile project." At that point, I had some choices.  I could be insubordinate and not carry out the order.  My other choice is to follow the directive unquestionably.  I chose a third path that agile coaches embrace called "disagree and commit."  I explained the foolishness of estimating research spike and then said, "You are in charge of this project, so to save time, I am going to disagree with you but commit to this course of action."  You are not being insubordinate, and you are pointing out a future complication or challenge which the team can resolve when deadline pressure is not severe. 

Six years ago, Jeff Bezos, in his letter to shareholders, said the disagree and commit approach is how Amazon was able to create Amazon studios.  It is also a decision that can easily be reversed.  Any discussion about the merit of a process can get vetoed.  Fortunately, you can change most decisions, so the quality of a decision is not what matters but the speed.  

In my brief tenure on this project, I have delivered software and improved the process for the team.  I believe that my approach will be vindicated, but for now, I will commit to the other one because it is easy to reverse when the time is correct. 

The manifesto says working software is the accurate measure of the progress of an agile project.  Disagreement is a natural part of creating working software.  Saying you disagree with someone is not insubordinate; it is sticking up for your development team, quality of work, and professional ethics.  Committing after disagreement means you want to get the working software into production sooner.  It keeps the bills paid and ensures a massive project does not collapse into a big ball of mud.  

Until next time. 

Monday, January 10, 2022

Agile is Ethical and About Squashing Trolls.

In the early days of internet communities, the conversation was limited to bulletin board systems and the early attempts at instant messaging.  It was a wild and unregulated era.  People got into an intense discussion that would degenerate into personal attacks known as “flame-wars.” Often the online conversation would be a mix of community building and toxic misanthropy.  Other times, communities would sprout up and become repositories for wisdom and trivia in equal measure.  To be an early adopter of the internet, you learn to find the good stuff and avoid the poison.  

The most dangerous people in this new world were called trolls.  According to The Guardian newspaper, they are the type of internet user “…who posts a deliberately erroneous or antagonistic message to a newsgroup or a similar forum intending to elicit a hostile or corrective response.”   Today, social media and the internet appear overrun with these trolls looking to monetize the attention into fame and fortune.  Today on the blog, I want to deal with a troll spreading disinformation about the agile movement. 

Dealing with internet trolls is often like wrestling a pig in a mud puddle.  After lots of exertion, you are dirty and exhausted, and the pig appreciates the exercise.  When a troll is denied the nourishment of attention, the internet troll moves to another topic or potential victim.  It is why a common source of wisdom on the web is “don’t feed the trolls.”  

I spend plenty of time on the professional network LinkedIn.  It is a way to keep in touch with old colleagues and stay on top of industry trends.  Daily, I see articles from solemn people talking about why agile does not work.  Many of these articles follow a similar template and often boil down to organizations being unable or unwilling to apply the information they discover during the agile process to improve.  I liken it to a person who knows they have to quit drinking but journeys to the liquor store because they cannot fathom a life without alcohol.  This week was an exception because someone seeking attention posted an article saying agile was unethical.  I have dedicated my entire career to ethics and agile.  To have someone accuse the agile reformation of being unethical felt like a grievous insult to everything I have stood for professionally.  

Agile, emphasizing transparency and empiricism, is the height of ethical business behavior.  Customers deserve collaboration instead of lengthy contract negotiations.  The manifesto talks about working software being a principal measure of success.  Rather than sticking to a plan, an agile professional will respond to changing conditions and market plans, and being an agile professional means being deadline-focused.  Finally, agile requires you to be good with people and practice radical candor along with dynamic leadership. 

Agile is an accepted part of technology organizations and global business because it works, and its practitioners embrace the highest ethical standards.  The business world is harsh, but it will not tolerate frauds and grifters.  A grifter will alienate everyone and then no one will do business with them, and eventually, a fraud will get caught and go to jail.  

Finding an audience is difficult on the internet.  It does not excuse spreading misinformation or outright falsehoods.  Often you feel like a mime in a mosh pit wanting to express yourself and receive the attention you deserve.  When I made my predictions about 2022, I said I wanted to fight misinformation.  Any accusation that Agile is unethical for business should receive a dose of skepticism.  I have paid a high price to be an ethical technology professional and speak truth to power.  I will not feed trolls by letting them get away with spreading erroneous information.  

Until next time.

Monday, January 3, 2022

We need fresh blood in technology

It is a new year, and after all of the parties and gatherings, it is time to roll up our collective sleeves and get back to work.  The global economy requires plenty of labor, and we do not have enough trained people properly to maintain it. Today, I want to talk about this challenge.

Less than five-hundredths of a percent of the world population know how to write software and maintain computer networks.  All of the global economic data and information travel through those networks, so recruiting new people each year is essential to help maintain and improve those systems.  I think we have done a poor job in this regard.  It is why I will always support people looking to get into the profession. 

In many respects, being a software developer is like being and musician.  Practitioners can be self-taught or have years of classical training.  Each approach has its merits, but a musician needs to develop “chops” to succeed.  It is when a musician learns to improvise and interacts magically with an audience and other musicians. 

Thus, writing software is not learning a particular programing language; it is a way of working with others that maximizes quality and delivers value.  It requires attention to detail and learning how to write a unit test to know that something will work the same way each time it is in a production environment.  It is not an easy process, and it took over ten years of trial and error to consider myself competent.  The profession has a way of humbling the best of us.

Support others who are attempting to get into this crazy business.  Encourage people to set up GitHub accounts and experiment with new coding tools.  Encourage women and people of color to join the activity because their presence will help improve quality and deliver value to a broader audience.  Agile is a significant movement, and the more people we have creating quality software, the stronger it will become.

Until next time.



Monday, December 27, 2021

Looking Ahead to 2022

Happy New Year!
It is the end of the year, and everyone will be in full Christmas mode when this blog is published.  Each year, I blunder around attempting to make predictions of what will happen in the world of technology and agile.  Last year, I skipped that exercise because I was moving into my new home.  I am comfortably settled in, so it is time to look at future trends. 

Nothing is going to be easy. –

The year is a textbook example of the insecure nature of the modern global economy.  I was fired from my position as a director of delivery and then went into the world of consulting.  The social contract where you are loyal to an organization and, in exchange, they are dedicated to you is gone.  Now each person must build a brand and skills to convince employers to hire you to generate value for them.  It is exhausting and aggravating because it forces you to prioritize your career for survival reasons instead of family and community.  It also grinds down the self-worth of everyone because security and status depend on maintaining valuable skills for the employment market. 

Career, family, and community are never easy, but it will become increasingly difficult to balance these forces with this present situation.  It is no wonder birth rates are declining in the United States.  

Ending Humiliation at the Office. –

The year 2021 features an open insurrection against a freely elected president and the prolonged effects of the COVID-19 pandemic.  Both of these stories are important, but in my mind, the big story is the “Great Resignation.”  The job market is hot, and the upheaval of the last two years has made people reconsider priorities.  I also suspect that many professionals working from home realize how awful and humiliating it is to work in an office.  Petty leadership, microaggressions, and lack of advancement are finally coming to a head, and it is natural for people to tell organizations to stuff it.  I joined the agile reformation because I knew that this situation would not be sustainable.  If your organization wants to survive, it pays to help people find dignity, flexibility, and opportunity at work.  Give me a call, and I might be able to help you with that process. 

Money What is that? –

All of our ideas about money are changing.  Bitcoin has been around since 2008, and now we have other types of cryptocurrency floating around the internet, including DogeCoin.  I believe that most cryptocurrency is a high-tech version of blue-sky stocks from the 1920s.  However, we can not ignore that blockchain technology will change how we treat things like money.  Banks are getting involved in cryptocurrency, and governments are taking regulation of it more seriously.  I think these are all good things. 

Non-Fungible Tokens or NTFS are becoming interesting because they look like they are a new way of paying for digital content.  I am not convinced, but NTFS might help move the internet away from an advertising model of content and toward something more sustainable.  I will try to experiment with this in the new year.  Who knows, I might make some money in the process.  What is clear is that attention and time spent with content will be more critical than ever.  

Death to Disinformation! –

Being online can get dispiriting with trolls, bullies, and self-aggrandizing grifters dominating discourse.  Misinformation pedaled by bad actors is poisoning the promise which surrounds the rise of the world wide web.  With the rise of virtual reality and augmented reality in the tech sphere, I will volunteer and help create defenses against misinformation in these new internet territories.  Expect to see me in the Sensorium virtual world attempting to make sense of it and act as a sage, helping prevent the spread of misinformation.  I hope I will be welcome.

So those are my predictions.  I want to wish everyone a happy new year and look forward to seeing everyone on the other side. 

Until next time. 

Monday, December 20, 2021

Embrace the Pain and the Progress of Agile

I am busy with my work commitments and researching a book.  As part of my research for the project, I have spent time reading about topics outside my comfort zone.  One of the topics is an understanding of Lance Armstrong and his doping scandals.  While doing this research, I discovered the deep wells of endurance and dedication it takes to be a professional cyclist.  Each cyclist has masochistically embraced pain and suffering.

Reed Albergotti and Vanessa O'Connell described three-time Tour de France champion Greg LeMond book in their book "Wheelmen,"

"He'd hit 5,000 feet, and the air would get thin. He'd feel light-headed. He'd breathe hard. So hard he couldn't think anymore – couldn't feel anything.  And LeMond liked it that way.  He was happiest when he was suffering when he was in total pain."

LeMond was an abused child, and he would get on his bicycle and ride.  The physical pain and adrenaline were his escape mechanism.  

What many people consider masochism was a typical day's effort for a professional cyclist.  With little fanfare and attention riding, six, eight, ten hours a day, the rider would climb steep mountain trails at altitude and pursue a constant diet and exercise routine.  The routine of suffering had few guarantees because everyone else we doing the same things to remain competitive.  

After a call with my development team in India, it occurred to me that the life of a technology professional is similar to a professional cyclist.  Most people do not see the hard work and attention to detail software developers and quality assurance professionals put into their work.  The hours spent tweaking algorithms, troubleshooting bugs, and tuning database tables are invisible to the software users.  It is a grind, and it resembles the suffering of professional cyclists. 

As the coach and leader of your team, it is your job to put that suffering and grind into perspective.  Measure things like defects, lead time, number of stories getting done per sprint.  Spot trends and point out improvements.  Show your team that the hard work is paying off.  Finally, expose the team to the people using the software.  It will allow the people doing the work to see how all the effort is paying off. 

The emotional labor it takes to lead a software team is challenging, but if you put in the effort, there is a big chance that it will pay off with a victory lap or two when you complete the project.  I hope all of my readers have a fabulous Christmas holiday, and I look forward to more adventures in 2022.  

Until next time. 

Monday, December 13, 2021

Emotions Mater to Your Agile Leadership

People describe business people as cold and lacking emotions.  The classic Christmas story by Charles Dickens, “A Christmas Carol,” is a prime example of an emotionally stunted person who needs a supernatural intervention to live a better life.  My personal and professional experience is different.  I have witnessed fits of rage, emotional breakdowns, and plenty of narcissism.  Technology features numerous emotional highs and tragically deep lows.  When people base their identity and ability to support a family on work, you cannot help but get emotional.  As an agile coach or leader, it is up to you to deal with your own emotions and the emotions of others.  Let us take some time to discuss it. 

A common phrase you hear in any office is, “Don’t take it personally; it is just business.”  Ironically, this line comes from gangster movies from the last fifty years.  I firmly believe that business people should be better than typical gangsters.  Many people depend on business to feed their families and provide themselves with a sense of self.  It entangles the personal and professional, which are bound to have emotional implications.

In her book “Radical Candor,” Kim Scott talks about the emotional work of being a leader.  She emphasizes that you should care personally about the people who work with you.  Additionally, it would be best to challenge people directly by praising and criticizing when necessary.  Both praise and criticism should come from a place of genuine concern for the people you lead.  It is a skill that does not come naturally, but it will take your agile skills to the next level with practice.

The most challenging part of being in a leadership role is dealing with your own emotions and how they affect the team because pressure can build up in the office, and it creates one of four reactions; fight, flight, fawn, or freeze.  Our evolutionary legacy has taught us to react to danger with a fight instinct or a flee response.  Running away from trouble is always an intelligent course of thinking when escaping.  Fighting is also natural when we think we can overcome the danger.  You can see the flight response when people do not want to see or speak to you in an office.  A person who picks fights is a typical response to danger, and so to create a better working environment, you need to help remove the threat from a situation so you do not trigger a fight or flight response. 

The fight or flight response happens when the power dynamics are roughly equal.  When there is a big difference in power, fawning and freezing happen.  When someone is scared, that person will freeze.  The response allows the person to access danger and the stillness acts as a form of camouflage when someone is threatening them.  I see this happen all the time in meetings when an executive asks a question.  Everyone freezes because they want to provide an answer which will please the executive.  The fear is that they will be punished or ostracised if they give a wrong answer—situations like this demand psychological safety, and people are allowed to speak.  A messenger with terrible news should never worry about getting shot.  

The fawn response happens when someone decides that false flattery is the only way to deal with someone creating a perceived danger. Fawning is a way to advance within an organization or deflect attention.  In reality, it is manipulative and an example of toxic relationships in the workplace.  The leader being fawned over will crumble at any sign of adversity, and the person doing the fawning will lose respect from their peer group.  Being charming and cute is an excellent short-term strategy, but fawning behavior will undermine credibility in the long term. 

If you witness any of these behaviors, it is clear that the office environment does not have psychological safety, and you need to address it.  Business is personal.  People do feel strong emotions at the office.  As a coach, it is up to you to create an atmosphere of psychological safety because if you do not, people will exhibit fight, flight, freeze, or fawn behavior.  It is better than living like a gangster. 

Until next time. 

Monday, December 6, 2021

Communication is the Key to Agile

Gigantic enterprise projects require thousands of developers and countless hours of work.  I am working on one of these projects, and I have learned a few things along the way.  Today, I want to discuss the importance of communication if you are going to be a successful agilist. 

When working with extensive enterprise applications, you should understand that no one will know how the system works.  A person will understand how a particular portion works but not how the entire system operates. Today's giant software applications for business are so big and complex that it is impossible to comprehensively understand how information flows through the system.  Confronted with this reality requires numerous people's collaboration to outline how a system operates.  

The collection of experts in a room will hash out how the system operates.  Once they have a general idea, they start creating user stories to flesh out that operation and assign work to different teams.   With software teams scattered around the world in different time zones, questions are bound to come up.  Product owners and scrum masters then attempt to bridge the gap between the various teams to get the work done.  It is a tedious and painstaking process. 

I use a technique I learned in my undergraduate days as a speech and debate person.  I tell people what I am going to say to them.  I tell them and finally tell them what I just told them.  These techniques sound redundant, which is the point of the entire exercise because repetition aids in the retention of information.  

For instance, we are adding extra fields to an API, so I call a meeting to discuss it with the vendor and the team consuming the vendor's API.  I send out a meeting notice with a brief plan.  During the conference, I said, "We will cover the new fields in the API and how they are going to be consumed."  The next portion of this meeting talks about the fields and how the team will consume them.  At the end of the session, I review what we talked about and, if necessary, follow up with an e-mail and some user stories the teams need to finish.  

Notice the goal of the meeting is clear and stated up-front with a clear purpose.  We work toward that goal.  Finally, we restate how we are going to achieve that goal.  It helps to leverage the communications systems used in the office, including e-mail, instant messaging, and project management tools.  It is a way to hold people accountable and make sure they understand. 

Checking for understanding is essential.  It is one thing to say something, but understanding is a different skill.  It is why you should ask others to repeat back what they know.  When there is a disconnect, you can clarify the misunderstanding.  For a busy person, communication like this can be exhausting, but checking for understanding will improve the quality of work on the team.  The time spent talking now is going to save time doing rework later. 

On gigantic projects, it pays to over-communicate.  Tell people what you are going to tell them.  Tell them, and then tell them what you just told them.  You can thank me later when the level of misunderstanding decreases and quality improves.  

Until next time.