Tuesday, May 31, 2022

Leadership as a Way to Defeat Tragedy


The last week has been particularly brutal if you follow current events.  It is relevant to me because my life partner is a teacher, and I cannot imagine her sacrificing her life to protect children from a shooter.  The news and social media are awash in hot takes and lurid details.  It is overwhelming and tragic.  Amid all of this grief, we need to ask ourselves in the Agile community what lessons we can learn and how we can help others. 

I have been adamant that I would not write about politics on this blog.  There are plenty of people who have opinions on the political left and right.  I will defer to them.  When I talk about politics, it is often in business law and policy—being a professional as long as I have gives you a unique perspective on how a business succeeds and fails.  A lifetime of experience colors your opinions.  A kaleidoscope of people dominates the world of business.  The foremost thing I have observed is that strong servant leadership is a force multiplier in the success of an organization.  Outstanding leadership makes the difference between slogging away at a job and finding purpose and camaraderie at work. 

I pointed out last week that mental health is a serious concern and business environments actively undermine mental health.  Violence in the workplace is a symptom of deep sickness.  It shows a failure of leadership and collective vision.  It should not be this way.  

A school or workplace should never drive a person to violence.  It is up to people like me to help others be heard and understood.  People want to work and learn with others in situations where they can succeed and thrive.  The agile reformation was born because the business world was failing to deliver value to customers.  That failure was impacting the lives of millions of people around the world.  

I do not have easy answers, but I want to make the world less unequal, cruel, and stupid.  I intend to do that in the context of the business world.  First, I try to do my best to be a servant leader each day.  I am an example of behavior, and it is the best teaching tool for small teams.  If you have the back of your team when times are tough they will have your back.  Others will either model the behavior or understand the norms accepted on the team. 

Next, radical candor should allow you to communicate effectively with your team and others.  Care personally about your people and challenge them directly so they can grow and develop.  Not everyone will succeed, but you should allow everyone to try.  

Finally, we need to stop treating people like “resources.”  Each person is a unique individual with hopes, dreams, and families.  Grinding people down like pencils is bad business because it will drive good people away from the organization.  Burning out people will also turn potential customers into vandals against the firm.  In the worst case, they will resort to violence.  

Leadership is complex and a lonely road to travel, but it can make the world better if done correctly.  It gives me a little small comfort as we attempt to make sense of the death of nineteen students and two teachers.  

Be safe and kind to each other; until next time. 


Monday, May 23, 2022

A Few Words About Mental Health and Agile.


The month of May is mental health awareness month.  In many businesses and cultures, discussing mental health is a death sentence for your career.  Business leaders are afraid to trust people who struggle with symptoms of mental illness, and the stigmas associated with being mentally ill stretch back hundreds of years, forcing people to mask and self-medicate their problems.  I speak from experience because I have witnessed too many neurotic, damaged, and plain mean people placed in leadership roles to hurt others.  These are people with the self-awareness of small furry woodland creatures who then inflict harm on the people they are supposed to serve.   

I have written about mental health before on this blog.  My primary thesis is that the pressures of contemporary business combined with poor leadership create a cycle of abuse and illness in industry.  The situation is made worse with alcohol and other drugs to self-medicate.  It is a prescription for a decline in mental health and business success.  As agile coaches or scrum masters, we need to be frank with ourselves and others when we see this cycle perpetuated. 

Many of the worst environments I have worked in have leaders who are not accustomed to hearing no and possess deep wells of rage.  These individuals were also good at something called gaslighting.  I have had serious moments of doubt about my competency and sanity working for these individuals throughout my career.  Each lay-off or termination became a liberation as time and distance taught me that working someplace else was a good career move.  

It is deeply dispiriting to work for an organization that sets you up to fail.  It could be unrealistic deadline pressures or workloads that require more people than the organization is willing to hire.  It could also be giving people responsibility for situations without the requisite authority.  You have not been in technology until you have seen an IT director in the cardiology unit receiving a phone call from the CIO about a software system before they experience an angioplasty.  The organization demoted that person when they returned from the hospital because he did not deliver the software on time.  Ironically, his replacement received more people to do the work and money to get the job done.  

Organizational dysfunction requires people to work together in good faith to attempt to fix those problems.  Do not drive yourself insane for organizations or people who do not care.  If the organization does not care, neither should you, and you should work elsewhere.  As my mentor, Monica Gilroy, says, “do not run yourself ragged for a ragged organization.”

Work should be sustainable, satisfying, and sane.  If it is not, then walk away for your mental health.  Life is too short to wallow in madness. 

Until next time. 


Monday, May 16, 2022

Source Control and the Rookie Software Engineer


The summer months are a strange time in the technology business.  Executives and project people take vacation time.  It creates an anxious, lazy experience where work stops while people wait for instructions from people in authority.  The profession floods with recent graduates eager to impress and begin their careers.  I am always impressed by the desire of these new graduates to do good work and make a difference.  Unfortunately, I do not think that colleges, engineering programs, and boot camps are doing a good job preparing these individuals for the work world.  Today on the blog, getting entry-level developers to understand source control. 

During a daily scrum meeting, I welcomed some new developers to the team.  The scrum master scheduled a knowledge transfer session.  The team also created stories so the new developers could pair program with the more experienced engineers.  It shows a level of maturity on the team to which most agile coaches aspire.  In that moment of supreme confidence, I made a hasty assumption.  I asked if all the developers were comfortable with the source control system.  The scrum master pulled me aside and said that none of the new engineers had source control experience and that the senior team members would have to teach them the basics.  After the shock wore off, I thanked the scrum master and pondered how it was possible to have newly minted computer programmers and engineers who do not know how to use source control.

Reflecting on my education and subsequent technology journey, it occurred to me we train people to work as individuals rather than on teams.  The reason developers out of college do not understand source control because their training does not require it.  Assignments are small and self-contained, where a student learns to master particular skills like looping code, decision trees, or variable arrays.  Instructs have hundreds of students to grade, and plagiarism is rampant as numerous code examples exist online.  Checking code into and out of source control is unnecessary in an academic setting.  When those students graduate, they enter the world of enterprise systems and interdependent code.  Source control becomes a necessary survival tool in your career. 

A good understanding of source control should be mandatory if you graduate with a computer science degree.  Universities and colleges should set up source control repositories using open source systems like .git.  Students check out repositories for assignments and check them back in.  A teaching assistant can act like a senior developer doing code reviews, and then grades can be based on how easily the instructor can check out code and run it.  More advanced classes can attempt to work on mutual systems and learn how to avoid overwriting each other's work.  

This approach comes with a few bits of overhead.  Address security concerns need to, so students don't deliberately sabotage each other's work.  The numerous branches in the student repositories will need maintenance at the end of each semester.  Finally, instructors will have to manage their course work like an open-source project.  More graduates would understand the importance and necessity of source control if these factors were accounted for, making them more employable. 

As a coach and scrum master, I want a rookie developer to succeed and avoid the mishaps I experienced in this profession.  To be a success, all developers need to understand source control. 

Until next time. 


Monday, May 9, 2022

A Few Life Lessons for the Class of 2022


I take a great deal of pride in what I do.  Over the years, I have gained competence as a scrum master, product owner, and agile coach.  It is not an easy path to follow.  My professional life contains many failures and setbacks, but it makes me better at my job.  Each day, I attempt to help others avoid the struggles and mishaps I experience in my life.  I am a veteran technical professional, and it means you take pride in showing off your earned scars. 

This week my alma mater, Illinois State University, is having its commencement ceremony.  I walked during my graduation for my parents being proud of my accomplishment and feeling overwhelmed by the rush of final examinations.  I was twenty-two years old and one hundred and fifty pounds lighter when I made that walk.  Today, I want to share a thing or two I have learned along the way with the class of 2022.  

Never Quit Learning – 

Technology moves so quickly that you will become unemployable if you do not keep your skills current.  Successful technology professionals must relearn their careers every eighteen months.  I seek out books, experts, and blogs when I don't understand something.  I still practice coding and the forbidden secrets of open source like .git source control.  

A man I respect, Craig Cutbirth, says that everyone should have an intellectual curiosity about the world.  Curiosity should guide you in your learning and your career.  Soon you will develop a humility about your knowledge and expertise.  At your worst, what you have gathered in your head is what makes you valuable to your fellow humans.  Never squander the gift of learning.  

Be Yourself –

The most surprising thing I have discovered working as a business professional is how much people sacrifice to seek the approval of others, especially those with power.  I have seen people change how they dress to better conform with others in the office.  Moral principles and values are sacrificed for promotions.  Finally, I have seen individuals kiss up and kick down to get ahead.  We have a word for people like this, who are called assholes.  Be yourself at work and be your whole self at work.  Some people may not understand, but it is their problem, not yours.  

Leaders are beginning to understand that bringing your whole self to work makes you happier, more productive, and provides value to the organization they could not imagine.  Ignore the trolls who say otherwise; diversity of background and perspective is a force multiplier in business.  I am very proud to work for an organization, CAPCO, which understands this and supports it at every organization level.  

Say No –

Many people in the business world want to exploit your youth and enthusiasm to bolster their wealth.  Taking on an additional thirty hours a week is wage theft, and a promotion is often an empty promise.  Say no, and say it to set clear boundaries.  Answering e-mail on your phone over the weekend is a symptom of a business that does not respect the people who work for them.  

If you are not learning and feel disrespected by your employer, say no and quit.  Life is too short to work with jerks and organizations who treat you like dirt.  The great resignation is the realization that work must provide financial and personal compensation.  Businesses that do not understand this reality are discovering they are having difficulty finding employees. 

Failure Happens –

Young people, since middle school, are taught that we must pursue success at all costs.  The reality is the business world is going to humble each of us.  Each of us will fail, which is the actual test of who we are.  Failure is pure, and it educates like no other experience.  When you fail, you will do everything not to repeat the experience.  Failure provides you with an incentive to show the people who witnessed your collapse that you are tough and can overcome adversity.  

My failures were like bruises that healed over time rather than tattoos which were marks of shame.  Each of us will fall down, but how we get up is more important.  

Currently, the world is unequal, cruel, and uniquely stupid.  I am doing my part to make it a better place, and I hope you join me in this endeavor.  Enjoy your graduation and take some time to think about what you believe and value.  The real journey begins now. 

Until next time. 


Monday, May 2, 2022

Small Changes Can Work Miracles


I am working on a monstrously large project.  Hundreds of developers, project professionals, quality assurance people, and executives are involved in the daily grind of releasing the product.  Being a small gear in a giant machine that builds software is humbling.  You spend much of your time waiting for others and making sure you are being helpful rather than a hindrance.  It is easy to become discouraged because you are an alone person lost in an army of developers.  Today, I want to point out where everyone on a project makes a difference, continuous improvement. 

Large enterprise projects are an endurance exercise.  You are toiling away, hauling huge stones to fit in place for the benefit of others.  The work carries on for years, and while you have deadlines to meet, you do not receive an opportunity to view how the collective group is doing.  I feel like the numerous extras in the Cecile B. DeMille film "The Ten Commandments." It looks like the antithesis of agile, with ponderous progress dictated by supervisors and pharaohs from afar.  

From a distance, gigantic projects look ponderous and top-down.  The agilist comes into the picture when they motivate groups of smaller teams to work together more closely and individual units to improve.  Pyramids take time to build, but the stones can fit together more efficiently, the joints can be tighter, and the worksite can be safer so that the workers eventually have a chance to return to their families.  It happens when you concentrate on making minor improvements often.  

For instance, the most significant delay in my team meeting the definition of done was waiting for test data creation by quality professionals.  After some discussion during a retrospective, the group agreed to create test data without relying on the quality professionals.  It took two sprints of effort, but the development team is moving faster and improving quality because they do not have to wait on other groups like quality to complete their actions. 

Small changes make a massive difference if they happen regularly and over time.  Eventually, these changes act like compound interest over time, increasing the product's value and the team.  For example, if you have a three-week sprint cycle and the team improves its throughput by one percent each sprint by the end of the year, the team will have cumulatively enhanced by 17%, which gets people promoted in the corporate atmosphere.  

The agile focus on empirical measurements of progress and attention to improvement is how big projects succeed.  If each area improves, it acts as a multiplier across numerous teams.  Managers will copy the success of others so that others adopt your improvements to become the improvements of the entire organization.  

Yes, giant projects feel like being one of the many enslaved people building the Egyptian pyramids.  However, if you focus on continuous improvement and helping others succeed, the toil is more pleasing.  

Until next time.