Software development from a business perspective

Jeroen Vossen
Spartner
4 min readNov 21, 2018

--

Software drives the world, there is no doubt about that. Modern life is unthinkable without the internet, your computer, your smartphone, your car etc. Software is the oil that makes all devices run. Shouldn’t this oil be of the best quality possible?

Before I start, a short background of me personally. I have been working in this industry in many roles, starting as a project manager evolving into different management jobs. My personal mission is to let software development teams flourish. In this article I hope to inspire developers and managers with some of the things I have learnt.

From my 20 years experience in business informatics, I identify three pillars:

  • the human (user) aspect
  • the business aspect
  • the technical aspect

These pillars are key elements in realizing successful projects and are all of crucial importance for any development team.

At my most recent company, with two managers working with a team of 11 backend developers, the cooperation between management and development team is very direct and close.

Complexity demands creativity

Dealing with software development is often challenging for both the business and the development team. Most often projects are complex and demanding, not only from a development perspective. Also because they deal with complicated matter or are complex for the client. Bringing together business and user needs proves to be hard. But why?

Developing software requires good analytical abilities from the software architect. He needs to reduce it’s complexity into understandable and programmable elements. Additionally, creativity is required to find the optimal approach to the technical complexities.

The human being is complicated, the organisations and the world we work in also contains a high level of complexity and change. Often described with the term VUCA world.

Change is the new constant. People and organisations have to learn how to deal with the four aspects of VUCA. As the pace of change is increasing, the lifespan of companies is decreasing (see: https://www.innosight.com/insight/creative-destruction/). This means humans, who fundamentally dislike change, have to learn to embrace it in order to be successful.

Why Business value is essential

Everything a software developer does should contribute to the business value. Why is that so important?

If you are a developer, you will probably love the technical aspect, for finding the most innovative and creative solution. But focusing only on this aspect, might create a product not (fully) meeting business and/or user requirements, or going overboard on hours and deadlines.

Remember, a business can only exist if it creates value. The term value does not only refer to a purely monetary value. Customer value, intellectual capital, employee satisfaction are also business values.

This is where the “human” aspect of the developer becomes of crucial importance. In daily operational practice, the developer needs to describe the business value in order for the Product Owner (PO) to “sell” the work to the internal organisation. Developers often assume that the value of a 200 hour refactoring is apparent. In practice this is often not at all the case. The PO will need to answer questions like “how will these 200 hours be earned back?”.

In my management experience I have found that these kind of questions are disliked by developers. I try to educate my team members on its importance, which strongly benefits our relationship with PO’s and clients.

This image does not necessarily reflect the opinion of the author.

For crying out loud! Why soft skills?

Although the tide seems to be changing, soft skills development still seems to be lacking priority throughout development education but also in the business world in general.

A study by Harvard University, the Carnegie Foundation and Stanford Research Center has concluded that 85% of job success comes from having well‐developed soft and people skills, and only 15% of job success comes from technical skills and knowledge (the so called hard skills).

Soft skills like verbal and non-verbal communication, empathy and teamwork are essential in accomplishing business value. Without soft skills, designing software and communicate business values will never succeed. In my view, an underestimation of Soft Skill importance, is the number 1 cause for software projects to fail or for budgets growing out of control.

Development teams need to understand that, in contradiction to well written and logic code, humans tend to display sometimes illogical and irrational behavior. And there is no way great UX design or an advanced API, will help developers cope with their lack of soft skills. Yet….. ;-)

Written by Jeroen Vossen, Manager Operations @ Maatwebsite

--

--