Monday, September 26, 2016

Well Fargo is a Victim of the Cobra Effect

Anyone who follows this blog knows that I rarely hold a grudge and I don’t like kicking an individual or organization while it is down.  I am just not wired that way.  This week I am going to make an exception because of the lesson that can be learned for everyone in the agile community.  I am talking about Wells Fargo and their latest scandal regarding opening bogus new accounts for existing customers.

This isn’t the first time I have had my differences with Wells Fargo.  They were involved in a financial literacy campaign which denigrated humanities majors and liberal arts students.  Now thanks to federal regulators they are paying a $185 Million dollar fine for creating new accounts for customers without consent.  This gets to something the agile community call perverse incentives.

One of the central tenants of “scientific management” is that you measure how an employee does their job and then based on the data, as a manager, you figure out how to make that employee more efficient.  On the surface it seems like a smart idea.  A business person measures how work is done and then they strive to use that data to improve the speed and quality of the work.  This is where the perverse incentives come into play.  If you measure something and then use it as a performance incentive it ceases to be useful because it will force people to game the system to meet the metric.  This is called the “cobra effect” and I have blogged about it repeatedly.

Based on his testimony to congress, Well Fargo CEO John Stumpf said that he set up the incentives to “cross-sell” bank services to improve the company stock price.  This was the beginning of over two hours of uncomfortable questions and criticism from both Democratic and Republican congress members.  You know that you have done something bad when both Democrats and Republicans denounce you in public.

It did not have to be this way.  Stumpf could have measured performance and created training and education programs to make his staff learn how to better “cross-sell” products.  Instead, he used the blunt instrument of job incentives and it worked for a while until regulators and congress got involved.  Wells Fargo now faces additional investigation and possible criminal penalties.  It did not have to be this way but “cobra effect” can claim another victim and it could be a major American financial institution.

Until next time.

Monday, September 19, 2016

Product Owners Have the Hardest Job in Agile.

Listen to Ben, hang together or hang separately.
I have been kicking around as a scrum master for the last three years.  I have been developing software for eighteen.  Those jobs are difficult and challenging but they do not compare to challenges faced by product owners.  This week I want to talk about the hardest job in Agile – the product owner.

The Scrum Guide is pretty clear about the members of a scrum team.  They are the developers who do the work.  The scrum master is the servant leader of the team and helps remove obstacles.  Finally, there is the Product owner.  The product owner sets priorities writes stories, and acts as the liaison between the business and the development team.  What most product owners do not know is the job includes so much more than what the scrum guide says.

A product owner needs to understand the internal politics of the organization so they can work with in it and sometimes around it to get things done.  Product owners need to understand the customer.  Not only understand the customer but be able to differentiate what software improvements will add value and which ones will waste money.  The product owner is under constant pressure to write stories and to create stories which can be transformed into testable code.  It is a grind and they need to practice mindfulness to separate what is important from what is trivial.

It is not an easy job and as a scrum master or coach you need to help them succeed.  This means spending time showing them how to write user stories.  Take time out to explain the agile manifesto and what developers need to succeed.  Take time to listen about the operations of the business and the politics of the organization.

A scrum master and product owner are equal partners.  To paraphrase Ben Franklin, you will hang together or you will hang separately.  When things go wrong it is usually the product owner who receive the blame.  As a scrum master it is up to you to make sure things do not go wrong.

Business today is not easy but a successful product owner can smooth off many of the rough edges to a software development team.  That is why it is the hardest job in Agile.

Until next time.

Monday, September 12, 2016

Humanities and Liberal Arts are Good for Technology

I want liberal arts in my business
Occasionally, the news of the week prompts me to yell expletives at my web browser or television.  This was a financial literacy course called, Teen Financial Education Day.  It seemed innocent enough teaching young people how to use credit responsibly, how to use the banking system, and make smart investments.  It was innocent until you saw the advertising materials which said things like “A ballerina yesterday.  An engineer today.”  As a successful scrum master and software developer this ticked me off.  This week on the blog I want to talk about why and emphasize that we need humanities, liberal arts, and the STEM in order to have a successful business community.

I graduated from Illinois State University with a major in Mass Communication’s and a minor in philosophy.  I pursued the minor because it was a subject which interested me.  I pursued the Mass Communications degree because I was going to work in radio.  I could not have picked a worse major as the radio business outside Chicago began to contract and the recession of 1990 evaporated any other jobs.  As a child of the Reagan 1980’s who said no to drugs, worked hard in school and strived to better himself; it was a very bitter pill to swallow.  I did everything expected of me by society and my elders and I was rewarded with underemployment and ridicule.

It would take me eight years from when I graduated from college to find a career in the technology field.  It was the giddy and stupid days of the dot com bubble and I went back to community college to learn visual basic.  At the ripe old age of 30, I was starting my career from scratch.  I was a self-taught technologist.  Funny thing was that my experience in newspaper, radio, and mass media made me a natural fit as a web developer.  I could discuss typography with print professionals in a language they understood.  I understood the shorthand of marketing professionals.  I knew things about color, shape and art which didn’t have to be explained.  As technology changed with the addition of CSS and XML, I was able to quickly adapt and retrain myself because I learned those concepts in school studying alien concepts like monads, existential nausea, and the payola scandals of the 1960’s.

As a liberal arts and humanity’s student, I had an advantage over my more technical colleagues because I had the “soft” skills and communications abilities to help software projects get done.  So when a bank like Wells Fargo says these skills are not necessary as part of financial literacy education it makes me want to become a hulking green rage monster.  Furthermore, when that bank is the second largest provider of private student loans in the United States, it looks like that a financial institution is trying to pick and choose which majors students should pursue.  It looks fishy at best and market manipulative at worst.

We need humanities and liberal arts in American culture.  We need humanities and liberal arts in American business because these graduates have the writing, speaking, learning and teaching skills that businesses need.  They understand different cultures.  Someone with a background in gender studies could help reduce sexual harassment in the workplace.  A worker with an understanding of Langston Hughes, Nina Simone or the Harlem Renaissance might be better explain diversity issues or #BlackLivesMatter to people who might not have that understanding.  Finally, an art history major would be a perfect choice for a UX designer or Web designer.

This is why we need liberal arts and humanities.  We need it because life is more than ones and zeros.  It is about people and inspiring them, understanding them, and helping them be better people.  It is about developing open minds and optimism about the future.  It is about understanding the past and the way our culture has evolved over the last 3000 years to become what it is today and what it might be tomorrow.  Liberal arts helps build better technology and better businesses and it is about time that others begin to see that.

Until next time.

Monday, September 5, 2016

Your Developers Are More Than Resources

These are more than resources
It is the Labor Day weekend in the United States.  I marks a turning point in the year as summer winds down and all attention turns to the fourth quarter and generating as much profit as possible before the end of the fiscal year.  As a scrum master, I spend so much time jumping from sprint to sprint that I find it hard to see the big picture of the how my projects are going.  It is a constant balancing act between tactical choices and strategic goals.   This week I want to talk about the most important part of the scrum process – the people who do the work.

I have worked in the technology business for over 18 years.  I have experienced the giddy and stupid times of the boom and the fear and uncertainty of the great recession.  The common thread through all of these periods was that work needed to get done.  In order to get that work completed many companies relied on consulting companies to augment their staff.  These “contract workers” were often treated poorly and given tremendous responsibility for the success of the project with none of the financial and career benefits if it did.  Add to this situation that many of these contract workers were working under H1-11 visas and you had a situation which resembled indentured servitude.  I remember working for one company and being in a staff meeting where everyone was afraid to speak because if they did they would be rolled off the project and they risked being deported.

I blame most of this misconduct on how technology work is funded in a corporate environment.  For instance, much of the technology work is considered an overhead expense.  Thus, to keep expenses down many business people only hire the bare minimum of technology staff.  There are a few help desk people.  Network engineers dot the organization chart and you see a manager keeping everything running on time.  Software developers and User Experience professionals are not considered “necessary” for the operation of the business until new software needs to be written.  Thus, when they are needed they are brought in like mercenaries to try and build software they have little professional or personal investment to build with any sense of craft.  They get paid for showing up and billing.  They are not compensated for creating shippable code.

Many of the people who do the work are referred to by other business people as “resources”.   People ask questions such as, “Do we have enough resources, to do this project?” or “Do we have the right resources with the correct skills?”  Every time I hear technology workers referred to as resources, it makes my flesh crawl.  It treats highly educated and smart people like they were rivets in a giant construction project.  I have never heard of iron workers referred to as “resources” by construction managers but every project manager I have known has referred to developers as resources.  It is so prevalent that I even catch myself saying it from time to time.

People who build software are not resources.  They are flesh and blood.  They work in cubicles and offices around the world from Chicago, to Belfast, to Chennai.  They are the people who are building to global economy one web page and user class at a time.  They take the vague ideas of a sales person on the back of a napkin and transform it into working software.  They maneuver through corporate politics and red tape to get things put on production servers.  They tolerate not having office supplies because there is no budget for paper clips from finance.  They work late hours and early mornings to communicate with off shore teams.  They make your business successful.  You just don’t see it because we keep all the lights on and everything working even if it requires metaphorical duct tape.

So show a little respect to your developers and the people who employ them.  They are more valuable than you know and they are more than just “resources”.

Until next time.

Monday, August 29, 2016

Reflecting Upon a Turning Point.

My Philosopher's journey continues
This week marks a bit of a turning point for me.  I have been part of R.R. Donnelley for three years.  This week as part of a complicated stock split, I am joining LSC Communications.  I am excited like a child going to a new school but I am also a bit scared by the unknown.  This week, I want to reflect on my agile journey and where it is taking me.

Three years, I left a consumer foods company as a programmer to become an architect.  My credentials as a scrum master gave me a leg up from the other candidates.  Quickly, I noticed that my new leadership had other plans for me.  Soon, I was leading a team of developers as a scrum master.  I was certain that change would come quickly and that the team would be kicking butt and taking names.  I was wrong.

I had to drop a few authoritarian traits I had picked up over the years.  I had to read numerous pieces of literature helping me expand my knowledge about agile and scrum.  I spent plenty of late nights working with the developers fixing bugs.  Finally, I had to confront the reality that I did not have all the answers.  It was humbling and a necessary experience.

Today, I am a few years older and wiser.  I am a much better scrum master than I was three years ago. Joining LSC Communications, I will not only be a scrum master but also coach for other teams in the organization.  It should be a valuable experience.

The philosopher Heraclitus said we could never set foot in the same river twice.  As I am about to cross over into another unexplored territory, I can say that I am not the same scrum master I was three years ago and I am ready for the challenge ahead of me.

Until next time.

Monday, August 22, 2016

I Can't Believe I was Being this Dumb

I can learn a few things from this guy.
A scrum master is a leader without any authority.  They are someone you follow because they help you become a better developer and help you finish projects in a timely manner.  It is not for everyone.  I spend much of my time in self-reflection and attempting to improve my skills.  I also have to control my autocratic and curmudgeonly nature when I am dealing with individuals who are not pulling their weight.  On twitter, I had an interesting interaction with someone I respect in the user experience field Gail Swanson and I think there are a few lessons to be shared.

Like many of us, she uses twitter as a place to vent frustrations, test out ideas and share knowledge.  I respect her and follow her because she has plenty of things to say about being a good user experience person.  Then she shared this on twitter.

I responded with the following
Finally, Angela Dugan chimed in and she might as well have dropped a mike.

It took some time for this to sink in but it dawned on me that words and behaviors matter.  What I consider being respectful to my developers comes off as condescending and superior.  How I spoke to them effected their performance and it need to change right away.  I was being dumb.  So now, I use the terms “everybody”, “team” or “folks” to refer to the people I am working with.  I was doing something dumb and it took people I respected to point it out to me.

A contemporary scrum master has to interact with numerous people.  They work with off shore teams and on shore teams.  They are mixed by gender and religious affiliation.  I have Sikh, Muslims and Hindus working for me off shore.  On shore, I deal with evangelical Protestants, Neo-Pagans and Atheists.  What unites all of us is that we know how to code and that we are working on the same project.  I as the scrum master need to respect these cultural differences and keep everyone focused on the end goal.  My personal feelings or prejudices need to called out and controlled if I am going to guide these individuals to their goal.

It also means that the macho cruft that you see in software development needs to go away.  I am fortunate enough to work at an organization where women are incorporated into all of the development teams.  I think that has improved the development teams.  The testers, technical leads, developers, and QA people who are female are regular members of the teams and because of their skills have earned the respect of their male colleagues.  For our organization, diversity produces better results.

So there you have it; a scrum master needs to change and adapt.  The increase of off-shore development and the number of woman in the profession, has made me confront some of my own prejudices and make changes. I hope others can learn from my example.  I am just trying to be a better scrum master and guy.

Until next time.

Monday, August 15, 2016

If it isn't broke you better fix it.

This didn't have to happen.
I have been off line for a week as I attended the Gen-Con game fair in Indianapolis and tried to get back into the swing of things at work.  While I was away, I had a chance to recharge my batteries and have a good time playing board games with friends.  I also got to have a little fun with the people at Big Potato Games which is seems like a fun group of people who are making a big splash in the industry.  When I came back two things happened which got my attention which illustrated the paradox of contemporary business and modern technology.

The first was the problem with Delta Airlines and its reservation system which grounded the company for two days.  The second was a small article in the technology press about Windows 10 updates.  Both articles illustrate to me that the business maxim, “…if it isn’t broke don’t fix it,” is seriously wrong.  If you are a company in the 21st century if you want to remain in business it is your responsibility to upgrade your technology infrastructure and applications.

First, Delta airlines relies on its reservation system to be managed on AS/400 systems and mainframes using the IBM Transaction Processing Facility software.  The software was last upgraded by IBM ten years ago and the only people who can fix something if anything goes wrong are IBM consultants.  If something goes wrong a CIO and their company is forced to call IBM to make changes and corrections.  In the same ten year span, Microsoft has had four operating systems; Windows 7, Vista, Windows 8 and Windows 10.  Presently, there is an entire ecosystem of developers outside of Microsoft who can alter, improve or fix these systems.  So if an airline wants more availability to labor and more up to date systems they should go with a Microsoft solution.

This did not happen for a few reasons.  First, airlines for all their talk of customer service and being high tech are notoriously stingy with money to upgrade and improve their technology infrastructure.  So what they did is graft other technology systems on to their old IBM infrastructure.  If the AS/400 went down, it would create a cascading effect which would shut down the airline.  According to the news, that is exactly what happened as numerous technology professionals scrambled to get the systems back up and running.  It also lead to the CEO of the company publicly admitting they are doing the best they could to fix the problem without knowing exactly what went wrong.    Next, the people who make the decisions about the funding felt this risk was so unlikely that they decided that the system was not broken and so they did not need to make improvements.

This kind of thinking is foolish.  Software is like any other machine but it manufactured out of ones and zeros instead of steel.  Machinery needs to be maintained or it will break down.  Fail to change the oil in your car and see what happens after 100,000 miles.  That is the exact situation which happened at Delta. The people driving the organization put off or ignored routine maintenance to its systems because it would cost money to do so.  As long as everything was working, there was no need to do maintenance and upgrades.  As you can see, this cost the company millions of dollars when the system failed and hurt its reputation for quality service.

The other new item I saw this week was a brief blurb about how Windows 10 updates are not an iron clad guarantee that a system will not be compromised by hackers because people generally do not upgrade the other software on their machines.  As a technology professional we have seen people with Windows 10 machines with copies of Office 2007 on them.  This mixing and matching of software in the real world is common because people don’t have the money to upgrade everything.  This creates openings for hackers and people willing to do bad things.

This is short sided like a person not changing the oil in their car.  When you upgrade an operating system you should be able to update the software which is on that operating system.  This is why I am a big fan of Google Documents and Microsoft’s Office 365 software because these cloud based systems update automatically and do not rely on the user purchasing and installing upgrades.  The burden is no longer on the consumer but on the company providing the software which is what it should be.

So in one week the world witnessed an object lesson in why the phrases, “…if it isn’t broke don’t fix it,” is wrong.  Old and outdated software which was not maintained properly failed spectacularly.  The only people who could fix the software was a third party vendor which was not responsive.  The pennies saved on upgrades and improvements became millions of dollars in technical debt which shut down the company.  Finally, the reputation of the company was hurt by this kind of thinking.

It is also clear that just upgrading operating systems is not enough the applications which run on those operating systems need to be improved.  I understand that in the world of technology bragging about your new data center or software upgrades to your core business is not as glamorous as web application or phone app but it is just as important because when those systems fail they fail in an embarrassing and spectacular fashion.  So it is up to everyone from the largest company to the personal consumer to pay attention to how they maintain their software.  If not, expect to be grounded.

Until next time.