In a previous post, we discussed the value of software and its role as the leading player in digital business creation and innovation. But make no mistake: Great software is inspired and defined by the human beings who create it. These team members are all too often treated like a commodity and deprioritized during the planning process, to ill effects.
The cost of software engineering talent, first and foremost their salaries, continues to grow and can be rightly seen as an expensive resource. One might expect over time, as software engineering salaries increase, that organizations would become more adept at efficiently allocating these team members. Unfortunately, the methods and manner in which software engineers are managed and utilized has become increasingly irresponsible and inefficient.
For example, traditional organizations are trained to maximize their efficiency through data analysis and strong management. Likewise, the prototypical C-suite will follow the textbooks and often restructure teams in an attempt to quickly become leaner and more profitable. These same legacy “success principles” are being utilized within software engineering by nontechnical senior leaders, with potentially devastating consequences.
Limited trust and understanding between senior management and technical teams
The great flaw here is in perceiving engineering talent as interchangeable and discouraging participation in product definition. By disconnecting the engineering team, far too many businesses will conduct a disingenuous software development planning process. This fundamentally flawed and undisciplined approach to software engineering resource allocation has led to poorly designed and unwanted products, cost overruns and demoralized engineering teams.
The root of this issue appears to stem from the intense pace at which the competitive technology sector is growing and the exhausting effects it’s having on management teams, who feel overwhelmed and panic. These pressures produce or exacerbate a lack of trust and understanding between senior management and technical teams.
Some of this has come from a distinct shortage of management’s understanding in terms of what a team can build and how long it will take. It also stems from management’s lack of a technical background. Engineers are not cogs. In fact, their participation in the earliest phases of product planning is critical to the success of any digital project.
Nontechnical management controls product definition
Today nontechnical senior management groups almost exclusively control the product definition process — eliminating engineering, the key group that will be tasked with building the product.
Another significant failure of misused engineering resources is due to a lack of vision and a fear of decision-making. Undisciplined organizations postpone making the difficult decisions regarding real software product definition, capabilities, features and specs at the project’s earliest phase and push this further out, hoping for clarity as a product is being built.
Management’s hope is that by leveraging engineering resources and rigid software development methodologies they will be able to overcome the human issues. Sadly, after a great deal of resources have been expended and project milestones and delivery dates come and go, management is left shaking their heads wondering how they wasted hundreds or thousands of hours of effort. This way of thinking continues to drive significant organizational inefficiency, frustration, cost overruns, unneeded products and abandoned projects.
It wasn’t always this way
Historically, there are successful examples of senior-level software engineers being utilized early in the initial product definition phase. These examples are epitomized by collaboration between cross-functional business units like product management, marketing and engineering teams to define the purpose and plan from development through execution for software products.
When done right, the software team was provided a fundamental understanding from the beginning of the digital business at hand – through research, sales or marketing briefings and discussions with customers regarding their needs and opportunities. While unexpected developments could still hinder product features and a timely release, well-planned projects in fact established the software industry.
In a future post, we will discuss the benefits of leveraging a co-design development methodology to ignite innovating thinking and minimize mistakes or miscommunications during planning.