brain nav

MODERN SOFTWARE PART 2

Real Concerns:
Short-term Thinking, Long-term Effects top

 
Since the bursting of the internet bubble and 9/11 several trends in software business management have emerged that may have serious long-term consequences for the US economy. The origin of these issues is much older, but the bull market of the 90's exascerbated these trends - when everything you do makes money, it's hard to stop and search your soul. When everything you do loses money, it's easier to institute a thousand little cuts than to look at the overall problem.

This essay is a work in progress... Modern Software Design: Business Effects of Current Personnel and Management Behaviors

Trend: Development structural reorganization with outsourcing (least favorite Dilbertism - 'human capital repurposing'), or, Speed kills...

Short-term expense reduction = No fall-back when outsourcing doesn't work as desired. There is no going back after you fire all your best programmers.

If you don't fire them, be prepared for their caterwauling over quality until you do fire them, or they leave voluntarily.

Sadly, most programmers make generally awful business analysts and requirements authors, though there are exceptions.

Trend: Depress compensation for US programmers
Short term expense reduction = Long-term reduction in qualified US developers, loss of core-competency for US economy

In the 1980s and 1990s, many people became programmers that would have typically excelled in other fields - as doctors or lawyers, etc. This is because programming became a valid high-status job with good compensation. When developers are viewed as commodities, these people will seek other careers.

Trend: Confused management doesn't understand the real cause of software problems and costs - Yet another generation of management who may as well use Voodoo to control development. With communication delays and physical separation, remote or offshore development managers can mask real problems until it is much too late to recover properly. Factor in typical burn rates for full-scale software development (even offshore development) and you can vaporize a pile of cash in a shockingly short amount of time and have nothing to sell for the investment.

"It's harder than you might think to squander millions of dollars, but a flawed software development process is a tool well-suited to the job. That's because software development lacks one key element: an understanding of what it means to be 'done'. Lacking this vital knowledge, we blindly bet on an arbitrary deadline. We waste millions to cross the finish line soonest, only to discover that the finish line was a mirage..."
Alan Cooper - The Inmates are Running the Asylum

And this leads to the whole issue of managing to deadlines instead of managing to satisfy goals, a subject for another day...

Trend: No clear understanding of design process or product requirements - 'you get what you asked for, but not what you need'

Most companies confuse methodology and design.

Design is the process of making decisions based on a complete understanding of a problem to reach a creative solution. Methodology is a tool, or better, a set of tools. Having a crayon doesn't automatically make you an artist (remember desktop publishing?), and having a 'certified' software methodology doesn't automatically result in good design.

Trend: Oversimplification of design decisions will complicate and delay software design and iteration cycles - Instead of reducing them.

Some problems can be solved with clear thinking.
Some problems really are complicated and take serious consideration to understand.

The difficulty is many times we cannot tell the difference without training and experience. In the search for profits we are discarding much of our industry's experience. In the longer-term this may cost us far more than the short-term savings.

Trend: Just because you *can* do something doesn't mean you *should* do it. Design ethics. Soft costs. Leave something for your children, or loot the pension fund?

keywords: outsourcing, offshoring, economics, failures, rising costs, comparison