Showing posts with label Arther C. Clarke. Show all posts
Showing posts with label Arther C. Clarke. Show all posts

Monday, October 30, 2017

It is time Agile crushes magical thinking in business.

Working in Technology is like taming a dragon.
In the contemporary business world, one of the things which surprised me the most is how divorced people are from the technology which their careers depend upon.  Arthur C. Clark, the author of “2001: A Space Odyssey,” said, “…and sufficiently advanced technology is indistinguishable from magic.”  Today, in a world moving at the speed of the internet, tens of millions of people are wandering the world behaving like magicians.  I want to talk about what this means for you the scrum master or agile coach. 

At the click of a smartphone, a human being can summon a ride, book restaurant reservations, order clothing, and find potential romantic partners.  News and gossip travel around the globe.  We can even live in virtual spaces reshaping our bodies ignoring concepts or gender and aging.  Thanks to the world of technology and algorithms we can live in a curated rich world where there are no opposing opinions and everything is quick and convenient.  It is a seductive world. 

The world I describe is the product of millions of hours of labor and the application of fifty years of merciless engineering to make systems better, faster and cheaper.  It is the application of silicon wafer technology, advanced mathematics, and smart people doing smart things.  It is the unwritten story of our time.

Now imagine people who live in the magical age who want to implement a new payroll system or create a better way to get products to customers.  Since they are accustomed to systems which are quick and compliant, they think it is possible to spin up systems which behave the same way with the speed of downloading a phone application.  These magicians take it for granted that the data will always be correct and they do not need to proofread the work. 

This is not the reality of technology.  Developers need to get involved, and they need to be managed, so the code is clean and scalable.  Data needs to be placed on Oracle or Microsoft SQL servers.  Network accounts need to be created, and all of this costs time and money.  It is not magic.  It is hard work.

As a former web developer, it always troubled me when people told me how they expected a website to look and behave without understanding a lick of HTML code.  It is my experience these individuals rise in organizations and get budget authority.  So you have the ignorant paying the bills while someone more ignorant is giving orders to the development team.  It falls to a technology lead or scrum master to transform ignorance and magical thinking into code.   It is just as disheartening as it sounds. 

It is also why so many technology projects fail because the people involved do not conceptually understand the labor it takes to get the job done.  A construction project is easy to understand compared to a software project because the people paying the bills realize what is happening.  A typical business person does not understand the difference between Java-script and JAVA; so how are they going to know what it takes to successfully construct a web application.

As a scrum master, it is your responsibility to crush magical thinking.  Tell the truth about how long it is going to take to get something done.  Show people work in progress and ship code periodically so if adjustments need to be made they can happen in a timelier manner.  You will have to say no, and you will have to create trust between the development team and business.  This means enforcing one of the central tenants of Agile; their business sets the project priorities, and the development team says how long it is going to take.  If this social compact is not upheld, then any agile implementation will collapse into dust. 

So in this magical world, it is up to the scrum master to create a much-needed dose of reality.  Otherwise, you are confronted with an evil magic act which does nothing but disappoint. 

Until next time.

Monday, November 17, 2014

Expectations in a Age of Magic

Sometimes it is rocket science.
One of the funniest social criticism ever made came from comedian Louis CK.  In his discussion with late night host Conan O’Brien, he talks about how fantastic technology has become and no one is happy with it.  I am reminded of Arthur C. Clarke’s three laws of predicting the future the most famous being, “Any sufficiently advance technology is indistinguishable from magic.”  This week on the blog I wanted to discuss expectation setting and getting your business partners to have realistic expectations about technology.

I was thinking about this topic this week as I was watching the coverage of the Rosetta space probe and it placing a lander on the comet.  The technical achievement was astounding.  Over ten years and one and a half billion euros we not only got to see the surface of a comet but we actually landed an object the size of a consumer dishwasher on the surface.  What made this more satisfying was how the science press and the main stream media covered the event. Both seem to admit that success or failure, the European Space Agency’s did the best it could do and that whatever happened it was a big achievement.

Wryly, I joked on LinkedIn that I was looking forward to some of my business partners saying, “If we can land something on a comet why can’t we do X with the web site.”   My mild cynicism hit a nerve because people began to comment and tweet me saying they were expecting similar answers.  This is when it hit me.  Numerous people who work with technology really do not understand how that technology works.  They just take it for granted.  It really is “indistinguishable from magic.”  They can get the weather forecast in Toronto, schedule a truck to deliver products to the city and electronically communicate with Canadian customs to avoid the truck being stopped at the border.  They do it with technologies like the internet, EDI, and Java but they really do not understand how these technologies work.  They just take it for granted that they do.

This is when more knowledgeable people need to step in with expectations.  We understand the amount of work which needs to be done and the difficulty of the tasks.  We also understand that most technology problems in a contemporary business are not technology problems.  They are people problems which could be better solved by individuals working better together.  So when someone says, I would love to have “X” on the web site; ask the hard questions and find out if these improvements are necessary.  Ask about technical debt and why the organization tolerates it.

It is the responsibility of technical professionals to act like the engineers we were trained to be rather than magicians carefully guarding our secrets.  Business partners need to understand the trade-offs which are made every day to keep the organization running.  A new feature for the billing system or web site doesn't pop into existence from the mind of the business owner.  It requires work from developers and quality specialists.  It needs to be accepted by the business.  Finally, it has to be accepted by consumers.

This is not an easy road but it is certainly easier than landing a probe on a comet.

Until next time.