Monday, August 10, 2020

Agile Coaching Requires Walking Away.

Samuel L. Jackson from Pulp Fiction
The path of the righteous man requires walking away.

I have been focused on plenty of goals in my career.  I have spent time coaching teams and individuals.  Often, I have to work on projects and help the team turn them around.  Other times, I discover the more esoteric points of my job, like putting together training videos.  This week, I found another necessary part of my career.

I have been working with a large project for twenty weeks.  We went from getting nothing done to pushing releases every two weeks.  The developers were fighting with the QA people on the team, and morale was low.  This week, I walked away from the group and let them stand on their own.  It was a difficult thing to do, but if the team was going to grow, I had to walk away.  

Being a coach means that you have to make your role obsolete.  Teams can only improve with outside help for only so long, and then you have to step away.  The team needs to be able to grow and stand on its own.  Ziran Salayi wrote an excellent paper on this subject in 2019. 

Coaching a team is challenging and a profound emotional commitment.  Walking away from the team breaks emotional attachments, but it is necessary to help the team learn to improve without outside intervention.  As a parent, you place training wheels on a bicycle and run alongside to show them how to ride.  Inevitability, those training wheels come off, and the child learns to ride without adult supervision.  Along the way, the rookie bicyclist will take a few spills, but they will develop a sense of independence.  

Letting go and walking away is critical to the success of a team you are coaching. An organization coached correctly will take ownership of your instruction and bring them into new and more powerful directions.  For instance, if you impress on people the importance of quality, when you leave the team, the team should be eager to create their ways of improving software quality.  Leaving a team is like taking off the training wheels.

A good agile coach is like a character from popular culture.  It is the type of character who rides into a dusty town in the west to restore law and order, like Cleavon Little in "Blazing Saddles," or a mysterious woman who opens a chocolate shop in the 2000 film “Chocolat.” I take inspiration from Samuel L. Jackson’s character Jules Winnfield from “Pulp Fiction.”  At the end of the film, Winnfield abandons a life of crime and foils a robbery without firing a shot.  I am never going to be as cool as Samuel L. Jackson, but I do know how to exit.  Walking away from a team is not giving up on them; it is encouraging them to thrive on their own.  Walking away is part of being a coach. 

Until next time. 


Monday, August 3, 2020

It is never about you.

Serve others it isn't about you.


The best part of being part of the agile reformation is the community of supportive professionals who inspire each other.  I can rely on the experience and wisdom of thousands of people who are on a similar journey attempting to make work saner, sustainable, and satisfying.  Currently, I am training at Chicago State University to improve my credentials as a certified agile coach.  It is an excellent experience with people from all over the globe.  Someone from the Philippines has the same challenges I do when leading change.  It is always nice to know that we are all facing similar struggles and challenges. This week, I learned a rather important lesson, which often gets lost as we become more experienced in agile. 
 
One of the critical foundations of agile is the notion of servant leadership.  The best leaders often are those who see themselves as servants helping the people; they lead rather than viewing the people under their authority as people who serve them.  As you gain experience and credibility within the profession, it is easy to let the certifications, recognition, and respect go to your head.  We are scrum masters, and people look to us for advice and guidance.  It is intoxicating.  

The reality is that being an agile coach or scrum master is about service to others.  It is not about us and our journey.  We should remember that success in this profession is when others take the lessons we have learned and apply them to their challenges.  If we are doing our jobs properly, our wisdom will help build success for others.  We should celebrate the achievements of others and the growth of people under our charge.  Unlike other areas of business, being a coach or scrum master means taking the focus away from yourself and directing it at the teams you are working.  

It is nice to learn from others.  The most important lesson is discovering that to be a servant leader, you need to remind yourself it is not about you but the people you are leading.  It is a lesson worth repeating.  

Until next time.  

Monday, July 27, 2020

Dream the Big Dreams

Every Leader should have a dream

Like many scrum masters, I spend plenty of time learning new things about my profession.  I am participating in the Chicago State University, Certified Agile Coach program to brush up on my coaching skills.  We have been discussing a wide range of topics, from active listening to servant leadership.  This week, something struck me during class, and it was the observation a servant leader needs to dream big dreams.  You do not usually think about leadership requiring big ideas, but imagination is a necessary component if you are going to lead in a global economy. 

Begin labeled a dreamer is often considered a stigma in academics and business.   It implies a lack of seriousness and an inability to recognize the practical realities of the world around us.  To be a dreamer is to be either a rock star or a hippy.  I beg to differ.  People who are dreamers have a vision about how things should be.  Having the imagination to see things differently and the determination to make it happen is something that makes investors swoon and makes innovation possible. 

Being a dreamer is positive.  It looks forward and asks, “Why not?”  A leader replies, “Not yet,” when they hear something is impossible.  It is not mindless optimism; instead, it is a quiet determination to look ahead and see a better future.   In addition to seeing that better future, a servant leader needs to share that vision to provide meaning and purpose to others and yourself in this absurd world.  The ability to dream helps you gather strength in bad times and excel when the opportunity comes along. 

A dreamer is someone each organization craves because much of the business world contains drudgery and monotony.  People crave purpose and want to feel the effort they put in daily is worth the struggle, so a good vision helps fulfill this role.  As a servant leader, dreaming big dreams is necessary. 

Until next time. 


Monday, July 20, 2020

Failure is the Fertile Soil for Growth

Failure happens


A common theme in business writing is the mythologizing of success.  It is an easy narrative to promote.  People enjoy reading about the success of others, and wealth is always intoxicating.  The struggle, failure, and sacrifices necessary to achieve that wealth have a glossy sheen in popular culture.  For me, the most exciting part of the story is how others deal with failure and crushing disappointment.  It interests me because my career has numerous episodes of frustration.  A setback proceeded with each significant improvement in my career and life. Defeat is a teaching tool for me, and now I incorporate it into my coaching practice.  

I have made numerous references to how failure is an exceptional learning tool.  Instead of failure, I should barrow the mindset of Carol Dweck and her Ted Talk from 2014.  Instead of saying, I failed, I should say that I have not yet succeeded.  It is the classic growth mindset which motivates people to figure things out and improve.  It sounds noble, but it is difficult for people to do because it challenges an individual’s self-worth.  

Thus, I spend lots of time taking the sting out of the everyday failures and mix-ups which happen in an office.  It means being kind in moments where your lesser self would like to snicker.  It means saying, “not yet,” and “what could we have done differently.”  It is holding others accountable without being mean about it.  I struggle just like the next business leader, but I have noticed that people respond to this approach.  Instead of beating a drum, a leader needs to show the way and get a little dirty in the process.  

Failure is real, but how we react to it makes the difference between a fixed mindset and growth and continuous improvement.  I choose a growth mindset any day of the week.  

Until next time. 

Monday, July 6, 2020

Professionalism and Developers Part 2


Software Developers are not hooligans.

Last time, I wrote about the three main factors which contribute to a lack of professional behavior among software developers.  For management which does not come from the ranks of engineers, it can feel like you are attempting to organize a group of soccer hooligans.  The good news is there are some simple techniques you can use to improve the professionalism of these challenging employees.  

Since developers are creative and intelligent, a pivotal approach to leading them is to show them what to do and let them take ownership of the details and deliverables.  For instance, we had a client that need to track bakery ingredients.  I said we are required to monitor the elements in a database and that some restful APIs in C# should be able to do the trick.  The development team asked about how they would enter data in the system. I said that we should be flexible and we should use the technology we already have. With that information, the team constructed an AngularJS application that wowed the client and earned us additional business; because I left the details and deliverable up to the team, they took ownership of the process.  

Next, developers crave autonomy.  The reason they specialize is so they can have mastery over a subject.  The ability also translates into others, trusting them to do the correct thing technically for the project and the business. Ability becomes autonomy to a software developer.  Giving team members freedom is going to be a challenge to business leaders accustomed to micro-management, but it will pay dividends.  Set clear deadlines and then allow developers to meet them.  Reward success with more autonomy.  It will become a positive cycle.  

Another proven technique is to allow engineers to automate everything about their jobs they hate.  If they do not like filling out time cards, ask them to write a macro to do it for them.   Instead of scolding people for not writing release notes, have them use the git repository to generate the notes based on pull requests automatically.  I was amazed when a developer created a build pipeline, which creates an excel spreadsheet with unit test results.  I asked them why they did it, and they said it was because they hated to do it each time a build happened. 

Finally, dole out perks and privileges based on professional conduct.  Let people go home an hour early on Friday if documentation is complete, timesheets submitted, and the build is working.    Perks do not have to cost money, and they can be an excellent way to encourage more professional behavior.  

By rewarding professional behavior with perks, allowing engineers to automate parts of the job they hate, granting increasing levels of autonomy, and giving people the flexibility to solve problems, you are creating an environment where developers want to become more professional.  Software engineers are some of the hardest employees to lead, but if you follow my suggestions, it will be much more comfortable than attempting to control a bunch of soccer hooligans. 

Until next time. 

Monday, June 29, 2020

Professionalism and Developers Part 1

Developers see the world differently.

I have spent a long time working in the software business.  I was not very good as a software developer until I did it professionally for ten years.   Today, I still consider myself a mid-level developer in terms of skill.  What set me apart later in my career was the professionalism I brought to the job.  Documentation would get written, time cards would get filled out, and I spent a lot of time over-communicating with management and stakeholders.  As I moved into project management, scrum mastery, and leadership, I noticed that software developers struggle with professional behavior patterns, which other business professionals have internalized.  We should discuss this.

The subject of professionalism is a touchy one in software engineering.  If you look at the history of the profession, it is easy to see why.  Bill Pflegin and Minda Zetlin, in their book, “The Geek Gap,” points out business people and technology people see the world from two different frames of reference.  A business person wants to be likable and profitable.  If you are agreeable, others are more receptive to your product which you are selling.  Thus, business people are very focused on being likable.  Engineers are not concerned with being likable.  The most important thing for an engineer is to make sure things work.  An engineer spends most of their time wrestling with the rules of physics or computer science to get things to work faster, better, and more reliably.  Something works, or it does not, and this binary view of the world and their career is often disorienting to business people.

Next, developers since the 1950s have a deep affinity for counter-cultural movements.  Beatnik, Hippie, Anarchist, Libertarian, and Punk mindsets permeate the culture of programming.  The let it all hang out attitude of developers is similar to the approach of Jazz musicians.  Hair color or politics does not matter; what matters is technical ability and the respect it generates.  It is why we have engineers with “UNIX beards” because they honor other engineers for the work they have done, and they do not care what business people think.  Someone like this does not have to care about being likable because they build things that work and keep the organization going. 

Finally, developers are more creative and intelligent than the average business person.  Creative people are alienating to people who are not.  Creative professionals are deeply suspicious of authority and rules.  Combine these two factors, and it is natural to see how business people and engineers distrust each other.  It is also why engineers chafe at the rules, regulations, and notion of professionalism.  To the engineer, professionalism is the curtain that hides the inability to solve problems and make things work.

There are three key reasons why developers and engineers do not behave as professionally as other business people.  First, they see the world differently and judge their value from a different frame of reference.  Next, developers embrace sub-cultures that do not respect authority.  An engineer or developer appreciates accomplishment or skill.  Finally, developers being more creative and intelligent, often chafe at rules made by others.  These three ingredients combine into a perfect stew of unprofessional behavior.  I will talk about how to work with these realities in my next blog.

Look forward to seeing you then.

Until next time.

 


Monday, June 22, 2020

Motivate Others Instead of Bossing Them

Motivation is Powerful


The biggest challenge for a coach or leader is motivating others.  If anyone could do it, the world would be a different place.  Problems like hunger, climate change, and a properly fitting pair of slacks would quickly happen because people would want to address those problems.  In reality, we struggle with these challenges because it is hard to motivate others, and there is an entire group of people who want to discourage people from thinking there are solutions to these issues.  Motivation is getting people to swim against the current of conventional wisdom. 
 
Motivating others is a full-time job.  It requires the application of soft techniques of persuasion and other times the blunt force of human resources.  People want to feel useful and challenged, but often they settle for security and routine.  A leader needs to work with these messy people and give them a chance to rise to their circumstances.  I struggle with this because I come from a command and control environment.  I would discover later in my career; this approach does not work with technical or creative professionals. 
 
The global economy has shifted from building things to creating experiences, services, and ideas.  It is a complicated process, and it requires more than following orders.  It requires looking at things from different perspectives.  The creative process requires a sense of craft.  Finally, it demands that people look at problems and question established answers.  People who excel at these skills are rarely the type to follow orders.  

Because we rely on information and creativity more than ever, leaders need to convince people why things need to happen instead of what needs to happen.  Give a problem to a bunch of creative people and tell them why it needs solving; you will be surprised by the effort they will put into solving it.  Telling people why something is essential creates a common cause with the team.  Explaining the urgency and necessity gives importance to work.  People with purpose are better than those with a plan.

So as a leader, you need to show others where you want them to be rather than telling them. Act as an example by listening to others and avoid asking someone to do something you would not do yourself.  Support others as they struggle to come up with solutions and listen to what others have to say.   It is surprising what you will learn.  

I do not have a magic recipe for motivating others.  Each day, I do my best to explain why certain things should happen.  The team should be concerned with how it should happen.  Finally, try to be an example for others to emulate.  Motivating others is not an easy process, but if you can do it right, the results are deeply satisfying.  

Until next time.