Monday, July 27, 2015

No More Heroes - Why?

Their is a difference between fast and agile.
I hit a nerve last week with my blog.  I spoke about the quite heroism that goes into keeping the global economy running.  It was greeted with a great deal of enthusiasm but I also received some push-back.  Someone I respected, Geoffrey Dunn, mentioned that he didn’t want to work for firm which expected heroism from its employees.  He preferred boring work days punctuated with routine successful software releases.  He even put together a hashtag stating that we need #nomoreheroes in the world of software development.  After some thought, I realized he had a point.  The global economy must also be sustainable where heroism is not necessary.  

One of the most important principles of the Agile Reformation is:

Agile processes promote sustainable development.  The sponsors, developers, and users should be able to maintain a constant pace indefinitely.  

I think that this is one of the most overlooked principles of agile.  Work that requires attention to detail, creativity, and intellectual muscle power just isn’t successful when it is being rushed.  Psychologists, describe a period where we are most productive as a state of “flow.”  This is a state where we have focus, and complete immersion in what we are doing.  It typically requires being well rested, limiting distractions and having the opportunity to do something which is intrinsically rewarding. 

Sadly, most companies do not see software development and technology as a “force-multiplier” for their business but as a cost center to be controlled.  Thus, they try to jam as much software development into as little time as possible with employees they consider expendable.  The worst example of this is in the computer game industry. “Crunch time” and “death marches” have become synonymous with software development because many people who control businesses is have no understanding how software is built and who does the work. They just think software is magic that can be conjured up in a moment’s notice. The reality is that human beings require sleep, food, clear goals, and empathy to accomplish goals. 

The global economy is moving very fast.  So fast that it is hard for business people to stay ahead of the decision curve.  This means they make unrealistic demands on the people who help keeping the business running; the software developers and engineers.  This is why they are being asked to work long hours.  This is why they are under so much pressure.  It is also why there is so much desire for outsourcing and contract workers because in a “gig economy” workers need to be added and removed from projects at a moment’s notice.  

I want to argue there is a difference between fast and agile.  A fast workplace grinds out work at a blistering pace but it may be of questionable quality and utility.  An agile workplace delivers on a constant basis and it is high quality and provides value to the business. A fast workplace burns through its employees like they are fire wood.  An agile workplace treats its people like the skilled artisans and helps them grow and develop.  A fast workplace is moving quickly but has no idea where it has gone and where it is going.  An agile workplace knows where it has been and where it is going to go next.  When plans change they easily make changes.  A fast company will crash in a spectacular way and then make a course correction.  

I agree that companies should have #nomoreheroes.  If firms are led correctly and with attention paid to more agile means of doing business success should be a routine activity rather than the result of heroism.  

Until next time.

Monday, July 20, 2015

Quite Heroes Holding Back the Apocalypse

The end of the world has not happened for a reason.
A common theme in literature is how our modern conveniences separate us from devolving into a barbarous culture which makes the middle ages look like a picnic.  Books like “The Canticle of Leibowitz”, “Lord of the Flies”, and “Ready Player One” are great examples of the genre.  This week I want to talk about something you may not understand.  The only reason technology works is because hard working professionals keep it working.

Technology today has an air of glamour and money associated with it.  It was not always the case.  Engineers who worked in the boiler rooms were covered in grease and coal dust.  The person who ran the data center had paper cuts over his hands from punch cards.  The grumpy guy who maintained the AS/400 couldn’t get clothes that fit because he never slept normal hours or ate right because he kept the business running.  These people were the unsung heroes of the industrial revolution and the first wave of computing.

Today, software rules everything we do from business transactions via EDI to the latest trading algorithms used by stock brokers.  This week I discovered just how deep the rabbit hole goes in my own firm.  Minor changes that seem insignificant can have major consequences, in my case consequences which can total seven figures.  It is a revelation and it is terrifying.

It is up to software engineers, scrum masters, and business people to work together to help keep the world civilized.  It is not easy.  It requires sacrifices from families as parents work late nights getting a release ready for production.  Spouses will have to put up with impotence and sleeplessness as scrum masters grapple with obstacles and how to circumvent them.  Finally, children will have to understand that a ball game will get missed or recital skipped because a server went down and needs to be patched.  Technology workers are well compensated but that compensation comes with accepting some painful trade-offs.

Today, technology people not only in the United States but around the world are struggling to keep the global economy working.  Developers in Northern Ireland are working with engineers in India for merchantmen in Hong Kong.  Project managers in Europe and the United States, are struggling to keep the trains running on time and the projects on track.  This is a very human activity to get machines to try and play nice with other machines.  It is a human struggle that goes on each day and not many people see it.

So the next time you are enjoying air conditioning, clean drinking water, wi-fi or the latest microbrew remember you enjoy these vestiges of civilization because someone sacrificed bringing them to you.  These silent professionals are the ones who make civilization possible.

Until next time.

Monday, July 13, 2015

Take some time off for Pete sake!

Sometimes you have to get off the treadmill.
It is nice to start blogging again.  The last two weeks have been very difficult.  My brother died from complications from burst appendix and I had to take time off to lead the funeral arrangements and support my family.  After that experience, I had to slowly make my way back to work and return to the duties of my day job.  These experiences have changed me profoundly.  I am not the same person I was three weeks ago.  I also gained a little insight into why people need to take time off.  This week I wanted to share my discoveries.

The world of science and technology is unforgiving.  There is always too much work and not enough competent people to do the work.  This is why business people hire project managers and scrum masters to try and get the most out of the limited resources they have.  The problem is that many managers in the business world do not treat their people like human beings but as resources to be used up and disposed of.  This is wrong.

Making matters worse you have highly driven and talented people who work hard in the hopes of earning success.  Case in point, one of my online friend Mary Zeman pointed me at an article in NeuroDojo that has to be seen to be believed.  In short, a Ph.D. is working sixteen and seventeen hour days, publishing hundreds of papers, and only has to ask his spouse to sacrifice her career and have his children spend weekends with him in the lobby of his office.

Science and technology require a great deal of commitment but it should not destroy your family relationships and ability to function as a human being.  Being creative not only requires quantity of time but quality of time where you are focused and in a state of flow.  It has been my experience that you do not reach a state of flow when you are tired or in an environment with lots of distractions.

It bothers me when I hear people outside the profession say that technology people do not work hard enough. Obviously, these people do not see developers working late hours during a production roll out or spending hours looking at the same problem desperately hoping they can find a solution.  This takes a toll on the people and telling them they are not working hard or fast enough is not helping.

So I took the time off.  It may have affected my career but I doubt it because my company and leadership supported me during this difficult time.  I will also take time off later in the summer and during the holidays.  The reason why is in order for me to be a better scrum master and software developer, I need to decompress and take time away from the work I love.  Otherwise, I will be used up and thrown away.

Until next time.