Showing posts with label college. Show all posts
Showing posts with label college. Show all posts

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, August 17, 2020

The Agile Pirate

 

Where the wind and the sea take me.  


As a scrum master or coach, it is important to tell stories.  Stories can be used to explain abstract concepts and reasons for decisions.  These stories are just another tool to spread agile through the firm.  Today, on the blog, I want to talk about a story I often use to explain agility to an organization.  

I have been a big fan of the book "Teach Like a Pirate," from Dave Burgess.  It talks about the off-beat techniques one teacher uses to get high school students to learn.  It includes plenty of useful advice to maintain enthusiasm, deal with challenging students, and set up a learning environment that is accommodating. He uses the term "teach like a pirate" because it is a non-standard way to educate children.  I have taken Burgess's guidance and merged it into my coaching practice.   I have also authored a blog on how it informs my outlook.  

I learned a story in the press about Steve Jobs.  In 1983 the engineering team for Macintosh was struggling.  Jobs then brought the team to an off-site leadership meeting where he gave a pet talk saying, "it is better to be a pirate than to join the navy." After the weekend meeting, the engineers returned to Apple headquarters and raised a modified pirate flag over the office.  It was the traditional skull and crossbones with a twist.  Instead of a conventional eye patch, it has the Apple logo with rainbow stripes.  The flag would fly over the engineering building for Macintosh for over a year.  Jobs would point it out to visitors.  When the company celebrated its fortieth anniversary in 2016, Jobs had been dead for five years, but the pirate flag flew again; the buccaneering spirit he inspired in the organization still lingered.  I imagine his approval in the afterlife at this gesture.  

The story has stuck with me ever since I discovered it.  The pirate of Robert Louis Stevenson and contemporary Hollywood is a colorful rebellious creature who lives outside the rules of conventional society.  Pirates are outlaws beholden to no one but themselves.  A pirate is an ultimate survivor willing to fight and die for their shipmates.  It is a lifestyle that often ended at the end of a noose or the point of a sword, but while alive, a pirate was living a way of life that few people could imagine.

I do love the swashbuckling nature of pirates.  I also see it as an inspiration for the teams I serve.  I often joke the development teams are a merry band of pirates attempting to make a living on the high seas.  I encourage people to take calculated risks to innovate and please the customer.  It is not the precise control of a corporate environment.  Instead, it is the collegial environment of skilled professionals working nimbly and collaboratively for swift rewards.  

So here I am, leading an agile transformation and a group of talented people.  I did not expect this out of my career ten years ago, and certainly not when I graduated from college.  It is the life of a pirate, and I will go where the wind and the seas will take me.  



Monday, April 13, 2020

Legacy Systems are Just as Dangerous as COVID-19

Creatures like this live in our legacy systems. 
The strongest test of leadership is adversity.  It is easy to look like a master of the university when everything is going well. Only when faced with failure and vulnerability, can we understand what kind of leaders we are.  Hardship and stress reveal the strengths of systems; it also points out glaring shortfalls.  One of the more interesting stories this week was a plea from the Governor of New Jersey to COBAL programmers to come out of retirement and fix the state’s antiquated unemployment system.  It is a story of benign neglect and poor leadership.

The computer languages COBOL, PASCAL, and Fortran were the first early languages used in computing.  From the 1950s to the early 1980s, these languages ran the large computer centers of business, government, and academia.  With the explosion of personal computing, these old languages fell out of favor.  With the arrival of a publicly accessible internet, the industry saw newer languages like Java and C# take over the professional world of programming.

The Y2K crisis was the last gasp of COBOL systems in banking and government.  These aging legacy systems had a glaring design flaw; they kept track of the year with two digits.  No one could answer with any confidence what would happen when the century ended, and the systems rolled over to the year “00.”  The Y2K bug created a frantic rush to patch and upgrade systems.  People paid COBOL developers ridiculous sums of money and government, business and academia were making the rush to avoid catastrophe.  Some of my first technology jobs were writing VB code to replace aging COBOL systems.

With the arrival of the millennium, the frantic rush paid off; no significant systems failed, and life proceeded as nothing had happened.  The COBOL developers and the technology pros saved the day.  The reward was unemployment for the tech pros in the dot.com crash of 2000.  COBOL programmers were no longer necessary, so they were laid off, and many of them were not hired again because organizations felt they were over the hill.  I remember being in a job club with many of these people, and I swore I would never let my technology skills become obsolete.

The hard lesson I discovered during the interim between the September 11 attacks and my return to the job market was something people in government chose to ignore.  Legacy systems become obsolete, and the people who knew how to maintain them retire. Schools do not educate people to work on these aging systems, so you are stuck with a difficult challenge.  Do you leave the system to become a ticking bomb, or do you go through the expensive and time-consuming process of upgrading?  Many people opted for the slogan of, “If it ain’t broke, don’t fix it.”  It was a great plan in the short term, but it sowed the seeds for a bitter harvest.

No one expected unemployment claims to be in the millions.  During our worst economic moments, the number of applications was barely over 500,000.  The COVID-19 outbreak changed that perception, and in New Jersey, the outdated unemployment system crashed, making it new to impossible to help people who needed it.  The schools were not teaching students how to program COBOL, and the only people who had experience were retired.  New Jersey has to patch its existing system and replace it with something more modern, and it is not going to be cheap.  The reactive approach is going to cost money and time when we have them in limited supply.

The moral of the story is simple; make sure all of your computer systems can be maintained.  If a college graduate can not update them, it is time to replace or upgrade the system.  Otherwise, you are going to wind up like the great state of New Jersey.

Until next time.

Monday, September 9, 2019

Agile guiding the three tribes of business

The tribes of business create a tower of babble.
I am grateful to be blogging again.  I took a week off to address some health issues.  Recovery from illness is nature’s way of forcing a person to review priorities.  It makes you take stock of what is essential.  I have spent the last ten years of my life involved with the agile reformation.  It is clear to me one of the biggest challenges faced by agile practitioners is helping others change the mindset from a command and control perspective to an agile view. It is going to require coaching and patience.  Today, I want to discuss the leading challenge coaches and scrum masters face.

Since Frederich Winslow Taylor published “Principles of Scientific Management,” over one hundred years ago corporations separated their workforce into three distinct tribes.    The workers who did the manufacturing, service, or sales work.  The next group was the owners or executives who Karl Marx called the bourgeois.  The final collection were managers.  The tribes formed a lopsided pyramid where power resided at the top, and those at the bottom were expected to carry out orders without question.  When we discuss “top-down” management it is executives giving orders to professionals.  The professionals then made sure the orders were performed by those doing the work.

The modern manager has only existed since the founding of the Harvard Business School in 1908.  Management training often began in the office and shop floor.  After the founding of the M.B.A. program at Harvard, growing corporations could hire college-educated people who understood finance and the legal aspects of running a large business.  Managers had formal training equal to doctors and attorneys.  The professional-managerial class created a disconnect between those who did the work and those who employed the labor. 

Labor unions and economic growth helped to conceal the disconnect between workers and managers.  The events of the 1980s helped change the dynamic.  The government slashed regulations and curtailed labor unions; business leaders wanted to do more with less.  Business outsourced non-essential parts of the company and contractors replaced full-time workers.  Finally, manufacturing was off-shored to countries with lower labor costs.  Each step along this path, it was professional managers who made those strategies work.

For creative activities like software development, entertainment, and advertising, the more with less approach was not working.  With no knowledge of the work, executives would give orders.  Managers could manage work but have no idea how long it would take to complete the job.  Finally, workers did not care what they were doing or why they were doing it so long as they got paid.  Work would linger, and projects would run over-budget.  Meanwhile, customers were receiving low-quality products which were not meeting their demands.  It was ugly, and everyone in the business world through it was healthy.

Because they felt there was a better way to do work instead of “top-down” management, some of the biggest names in project management created the agile manifesto.  Organizations would now benefit from workers interacting directly with customers.  Small teams would lead change instead of bourgeois executives coercing people to do things against their will.  The pyramid of workers, executives and professionals would be tipped over with all three tribes working toward a common goal of helping the customers.  It was utopian and viewed the world through the lens of engineering.

Since that moment, agile is eating the world.  Successful companies in the global economy embrace the concepts of agile and those who do not flounder.  The reality is much more complicated.  Dark Scrum is a constant challenge in the business world.  Bad Agile is everywhere, and plenty of bad actors are attempting to capitalize on the spread of agile.

Scrum masters and coaches are innovating and attempting to change business for the better.  To effect change, we need to stick to the basics and the agile manifesto and agile principles.  We need to embrace scaling for more substantial organizations, but we should not be bound to one particular scaling framework.  Finally, we need to embrace our technical excellence and increase soft skills.  I am a big fan of Kim Scott’s “Radical Candor,” and I am beginning to embrace “Co-Active Coaching.”  Together, by understanding how the different tribes of the business interact, by practicing technical excellence, and finally, by perfecting soft skills we can make the lopsided pyramid of the contemporary business world a better place.

Until next time.


Monday, June 17, 2019

A River of Leadership

Leadership is like white water rafting.
The world of software development is an untamed river of uncertainty and innovation.  I swim in this whitewater of ambiguity and get caught up in its currents regularly.  Technology never rests, and the pressure to sink or swim is always present.  Being a leader is more perilous because you are also responsible for the wellbeing of others who work with you.  I want to take a closer look at those responsibilities of leadership.

At the recommendation of my colleagues, I am stepping forward and founding a chapter of the Agile Coaching Exchange in the greater Chicago area.  It is a new role for me and something I have not done before.  I am gathering speakers and attempting to set up venues for the group to meet.  I have been a participant in these kinds of gathering for years, and now I am organizing them.  It makes me respect the people organizing meetups and user groups more because I understand how much hard work it is.

The experience reminded me of a blog I authored about leadership.  A person has three choices when confronted with a challenge; lead, follow, or get out of the way.  It is time for me to show some leadership in the agile community instead of ranting like a voice in the wilderness.  It is not the traditional leadership I was trained earlier in my life to adopt.  Times change, and so does leadership.  Claire Croft mentions this in an article for Forbes magazine.

The global economy is changing too quickly.  Sears and ToysRUs are gone.  The internet reaches over half the world's population, and it is growing by 2% annually.  We measure success in days instead of years.  Finally, the job I have today did not exist when I was a college undergraduate.  It means traditional notions of leadership are not going to adapt to the turbulence of the current business world.

It means leadership needs to come from inside.  You have to play up personal strengths and work with your shortcomings.  Instead of a mask of command, a leader should expose themselves to others to build empathy and radical candor.  It includes being kind to yourself and others because we are all fighting unique struggles each day.

I continue my adventures rafting the unsettled river of technology.  As the water rises and falls, I will change my leadership style to navigate to the next destination.  I am grateful for each of my readers, who are sharing this journey with me.

Until next time.

Monday, July 23, 2018

Coaching should reject triage

Good for the battlefield bad for society and business
Usually, I spend my time on the blog discussing agile and how to better improve software development.  I avoid political discussion because there are much better places for people to discuss that topic.  This week, I would like to discuss something different.

This week a young person I have known since her days as a college undergraduate wrote and thoughtful post about her struggles with mathematics in elementary school.  As early as fourth grade she was taken on field trips to grocery stores to learn about careers stocking shelves after completing school.  None of the other students attended that trip.  As early as nine years of age educators and members of the community were making decisions about her life.  Today, Stephanie Orme is a Ph.D. from Penn State who is a nationally recognized public speaker and recently gave a TED talk on Diversity Game Design.  

I am very proud of Stephanie.  I consider myself one of the stepping stones on her journey and I look forward to seeing her further adventures in academia.  Her story made me think about my trip educationally and as a scrum master.  We make too many judgment calls about young people, and those judgments are harming our society and the business community.

Our education system in the United States has wide gaps of inequality.  Private schools appeal to people of means and have been training grounds of the children of business and political elites for the last 100 years.  Parents often pay a premium real-estate prices to live in communities with highly rated schools.  Young people living in rural or poor school districts are not so fortunate; it means that school districts make do with what they have, and they get involved in a practice known as triage.

Initially, from the medical field and pioneered by the French during the Napoleonic wars triage means the sorting of people to help them when confronted with scarce resources.  For example, someone with a head missing from a cannonball does not need a blood transfusion that blood can go to someone with a better chance of survival.  Paramedics, emergency rooms, and combat medics use the concept of triage daily to save lives.

As early as middle school, I experienced triage in my education.  The “smart” students participated in honors courses and segregated from other students.  These students not only had to have good test scores but they also had to have good grades.  The poor students were in remedial classes, and the unwashed middle got by with standard courses.  The exception to this rule were those with cognitive and learning disabilities who received special education.  I was terrible at mathematics, so I attended learning disability courses.

As time wore on, the honors students became more privileged as standard and remedial students shifted into less challenging classes.  Honors students received college AP courses, scholarships, and opportunities to excel. Once labeled a basic or a standard student, opportunities to reach the upper echelon was difficult.  It created a type of resentment and desire to prove those who doubted me wrong.

I was more fortunate than most.  My community college prepared me for university study. I was lucky enough to receive a scholarship to a four-year school for debate and speech.  Thanks to the financial sacrifices of my parents, the incredible support of my teachers, the encouragement of countless adults, and a little luck I became a college graduate.  If you had checked in with me as a nine-year-old, you would have concluded that I would be stocking shelves.

It would take seven years working in the radio and the casino business to find my true vocation; software development.  It would take another ten years before I would discover agile and share its worth with others.  I got by on grit, but I would be fooling myself if I did not acknowledge the privilege of supportive parents and my educational background.

It is this knowledge which has shaped my perspective.  The Harvard business review talks about a “fixed mindset” vs. a “growth mindset.”  Thanks to triage in education, we take young people and place them into boxes.  We then triage those boxes into careers and roles in our community.  It is a more significant problem in business because often leaders are more comfortable around people with similar educational and cultural experience.

As someone who has not fit neatly into a box his entire life, it encourages me to adopt a growth mindset for others around me.  I cannot help everyone, but I will try to help those I can.  With a little luck, there will be more people like myself and Stephanie Orme helping reform business and culture.

Until next time.

Monday, August 7, 2017

Software Development needs Women

We need more women in Technology.
I take a great deal of pride in what I do.  Being a scrum master is difficult but it has plenty of intrinsic rewards.   As I have muddled through my career, I have noticed the technology business is diverse.  I have worked with Indian, Pakistani, Russian, and Latino developers.  I have worked with every possible religious group from atheists and pagans to evangelical fundamentalist Christians.  The only criteria in the technology business I have encountered is could a person write good code.  Race, creed or color never disqualified a person from being a software engineer.  Unfortunately, gender is not diverse in the technology business.  We need to do a better job having women represented in the ranks of coders and agile practitioners.   This week, I want to formally provide my support for efforts to get more young girls to join the profession I love.

In the early days of software development, women and men were equally involved in the trade.  These pioneering software developers were business people first who learned how to write software without a formal collegiate curriculum.  One of the best depictions of this period is the film “Hidden Figures” which shows women of color working for NASA.  The 1950’s and 1960’s were not a golden age of diversity in American Business, but in the early days of software development, there was less gender disparity.

I believe that this changed as colleges began accepting undergraduates for computer science course.  Men began to dominate in this academic major, and it created a feedback loop of men helping other men get into the profession.  As women retired from the occupation, men replaced them.  These individuals knew how to code but did not understand the businesses they were working. As the business of software development became more lucrative and prestigious, companies pushed more women out the activity.  With fewer women in the occupation, the “brogrammer” culture began to grow, and software development teams became hostile work environments.  With the rise of Silicon Valley software shops, this trend became more pronounced, and it has been severely parodied in popular culture thanks to the HBO series. 

I am glad to report that over the years, I have run into plenty of exceptional women who walk a lonely road and work in this profession.  It is also good to see the rise of organizations like Girl Scouts and Code Like a girl encourage young people to get into the profession.  There is plenty of toxic masculinity in this business, and only with the addition of more women, a means to discourage it.  Finally, it is important that men support women in this craft.

Software development is a diverse profession, but it could do better with gender equity.  It is up to all of us in the business to recognize that girls can code and they are welcome in the profession.

Until next time.


Monday, December 12, 2016

Developers Need to Develop Discipline

Discipline means more than looking like a professional
At least once a week, I receive an email or tweet featuring an article claiming agile and scrum are dying.  Many of these items are click bait.  A few are about poor agile implementations.  This week I saw a new variation on that theme, and it was from one of the initial signatories of the Agile Manifesto; Robert Cecil Martin aka “Uncle Bob.”  I took some time to watch his video, and I encourage you to do the same.  This week I want to discuss one of Uncle Bob’s main themes – discipline.

I was a self-taught developer.  During the giddy and stupid days of the dot-com boom, I decided to change careers at the ripe old age of thirty.  I remember going to job fairs with floppy disks and resumes looking to break into my first career role.  I knew a smattering of HTML and Visual Basic.  ServiceMaster took a chance on me, and my software development career was born.  I would learn SQL and many other skills during my first two years in the business.  It would take me another eight years for me to develop any confidence in my skills.  Today, I have eighteen years of experience, and I still consider myself an intermediate level developer.

The reason why I feel this way is that I have made numerous mistakes over my career and had the scars to show for it.  I still struggle with practices like Test Driven Development and SOLID programming.  In the fast-paced world of software development, I struggle to pick up these concepts as quickly as my peers.  I would be humiliated at job interviews when people reviewed my code claiming that if I have learned code at “X” university or code camp, I would be so much more professional.

A funny thing happened to me when I started working as a scrum master.  I was now bringing on software developers to new teams.  Some of them had masters degree’s in mathematics and computer science, but they never wrote a unit test or worked with source control tools.  I would have to educate them on how to be better developers who to be professional and disciplined.

According to Uncle Bob, half of all developers have less than five years of experience in the profession.  That means that those freshly scrubbed developers are learning how to work on large code teams, write unit tests, and develop business knowledge.  It is up to more experienced professionals, like me, to help them develop these skills and have a sense of pride and craft in what they do.  They should avoid the numerous mistakes I made in my career because I will show them how to avoid them.

So what does it mean to be a disciplined software developer?  The first trait of a disciplined software developer is that they use source control for their work.  The code is checked in on a regular basis, and it is commented to explain what it is doing.  A developer should also know how to do branching and merging so that they can segregate code based on the needs of the business.  Working with source control allows a developer to work on large or small projects.  It does not matter if you use GIT or Team Foundation Server for source control.  Learn to use source control.

The next trait is the desire to improve your skills.  A disciplined developer is reading up on new techniques and practicing them outside of work.  When the time comes, this will help solve business problems and speed up work.  I am also a big fan of using the phrase, “why not?” at the office.  That is because someone has discovered a new way to do something and I cannot think of a valid reason why we should not try it.  My software developers started using MOQ and incorporating dependency injection into our software projects because of this attitude.

The last trait of a disciplined software developer is humility.  I am very hostile to the brogrammer movement in development.  Developers should be willing to learn from each other and develop new techniques based new knowledge.  The arrogant disregard of others and the showing off of software development skills is not helpful or necessary in the activity.

So to be a disciplined developer you need to leverage source control, be willing to learn new things, and approach the business with some humility.  Being a programmer and scrum master is one of the hardest jobs I have ever had.  It has been financially rewarding and professionally fulfilling.  It also took me eighteen years to get to this point.  For all the new software developers entering the market, I hope I can help you avoid the mistakes I have made in my career.

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, May 18, 2015

Servant Leadership means gaining knowledge and teaching others.

Clerks still get a bad rap but they are
leading the Agile Reformation. 
There are plenty of things to discuss when you get into the world of agile development.  There are certifications and long nights working with developers.  There are times when you feel like a nursery school teacher trying to get your people working together.  Other times there are moments of quite contentment where you realize you are doing the right thing and that you are making a difference.  Agile is many things.  It is not boring.  This week on the blog I wanted to share a little wisdom I learned many years ago as I wandered my college campus.

This week was commencement week at Illinois State University. Graduate students and undergraduates walked for ceremonies.  What made the experience more heartfelt for me was that some of the people walking were the children of friends and family.  For all those newly minted Redbird alumni, I just want to say welcome to a very special club.

The moto of the university is “And gladly would he learn and teach,” although it has been changed since I went to campus.  I thought this bit of wisdom came from the Bible but instead it comes from Chaucer and describes the medieval clerk.  A clerk.  The person who makes sure the bills are paid.  The person who makes sure the paperwork is in order and the person who for all of history has toiled anonymously under tyrants, kings, generals and thought leaders.  No one in elementary school dreams of being a clerk.  The life of a doctor, firefighter or astronaut seems much more satisfying.

Here is a secret, the modern world would fly apart without clerks.  The trains run on time because someone has a job to make sure that they do.  They have a staff of people who make that happen. The trains run on time in bad weather and during contract negotiations.  The trains work when budgets are cut and the politicians have unrealistic expectations.  Over the last 400 years clerks, using engineering skills and bureaucratic knowledge have created the modern world we live.  That is a mighty burden on a class of people which most of us look at with shame and contempt.

It is the clerk and the teacher who has the burden of 400 years of western civilization to maintain.  If we go back to the ancient Egyptians, that burden is over four thousand years of history.  All of it managed by clerks who were educated with the best knowledge of the past and willing to try and improve on existing practices.  Where I am going with this is that it is up to us, those of us many people negatively refer to as clerks to try and make a difference in our offices and communities.

The agile movement was founded not by business leaders but project managers.  These clerks were the people who noticed that what they were doing was not working and decided that some radical change was in order.  This is why we have the agile manifesto.  This is a reformation happening not from the C-suites or boardrooms of power.  Instead, it is taking place in the cubicles and the leaders of this reformation are clerks!

If you are wondering how this ties back into my nostalgia for my Alma mater.  The slogan is: “And gladly would he learn and gladly would he teach.”  A good servant leader is a lifelong learner.  Each day they take the knowledge they have gained and share it with others.  So whether it is explaining heteronormative theory to the HR lady or SOLID programming principles to a junior developer, it is up to a servant leader to be learning all the time and sharing our knowledge with others.  As a Scrum professional and agilest it is up to us to lead reformation by gladly learning and gladly teaching others.  I think that lesson alone has stayed with me since I was undergraduate.

Until next time.

Monday, May 11, 2015

History is NOT over! It is just beginning.

Not the same person who graduated from ISU.
It is a special anniversary of sorts.  Twenty-five years ago I walked commencement for my undergraduate degree from Illinois State University.  Five years ago, I received my Masters in Management from University of St. Francis.  I am very proud of those accomplishments but I confess what I gained from those educational journeys was not what I expected.  The web site LinkedIn has gotten into the act by having its major authors talk about what their current selves would tell their freshly scrubbed 22 year old selves graduating from college.  This week I don’t want to share advice but rather illustrate the radical changes which have taken place in the last 25 years.

Putting things in perspective, my senior year of college, was supposed to be “the end of history.”  The Berlin Wall had fallen.  Communism was in retreat.  The economy was in a downturn but we would not know how bad it was going to be until the college canceled the job fair.  Microsoft had just released widows 2.0 to the market place.  That did not matter to most of us college kids we had MS-DOS personal computers or Apple II computers to do our work.  The phone system in the dorms was so bad that we could not hook up a modem because each room did not have an individual line.  We were on party lines where if someone picked up a phone in another room it would disconnect the modem.  Silicon Valley made semi-conductors and not millions of start-up dollars.  Mark Zuckerberg was a six year old.

That was the world I graduated into.  My brilliant career in radio lasted 18 months and then I drifted around in retail and the casino business before finding my way at the age of thirty working my first entry level job as a Visual Basic programmer.  Over the last seventeen years, I have seen trends come and go.  I have witnessed the giddy and stupid days of the dot-com bubble.  I suffered through the economic downturn of the post 9/11 economy.  I saw the birth of Windows 95 and the flop of Vista.  I watched Microsoft transform from a smug master of the universe to the technical power house which wants to be loved.  All of this in my lifetime.

I think the most important thing I have witnessed is the birth and spread of the Agile Reformation.  It began innocuously enough with top project managers getting together at a ski lodge and to share ideas.  It ended with the agile manifesto.  Now fourteen years later, I consider myself to be a missionary of sorts spreading the word and trying to make business a little less oppressive.  Sometimes I feel like I am tilting at windmills and other times I earn a little victory.  As a whole, I am trying to change a business culture one step at a time.  I am also trying to build my own business at the same time.

I don’t think I could give any advice to my 22 year old self.  I doubt he would believe all the missteps failures and misfortunes he would experience would lead to the life I currently have.  I find it surprising myself.  At 22, I was going to be a disc jockey to rule the world instead I became a missionary quietly leading change in global business.  The future belongs to misfits like me and other innovative individuals who want to change the world.  I am glad you are along for the ride.

Until next time.

Monday, October 27, 2014

We need more women in tech.

Women are just as good as men in tech.
I have spent over fifteen years in the technology business as a consumer, developer and scrum master. One constant during my career is that there are not enough women working in technology. Numerous articles have been written on the subject and plenty of initiatives are bubbling up around the web to teach women to code.  Still, I want to address a few of the myths I have heard about women and technology which need to be discredited.

1)Women are not logical enough to code.

This is false.  The American Psychological Association states, “…gender differences in math achievement are largely due to cultural and environment factors” (emphasis mine).  So given and equal level of training women and men are equally good at math and by default logic.

2)Women cannot work the log hours required of programmers.

This is a cop out for two reasons.  First, working more hours does not guarantee better work.  According to the Harvard Business Review the more hours a person works the less productive they become.  Second, long hours are often a failure of project planning and business leadership. Individual developers should not have to pay the price for bad planning.

The above said, working extra hours and being involved in crunch time is a perverse badge of honor.  I like it when the Netizen Corporation Blog says, “This is a representation of failure rather than commitment.”

Having women in the office particularly women with families lives tempers this desire to work insane hours as a form of perverse competition.  When you have lives outside of work it tends to make that labor more productive.

3)Women hurt the teamwork of the development crew.

Study after study has shown diversity of gender, race and religion yields better decision making.  If anything software development is about making decisions.  People do feel discomfort when thrown together with groups they are unfamiliar but one they get over that discomfort their performance improves.

I have experienced first-hand the change which takes place when women are added to a development team.  Jokes about alcohol consumption and romantic conquests go way down.  The men on the team care more about their hygiene and appearance.  Everyone becomes more polite and professional with each other.  Finally, disagreements are worked out in a more civil fashion.  It is not perfect but it is much better than working on all male teams.

4)Women are just not as knowledgeable.

There are plenty of women in technology who have fantastic skills.  Marissa Mayer did not graduate from Stanford and become and executive at Google because of her good looks.  She was a smart and capable engineer who also brought to the table a keen sense of design and a fanatical devotion to metrics.

From a more personal perspective, Angela Dugan author of the “The TFS Whisperer” has become a role-model and big sister of sorts.  She introduced me to TFS, Agile, and better development methods.  She leads the Chicago ALM group and has a profoundly strong reputation among the development community around Chicago.  I have known Angela for over five years and I am better technologist because of it.

These two women are just some of the people I know who bring a sense of craft and commitment to their technical skills.  This just confirms to me that you do not need to have a UNIX beard in order to be knowledgeable.

Technology needs more women but some of these myths I have attempted to discredit have gotten in the way.  If this situation is going to improve men and women are going to have to step forward and quash these faux myths of male programming superiority.  Otherwise we will continue to be stuck in the same destructive patterns we see today in the world of development.

Until next time.

Monday, August 18, 2014

The Agile Dentist

You can learn a lot about agile
while you are at the dentists office.
I cannot think of a more helpless feeling than being in the dentist’s chair while getting a major procedure done.  You are medicated, filled with nitrous oxide but you are still conscious and feel pain; you just can’t do anything about it.  It was during this time of profound discomfort that something dawned on me.  Software developers can learn a lot from dentists.  This week I would like to expound on that topic.

I was receiving a root canal and feeling like I was in the middle of fifteen rounds with Mike Tyson.  My regular dentist was not in the office and so another was spending time using endodontic files on my mouth.  This is when it dawned on me.  My dental practice is a highly functioning team with each dentist able to do the same procedure on any other patient in the practice.  There were no specialists and it wasn't necessary for my dentist to be called in on her day off to get my root canal done.  Talk about cross functional.

Next, I had a hygienist numb my mouth and my doctor to the work.  I also noticed another person in the room that I never recognized before. This was a dental resident who held the suction tube and watched and learned while my dentist worked on my bad tooth.  This was pair programming because I could overhear the resident asking questions and providing instruments to the dentist while they worked on me.  It is one thing to pass tests in dental school. I am sure it is completely another thing when you are fiddling around with a real person’s mouth so this is how knowledge is passed from one generation to the next.

Finally, when my root canal was finished and when the dentist ground my tooth for a crown the resident took charge and finished the job.  I watched her as she weaned me from the nitrous oxide.  Then using a dental drill and resin she fashioned a crown to ware until the permanent version is put into place.  What I witnessed was a textbook example of how software developers should work together and I saw it at the dentist office.  Everyone was cross functional.  Senior team members were teamed up with junior members to mentor them and show them the ropes in the real world.  Finally, the junior members were trusted to do work without supervision.  It was a revelation.

So what I can take away from this experience is that software development does not have to be unpleasant like a root canal.  By using pair programming in the correct fashion, trusting junior developers to do the right thing and making sure there are plenty of opportunities to mentor you have the makings of a fantastic cross functional team.  This is good to know as I work toward building my own business that I have a good working model for an agile team.  Who knew that the dentist can be agile?

Until next time.

Monday, December 16, 2013

Death to Performance Appraisals!

Performance Appraisals are about as
 helpful as slapping your employees
It is that time of year again.  We are hustling to and fro and feeling like we are running in place.  You may think that I am talking about the holiday season, but the reality is a more grim corporate ritual.  It is the return of performance appraisal season.  I hate performance appraisal season.  I hate it like a young child hates liver or a dog owner despises animal cruelty.  I do not see any benefit to having them in a business environment and I certainly do not see them doing any good in an entrepreneurial environment.  This week on the blog, I would like you to indulge me as I explain why I hate performance appraisals.

At an early age we come in contact with the performance appraisal, it was called a report card.  These pieces of paper and notes home to our parents were necessary to let them know how we were doing in school.  If you were lucky you had parents like mine who were involved in your education and had a fairly good relationship with my teachers.  If you were like other students I knew your parents would be surprised each time you brought back your quarterly report card.  As you grew older report cards were a means to perform educational triage.  Hard working and gifted students were moved to the front of the line for college preparation and scholarships while those who didn't measure up were cast aside like trash.  Grades determined your official status in school and your possible desirability to go to college.

Flash forward four years of high school and another four years of college and when we get into the job world we expect to be free from the tyranny of report cards.  Instead, report cards are replaced by performance appraisals.  Unlike report cards, performance appraisals are not based on objective standards of excellence.  They are based on the economic needs of the company.  So you could have perfect attendance, not miss a deadline, and generate millions of dollars of sales and still receive a “meets expectations” on your appraisal.  For a classic example of this kind of insanity, just take a look at Microsoft and its old stack ranking appraisal process.  I feel very strongly that Microsoft hurt its ability to retain good employees and innovate because of this system; if everyone “meets expectations” and then the company really can’t meet the expectations of the customer.  So good employees leave and mediocre and poor ones stay.

There is another reason I hate that hate performance appraisal and that is because it resembles management by fear.  According to W. Edwards Deming, the godfather of lean manufacturing, one of the seven deadly diseases of management is the use of Evaluation pf performance, merit rating or annual reviews to control employees.  People are not dumb, and if they know the metrics you are using to evaluate them they are going to game the system to get the best rating possible at the expense of the business and customer.  For instance, if you reward a bus driver for on-time drop offs they will avoid picking up more riders during high traffic periods because that will affect their drop off times.  This creates perverse situations where people are rewarded for poor customer service.  People are afraid to do what is right for the customer instead they do what will be appraised in a positive fashion.

I am not against rating people and their performance, but the way we do it now reeks of mental illness.  Managers should be in contact with their line employees daily providing coaching and encouragement.  When a performance issue comes up it needs to be addressed right away instead of during the appraisal process.  Immediate feedback when you screw up is much more helpful then trying to recall what you did during the middle of the fiscal year.  Agile teams need to know how much velocity they can perform and if they are improving it.  Sales people and marketing professionals need to know what is going on the top line of sales and how much margin you are making on the bottom line.  All of this data is important and necessary, however you cannot squash it together into a gooey ball of muck an use it to objectively rate an employee. I would much prefer a manager telling me that the firm could only afford a two percent raise than telling me I met expectations and that is worth two percent.  The honesty would be bracing.

So what do I propose as an alternative?  I am a big fan of development plans.  Every 90 days a manager should tell a person what they can do if they need to improve and what they need to do if they would like to advance to a higher position.  In six month intervals, this information should be written down and then saved for HR purposes.  This way over the life time of the employee there should be a record of the growth and development of the employee without the capricious rating system that most companies use.  This forces managers to manage their employees instead of kissing up to their superiors.

At the end of the day, a business must satisfy the needs of their customers.  I strongly believe that the performance appraisal process as it exists in contemporary companies satisfies neither the needs of the employees or those of customers.  Something must change and I hope that as my business grows I will be one of the people leading this change.

Until next time.

Monday, September 9, 2013

Business Leaders Can Learn to Code

MBA's can code it just isn't pretty.
The Harvard Business Review is always a great source of inspiration.  As a young entrepreneur, it is always nice to get wisdom from the combined academic and business community.  This week they even offered up a little bit of humor as they discussed the efforts of the MBA program to teach its students to write software.  This week, I have some thoughts about managers who try to understand technology.

Prior to entering the world of technology and seven years after earning my undergraduate degree, I decided that I wanted to earn an MBA.  I hoped it would help me advance my career and develop some financial security.  Thus began a thirteen year odyssey of fits, spurts, layoffs and late checks which culminated in me receiving my MBA.  Instead of a mortarboard during commencement I wore a Kofi hat signifying my twenty years of tribal experience as a business person.

During those thirteen years I switched careers and became a technical professional.  As I became more involved in technology, I discovered that many people who ran technology departments had no idea about what they were managing.  They people knew sales, marketing and some of them understood the company financials but rarely did they know the difference between UNIX, Linux, and Windows systems.  What made this more maddening is that they made decisions about these systems.  This gave me further incentive to get my MBA because I felt there had to be a need for business leaders who understood technology.  It is nice to see the rest of the business world is catching up with me.

The current concern about STEM careers and American’s global competitiveness has further accelerated the need for business leaders to understand code.  This is why I like the Harvard Business Review article.  They interviewed eighteen alumni of the the Harvard Business School and asked them if the CS50 class which is titled Introduction to Computer Science was worth the effort.  A whopping 83% said it was.  The class has gotten fairly popular because over the last six years over seven hundred students have taken the course.

I think the best insight that these future masters of the Universe learned is that coding is hard.  The class required two to three more work that a typical MBA elective.  Learning to write code and solve business problems requires plenty of smarts and hard work.  It is also very humbling as you make plenty of mistakes and confront long nights with little sleep and even less productivity.  Many of these students found their way into technology start-ups or IT departments.  I think this is a positive step.  Now, the MBA in the corner office will not think they are responsible for a bunch of magicians on the development staff.

It is also why I founded E3 systems.  I became tired being told by my manager to, “…just figure it out.”  I wanted a company where the boss would pitch in to help solve problems.  I also wanted a company which would help other small and medium sized businesses fix their problems.

Getting my MBA was one of the hardest things I have ever done in my life.  I say the same thing about learning to code.  Being an Entrepreneur, MBA, and a software developer is not what I envisioned when I graduated from college all those years ago but since Terri Hemmert is still doing mid-day at WXRT and Steve Stone is still broadcasting White Sox games, I can’t think of a better way to spend my life’s work.

Until next time.

Monday, May 27, 2013

My Commencement Speech

If I gave a commencement speech this is what I would say.
This time of year is filled with commencement speeches and pockets of wisdom from many public figures directed at college students.  My favorite was by Senator Elizabeth Warren. Twice in my academic career, I asked to be a commencement speaker when I received my associate’s degree and when I received my masters.  Both times, academic and community politics got in the way with me sharing that message.  Someday, I am going to be a successful entrepreneur and when I am there this is the speech I am going to give.  Enjoy.

Thank you Madam President and fellow students, I am deeply honored to be here and to be a small footnote to your lives.  You see on a day like this you have a lot more things on your mind that what some middle aged portly man has to say about life, the universe and everything.  As many of the fine arts students who have read Douglas Adams can attest the answer is 42.  All kidding aside, you are more interested in where you are going to have dinner, visiting with your parents, and figuring out what to do with the rest of your lives.  This is heady stuff and important.  You know how hard it is to get a dinner reservation in this town tonight.
 
That said I do want to leave you with something besides my vain attempts at humor.  Today is one of the biggest successes in your life you have entered a very elite group of people you are college graduates.  According Harvard and the Asian Development Bank, only 6.7 percent of the world population holds a bachelor’s degree.  You are not quite the 1% but you are damn close.  You are roughly the one in twenty people on this planet that can boast this kind of education and experience.   But you didn't get here on your own it took your family and community to get you here.  So for a brief moment can all the parents, siblings, spouses, friends, and significant others please stand up.  Give yourself a hand because these graduates are here because you helped them get here.

Like I said, today is a big deal.  This may be the biggest success you have in your entire life but I want to leave you with a little nugget wisdom on this big day.  Today you embrace success, but now that you are graduates you will be confronted with failure.  How you deal with failure and hardship will define you for the rest of your lives.  I am sorry, I am harshing this happy occasion but it would be wrong of me not to share the wisdom I have accumulated over the years.  Failure is necessary.  Failure is pure.  Failure educates in ways that will remain with you the rest of your life long after your American Literature finals.  Many of you have been scared of failure and have done everything in your power to avoid it.  I have some bad news for you.  Failure will find you and grasp you in its unjust embrace.

My father had a sign on his desk which said, “The only people who never fail are those who never try.”  It was a dose of wisdom that as a twenty year old graduate, I mocked.  As a middle aged man launching his own business, I understood.  As a culture we are frightened of failure.  I have known people who have failed who were treated like those afflicted with leprosy by their friends because they were afraid that failure was contagious.  I have seen careers end because of failure. I have seen people end their own lives because they could not cope with failure.  It is sad because I have learned that failure is just another way that human beings learn and grow.

I have failed in so many ways in my life.  I am twice divorced.  I do not have any children to carry on my name.  I have been fired from several jobs because I struggled to conform to what I thought were ethically dubious situations or take grief from someone I though was not my equal.  On paper, my life looks like a failure.  I beg to differ.  I am my own boss and lead an organization that employees many people.  I have finally earned some financial independence and I can support my parents in their old age.  Finally, I wake up in the morning and can look myself in the mirror without feeling profound levels of contempt and rage for the petty compromises I have made in my life.  I have gotten to this point because of failure.

The playwright Arthur Miller said, “…possibly the greatest truth we know, have come out of peoples suffering.”  This from a man who was married to Marilyn Monroe; I get the feeling he did lot of suffering.  We suffer because of failure.  People are greedy, mean, selfish, and crazy.  And that folks is just on the good days.  Add personal pride, money, and sexual gratification to the mix and you have a recipe for suffering and failure.  I know.  I have been in those situations and I am sad to report they don’t sell t-shirts.

What I have discovered is that during these profoundly dark moments, I have learned something.  Failure educates in ways that cramming for an exam does not.  It enlightens because I illustrates who your friends are.  They are the ones who will stand by your side and support you went others will turn away.  Failure shows you what your limits are and what you need to do to overcome them.  Failure is the reset button of your life because when you fail the only way to go is up.

It is said that there is nothing worse than a failure.  I disagree.  There is nothing worse that someone who doesn't learn from failure.  There is nothing worse that someone who doesn't grow after failure.  There is nothing worse than someone who repeats the same mistakes to fail.  Finally, there is nothing worse than someone who wallows in failure.  It is not wrong to fail.  It is wrong to fail and not gain something anything from the experience.

I come from a community of technologists known as the agile community and our motto is to fail early and often.  So today on one of the greatest days of success in your life, I want to remind you that failure is coming.  Fail early and fail often.  Don’t quit trying.  Don’t give a crap about what others think; because at the end of the day you sleep with yourself and you better learn to like that experience.  Look in the mirror and know that you have done your best and then do better the next day.  Life is unfair, cruel, and short.  Don’t be like life.  It is not a question of if you will fail but when.  It is that test of your character which will define you for the remainder of your life.

Fail early and fail often, because inside each failure is a nugget of wisdom which will lead you to greater success.  God Speed, go forth and fail.  I will see you on the other side and then we will have stories to share and a world to change.

Congratulations and God bless you and your families.

Monday, April 29, 2013

If it ain't broke, then what?


It is not old school to be using junk to
manage your business.
One of my colleagues as a joke posted this article on his Google+ feed.  It seems that a manufacturing plant has been using the same IBM 402 system to manage its payroll since 1948.  Let me put it this way, they have been using the same computer for 65 years to manage accounting.

At first I was dismissive of this article saying they should get a more modern system.  Then it dawned on me this is what my company is up against when I am attempting to sell my company to other businesses.  Sparkler Filters of Conroe, Texas would rather manage its accounting with punch cards and form feed paper than upgrade to a more modern system like J.D. Edwards or SAP.

The Computer History Museum in Mountain View California sent a group to ask Sparkler Filter to donate the old system for the museum.  The company politely said no claiming that everyone at the firm understood punch cards and the last sixty year of reports were formatted for the IBM 402 system. To this company, the system was not broke so they decided never to replace it with something more modern and efficient.  A PC with the standard version of Quickbooks could run circles around a device like this but because they are comfortable with punch cards they are going to keep it.

I run into this situation all the time when I am attempting to deal with companies which have thirty year old AS/400 systems.  It happened that fear and inertia are making it hard for people to upgrade their corporate systems.  This is going to get scarier as many of the people in the Transportation and Logistics industry retire and are replaced by this generation’s current supply of employee.  These are individual’s accustomed to smart phones, cloud based computing and social media so when confronted with green screens and systems they cannot access via their phone are going to enter other lines of work.

This, “If it ain’t broke don’t fix it,” mind set is holding back economic growth and technical innovation.

A trucking company today would not dare use vintage 1970’s trucks to transport products today just because today’s trucks have better gas mileage and provide direct savings to the company.  The same holds true for software and services.  Today, thanks to cloud computing a company can have the computing power of a Fortune 500 company at a fraction of the cost.  With contemporary systems you can reduce administrative costs and enhance customer service without having to hire more people.  This gives you the gift of time because you are spending it in the office tracking down paper work; instead, you are selling customers and spending time with you family.

This is why I founded E3 systems.  We want to give you the means to make more money and save time by having technical systems which will make you swifter than your competition.

Until next time.

Tuesday, October 23, 2012

Why Software Development Fails.

Software development does not have to be
a train wreck.
The greatest thing about the internet is that you are exposed to the wit and wisdom of countless professionals.  When you gather together a bunch of these people we want to talk about what we do for a living.  It is just a natural extension of our identity.  Firefighters talk about firefighting, cops talk about police work, and gather together a bunch of elementary school teachers and the topic of teaching will always come up.

Last week I was exposed to a great blog article from Headspring consulting.  In it, they talk about the latest report from the Standish group.  Software developers are getting better at delivering products on time and on budget, but the success rates still resemble batting averages from baseball instead of a mature industry.  This week I want to discuss this blog and why it is so damn hard to write software. 
The present success rate for software projects is still below 50%.  This means if you are a business owner you have a less than 50% chance of a project coming in on time and on budget.   I have to agree with blog author Jeffrey Palermo, this is unacceptable.  This is why I suspect that many business owners do not want to spend money or time on software and technology because they know that the investment is risky.

I have a few theories why software is so risky.

First, software is the only technology product which is not automated.  Computer, smart phones, and mice are all manufactured on factory assembly lines.  Software is created by a bunch of engineers by hand.  This process is similar to writing a novel but it is done by committee and under often unrealistic deadlines.  This hand crafting of software means that there are no standardized parts.  So communicating with a database can be done a myriad of ways instead of one standard fashion. 

Next technology environments are heterogeneous.  It is common for a large company to have servers which run UNIX, desktop computers which run windows and staffs which have Android phones.  This means that software developers spend a great deal of time fitting square pegs into round holes.  The data on your UNIX servers needs to get on your sales forces smart phones.  It is up to your software developer to figure that out.

Third, software engineering is a craft that needs to be learned on the job.  When you hire a welder, you know that if he is hired from a union that he has spent countless hours training both in the classroom and mentored on the job.  The same holds true when you hire a plumber.  These trades have long apprenticeships where the skills to succeed on the job are taught by more skilled artisans.  Sadly, no such system exists for software engineers.  Entry level developers can be self-taught or they can be graduates from prestigious programs.  This means that no two developers are going to have the same base knowledge.

Next, there are so many different languages and design patterns for software development and no one agrees which is best.  If you want to start a fight among software developers mention that Java is a superior language to C#.  Developers are very territorial about their skills and if they are confronted with individuals who don't see design patterns and languages the same way there is going to be conflict and non-cooperation. 

Finally, many of the people who lead software teams do not have any knowledge of how software works.  If you are going into surgery you want the lead surgeon to be a doctor just like the other surgeons.  In technology, you often don't have a software engineer leading the project.  You have a manager with project management or sales experience.  This means they do not understand the challenges of the people who are actually doing the work.  It also means that they do not have the skills to help a team when it becomes "stuck" or faces unrealistic combinations of resources, time, and money. 

This is one of the reasons why I founded E3 systems.  I wanted to do software development properly.  Since we have launched the company we have gone through two major revisions to our Sully Business Intelligence Platform.   We do an upgrade on average every three weeks and each time a potential customer has asked for a feature we have delivered it in the next release.  We are pretty proud of that record and if you would like to know more you can contact us here.

So you can take your chances developing your own software and have a less than 50% chance of success or you can hire a team that does software development the way it is supposed to be done.  I hope you give us a call. 

Until next time.