Earthweb
Images Events Jobs Premium Services Media Kit Network Map E-mail Offers Vendor Solutions Webcasts
 SUBJECTS:
 FEATURES:
IT Management Webcasts:
The Role of Security in IT Service Management

Preparing for an IT Audit

More Webcasts


Search EarthWeb Network

internet.commerce
Be a Commerce Partner
Online Education
Computer Hardware
Laptop Batteries
Memory Upgrades
Online Universities
Auto Insurance Quote
Compare Prices
KVM Switch over IP
Televisions
Compare Prices
Boat Donations
Web Hosting Directory
Imprinted Gifts
Hurricane Shutters

Linked Data Planet Conference & Expo

IT Management : Enterprise Applications: Why Is Software Development So Hard?

Hyper-V: The Killer Feature in Windows Server 2008
It's fair to say that while many of the other new features are evolutionary, Hyper-V, by contrast, is revolutionary. Paul Rubens explores Microsoft's big step into virtualization. »

 
Download the Windows Server 2008 Trial
With Windows Server 2008 you can develop, deliver, and manage rich user experiences and applications, provide a secure network infrastructure, and increase technological efficiency and value within your organization. »

 
Reduce Complexity and Costs with Microsoft Identity and Access Solutions
Your organization depends on making digital information accessible to a broad spectrum of users over range of devices and networks. Register now for free Identity and Access Solutions from Microsoft. »

 
Virtualization from the Data Center to the Desktop
Integrated virtualization solutions from Microsoft can help you meet evolving demands more effectively as you transform your IT infrastructure from a cost center to a strategic business asset. »

Related Articles
Tech Comics: "Sun Buys MySQL"
Enterprise Unix Roundup: Unix Heads for the Clouds
How Fake Is Your PC?
Mozilla to Apple: Show Your Hand
Microsoft Cuts Vista Prices
- ITSMWatch Newsletter -
Tech Focus: Security

Cybersecurity: Laws Only Go So Far

Mozilla Firefox vs. Internet Explorer: Which is Safer?

Is Your Blog Leaking Trade Secrets?

The Las Vegas Counterfeiting Story: Is Your Privacy Worth More Than a Poker Chip?

Stopping Spammers at The Point of Sale

Product Watch
Enterprise Security Reporter - Compliance and Security Administration Tool Reports Windows Network Permissions
Equalizer - Line Of Load Balancing Devices For Server Farms
AlgoSec Firewall Analyzer - Automated Analysis of Firewall Configurations for Security, Optimization, More
ABC Amber Data Converters - Tools To Convert Documents Between Formats<P>CHM Converter to Any Document Format--------Tool to combine and split PDFs--------utility to convert CSV to any format--------utility to convert DBF to any format--------Useful BlackBerry converter to any format
SyncCell - Lets You Use Your RAZR Like a PDA

more products >>

Datamation Definitions
data mining
ERP
extranet
grid computing
intranet
network appliance
outsourcing
storage
VPN
virus
FREE Tech Newsletters

Speed, agility, flexibility - The HP BladeSystem c-Class.

Why Is Software Development So Hard?
March 4, 2008
By James Maguire

James Maguire "If you think it's simple, then you have misunderstood the problem."

-- Bjarne Stroustrup, inventor of the C++ programming language


Hellish failure rates. Endless delays, miscommunication, cost overruns. Seriously peeved clients.

All of these factors are commonplace in the software development process. A recent Standish Group report indicates that only 35 percent of software projects are “successful,” meaning they met the deadline within budget and satisfied client needs. Some 19 percent were outright failures, with the rest muddling through in the middle ground.

Which begs the question: Why? Why is software development, which is done by groups of intelligent professionals, so god-awful difficult?

Scott Rosenberg, author of Dreaming in Code, a book about the development process, has mulled this question extensively. Having interviewed legions of programmers and been involved with software projects himself, he’s come to some conclusions.

software development, programmers

"Dreaming in Code" by Scott Rosenberg

First, though development is a profoundly technical process, it’s not the technology that creates snafus. Rather, it’s the human-technology interface. Specifically, “The difficulty that people in management positions have in gaining visibility into the technical world.” And also – and more worrisome – “The assumptions that people make about software.”

For instance, compare software development with the process of building a bridge. The mix of steel and concrete that goes into bridge building is tangible to the casual observer. We can look at it and say, It’s about halfway done.

But with software? How are upper level execs supposed to know that a mass of code is halfway done?

They could, of course, ask the lead programmer, and in fact they often do. But that’s where the problems usually start.

In the mind of the lead programmer, once the project is decomposed into a series of technical problems, he can say with some assurance, “Oh, this module is halfway done, or this module, we haven’t started on that.” Those questions can be answered.

But when that programmer reports his progress to management, he’s talking to people who don’t see things as he does.

Rosenberg notes: “The assumption is, because we know it’s so easy to change – it’s code, right? We didn’t pour concrete into a foundation” – that it’s not difficult to change things.

Furthermore, “Programmers are often, to their credit, eager to please, and eager to prove their versatility and their ability to nimble. And so we don’t apply the same restraint and self-discipline when building software that we tend to use in physical world projects. We get a quarter of the way or halfway into it, and say, Let’s add some things.”

The innocent phrase “Let’s add some things” is rarely beneficial to the sanity of the programmers.

In fairness to management (a group that might not deserve such fairness), sometimes the very act of development opens new possibilities. So perhaps it’s only right and natural that they shift course in midstream.

“And maybe as it’s being built they get a clearer picture, and suddenly they see something they didn’t see before. Then they go, ‘Oh, I guess we should rebuild this part, and they go back to the engineers and say, ‘You know, we didn’t realize this.’

“And before you know it, you’re in trouble.”

Do the Programmers Share Blame?
Software and More
Who Killed the Software Engineer? (Hint: It Happened in College)

When Just Enough Is Enough To Be Fired

The 2008 IT Salary Guide

Understanding Your 'Idiot' Manager

FREE Tech Newsletters

Although it’s rarely the programmers who turn projects into quicksand, sometimes the classic programmer’s “personality profile” comes into play.

There’s often a particular personality type that goes into the field, Rosenberg says. “To master the technical complexity of getting the computer to do exactly what you want it to do, you have to be very precise. You have to be able to think in a way that makes that easy for you.”

“Sometimes – not always, but sometimes – if you are the kind of person who is able to think really easily about how to get a computer to do what you want, you’re not always the most imaginative person to think about how users are going to do something. This is a classic issue in the field.”

Users (or at least certain users) are remarkably non-technical. Simple computer tasks confuse them terribly. For a technologically sophisticated programmer to put himself into the mindset of a blubbering newbie is difficult.

Go to page: 1  2  Next  

James Maguire is the managing editor of Datamation.

Tools:
Add itmanagement.earthweb.com to your favorites
Add itmanagement.earthweb.com to your browser search box
IE 7 | Firefox 2.0 | Firefox 1.5.x
Receive news via our XML/RSS feed

Enterprise Applications Archives



JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
Microsoft Article: HyperV-The Killer Feature in WinServer ‘08
Avaya Article: How to Feed Data into the Avaya Event Processor
Microsoft Article: Install What You Need with Win Server ‘08
HP eBook: Putting the Green into IT
Whitepaper: HP Integrated Citrix XenServer for HP ProLiant Servers
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 1
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 2--The Future of Concurrency
Avaya Article: Setting Up a SIP A/S Development Environment
IBM Article: How Cool Is Your Data Center?
Microsoft Article: Managing Virtual Machines with Microsoft System Center
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Intel Video: Are Multi-core Processors Here to Stay?
On-Demand Webcast: Five Virtualization Trends to Watch
HP Video: Page Cost Calculator
Intel Video: APIs for Parallel Programming
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Sun Download: Solaris 8 Migration Assistant
Sybase Download: SQL Anywhere Developer Edition
Red Gate Download: SQL Backup Pro and free DBA Best Practices eBook
Red Gate Download: SQL Compare Pro 6
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
How-to-Article: Preparing for Hyper-Threading Technology and Dual Core Technology
eTouch PDF: Conquering the Tyranny of E-Mail and Word Processors
IBM Article: Collaborating in the High-Performance Workplace
HP Demo: StorageWorks EVA4400
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES