The roots of failure in software development management
Computerworld - It's no secret that software development is in a sorry state. Many projects fail; most others come in late or over budgetor bothaccording to industry reports.
The main reason we don't consistently achieve our desired results in managing software development is that we haven't settled the question of what software development is.
If you manage a software development organization, I've got a question for you. Can you explain the "why" of your approach to managing projects without using the word like? As in "Software development is like ..."
Why, after almost 50 years of experience, are we still working from analogy? And why are we comparing software development to activities like a game called Kerplunk, gardening or writing a novel? (Google on "software development is like" if you don't believe me. It gets worse.) Are these analogies supposed to be leading us to effective management strategies for software development?
The earliest software managers had no choice but to work from analogy. In 1956, Herbert Benington presented "a description of the organization and techniques we used in the mid-1950's to produce programs for the SAGE air-defense system," arguably the world's first truly large-scale software development effort.
Benington and his team had to work from analogy. They were pioneers. So they did what was reasonable. They applied lessons learned from what they already knew: hardware. Said Benington, "It is easy for me to single out the one factor that I think led to our relative success: We were all engineers and had been trained to organize our efforts along engineering lines." (Annals of the History of Computing, Vol. 5, No. 4, pg. 300.)
The question is, given all the advances in tools and in the educational system, with all the experience we now have with software development, how did we end up switching from "software development is like hardware development" to the use of analogies such as gardening? Isn't software development really just like hardware development? That question, and the implications of the answer, is what this and my next several columns will explore.
Let's begin our exploration using a model of production that's basic enough that we can be reasonably assured it applies to both hardware and software.
At the end of the production process, there is the Product, the working, usable result of our labor. There doesn't seem to me to be much controversy lurking around this definition. Whether it's a PC or a program that runs on one, it doesn't seem valid to refer to it as Product until it's working and usable in the end-user sense.
At the beginning of the production process, there is the Design. (For now, we'll assume that Requirements exist outside the production process). The Design is complete when it's been validated within the Development process.
- 12 iPhones Apps That Will Make You a Networking Star
- 10 Careers Robots Are Taking From You
- Big Data Gold Isn't Always Where You Would Expect It
- 6 Tips to Build Your Social Media Strategy
- A walking tour: 33 questions to ask about your company's security
- 15 social media scams
- The 7 elements of a successful security awareness program
- IT Certification Study Tips
- Register for this Computerworld Insider Study Tip guide and gain access to hundreds of premium content articles, cheat sheets, product reviews and more.
- The Five Big Lies the C-Suite Hears About "Going Mobile" Mobile has already made a tremendous impact-to the tune of 29 billion apps downloaded in 2011. With such a new technology, it's not...
- mPayment Scenario Planning and Recommendations The mPayment industry is predicted to reach $1.3 trillion by 2017. This report offers conclusions into the impact mobile will have on businesses...
- Is Your App Getting Used? Understanding UX and Your Audience Want your app to be one of the 70 percent that is opened but never used again? If not, then you need to...
- Streamlining Information Workflows In order to streamline your workflows effectively, you will need to properly align your file transfer solution with your business requirements.
- Bridging HTTP and FTP with FileXpress Internet Server What if you could take an FTP server on your internal network, and allow external users (partners or customers) to securely access it...
- MFT and FileXpress - An Overview Business users and applications exchange files on a regular basis. File transfer is a core part of the flow of business activity. All App Development White Papers | Webcasts
Our weekly newsletter will cover a wide range of topics and trends related to consumerization. Stay up to date with news, reviews and in-depth coverage of BYOD, smartphones, tablets, MDM, cloud, social and how consumerization affects IT. Subscribe now!