NEWSLETTERS
 

CIO.com updates, insights and advice on technology, management and your career.

 Advice and Opinion

 CIO Consumer IT

 CIO Leader

 CIO Enterprise

 CIO Insider

 

RSS Feeds »

 
 
SUBSCRIBE TO CIO
 

Are you involved in setting the direction for your company's IT budget or strategy?

Apply today for a FREE subscription to CIO Magazine!

» Subscription Services

» Reprints

 

 


Wed, Sep 26, 2007 14:03 EDT

Enterprise Developers Programming Speed? Check. Time to Fix Bugs? Not So Fast.

Topic: Development

Blog: You're the Boss

Current Rating: 4 Comments: 3

Programmer spouses get used to it. We call the developer to dinner. "I'll be downstairs in a minute," the programmer says. "I'm just fixing this one last bug." Dinner turns cold. So does the spouse.

Software development is far more than the process of designing great applications that give their users joy. It's more than writing elegant code that, to the trained eye, is a work of art. A huge amount of software development time is spent in testing for defects, and fixing the problems once they're found. Ideally, the bugs are found before the application gets out the door, but — as we all know too well — many are found only after the software is deployed. The users report the problems...

...and then they wait.

Or do they?

According to a survey commmissioned by BMC and conducted by the consulting division of Forrester Research, the average time to resolve an application problem is 6.9 days for enterprise developers and 6.7 days for software vendors. Ten percent of those problems take 10 days to solve, says the report. Developers spend just over an hour documenting the problem; and, if given that hour back, they'd use it to create enhancements to the application they are working on.

BMC wants you to conclude, somewhat unsurprisingly, that BMC Identify's AppSight problem resolution software can help developers see where problems lie (and thus spend the rest of their time fixing the problem, and annoying their spouses by not showing up for dinner). It's a reasonable conclusion (the product plug, I mean, not the dinner dispute), and I applaud any tool that helps developers find bugs, particularly if they're in an application I need to use. (BMC says it'll soon have a white paper available on the subject, in case you want their specifics.)

But there may be more to it than that, when contrasted with another user community: open source developers. For open-source developers, the time reported between bug reports and the community's response is far, far less.

In its survey, Forrester conducted phone interviews with 150 managers, directors, and vice presidents in charge of application development teams and organizations. They included 100-120 respondents from enterprises with at least 1,000 employees and 50 developers.

As it happens, Evans Data Corporation (EDC) just finished its twice-yearly report, resulting from a survey of several hundred open-source and Linux developers (with some managers, but primarily folks-who-code). The EDC numbers are somewhat different. The average time between discovery and solution of a serious bug, for 36 percent of open-source developers is under 8 hours. Hours. Not days. Not a week.

In the BMC/Forrester report, application development managers said 39 percent of bug fixes take under a day to address; maybe that's not too different on the surface. However, 57 percent of open-source developers say that bug fixes typically take more than two days.

Interesting contrast, huh?

I believe both reports, even though they appear to contradict one another slightly. I'm sure that it does take longer for enterprise developers to fix application software than it takes an open source project to address an issue. And the conclusion (however much my open-source friendly soul might like to say so) isn't "Obviously, open source is better," but rather is a function of the infrastructure: people and processes work differently depending on the environment. I suspect that each community can learn from one another here, though I haven't yet figured out what the lessons ought to


You do not have flash or javascript support.
Average (2 votes)
4
 
 
Thu, Sep 27, 2007 19:00 EDT
Anonymous user
Posted by: JJS
Rating:

Having worked on both commercial and FOSS code, I agree with your points, but there are several other issues. At each step along the way, the commercial environment is more complicated.

Design: In a commercial environment, I am told what the program is to do. This requires someone to explain not only the general functionality, but also some level of detail. The more miscommunication, the more the program has to be modified along the way. And when programs are modified, there are often ripple effects. In my FOSS project, I knew what I wanted from the big picture down to several levels of detail, and was able to make it modular, knowing that even if I had to change some modules, they would still work with the rest.

Staffing: Every commercial program I have worked on has had some turnover, and in one case the lead designers left. When new people are hired, they are expected to hit the ground trotting. While everyone talks the talk of programming standards, new team members usually introduce different styles that can affect readability. In FOSS projects, team members tend to stay longer and new ones have usually already started looking at the code, so the coding style tends to be more consistent. Also, when you live with an app long enough, you begin to run it in your head. While this is true of commercial developers too, turnover means losing some team knowledge.

Honesty: When I talk to developers (both commercial and FOSS), most of them are totally honest about the limitations, flaws, and poor design choices in the code. But I actually had a marketer prevent me from fixing a bug in a commercial product because they thought they could use it to trick customers into buying an optional feature. Fortunately the next user of the product to experience the bug was our own company--and we had the optional feature running, so it didn't solve the problem--and I was able to go ahead and fix it. I have never found a FOSS project trying to cover up problems.

Intangibles: I work on my FOSS app at home, so if I wake up with a good idea, I can make some notes about it, and maybe even a little code, before breakfast. While it is possible to do this in some commercial environments, based on personal experience and talking to co-workers, I doubt that it happens much there. And if I need a break, I can play the piano for about 1/2 hour and come back with a clear mind. Also, I can expirement with ideas without someone pressuring me to meet some deadline. For example, I spent a week reworking my lock functions at least 4 times before I was satisfied with them.

Finally, there is the pride of ownership. While I am sure that most developers are professionals and act that way, many of us have been thru mergers and layoffs and know what our value to the company is, which puts a damper on the motivation to become totally engrossed in the product. On the other hand, I will always own my FOSS code, and I am ready to discuss it at any level of detail to anyone who will listen.

Later . . . Jim

RenaissanceCore IDS, check it out at:
http://sourceforge.net/projects/renaissancecore

 
Fri, Sep 28, 2007 0:04 EDT
Anonymous user
Posted by: Eric S. Raymond's
Rating:

Jimm's observations were cogent, but he underemphasized one of the most important reasons open-source programmers are productive and faster to fix bugs: no meetings.

Our teams are geographically dispersed. Our budgets are low or zero. There's nobody to make us go through the hideous, brain-cell-destroying swamp of petty politics and lethal boredom that is the typical corporate meeting. Meetings are more often rituals designed to establish or maintain authority hierarchies than they are
ways to actually make good design or implementation decisions.

The time an "enterprise" programmer would spend in that swamp, *we* actually get to spend thinking and coding. Loss of the extremely limited utility meetings have in making us aware of requirements is more than compensated for by direct communication with our users through means like bug and issue trackers.

And deadlines. Don't even get me *started* about the effect of deadlines on productivity...suffice it to say that there's empirical evidence that the 'aggressive' deadlines so beloved of managers actually make development take longer than a "wake me up when it's done" policy.

 
Sat, Sep 29, 2007 16:27 EDT
Posted by: Esther Schindler
Rating:

...though to be fair I did so in the context of priority-setting rather than the political process whereby every participant feels that he must "contribute" in order to mark territory. So I'm not actually disagreeing with you.

One could also make your point by saying that the FOSS apps grow and change as the need comes up. That is, nobody creates an old-style "let's write a full requirement document that takes every possibility into account, and design the app for every eventuality;" if you need the calendar to show colors in multiple colors, by golly you can just go ahead and add that functionality. I suppose the Agile community may see this as evidence that *their* baby is prettiest... more than something to do with open-source per se.

So let's take this back to the real world. What could enterprise developers (and their managers) learn from the FOSS community, as they build the software that keeps the company's lights turned on? Or are there things that the enterprise developers get right from which the FOSS community can learn?

About this Blog

How would you solve this management problem?

Start a Conversation

Click to post

Got something to say? We want to hear it! Click the Post button to get started. GO»

EXPERT ADVICE

See our roster of experts.

Advice & Opinion from more than 77 of IT's most insightful thinkers.

advertisement

TOP USERS
UserPoints
1. laith al jazi12550
2. Akshay Upadhye7650
3. Chris Moore6750
4. abdhiraj6175
5. remi5350
UserPoints
6. asengupta3750
7. tmmackay3500
8. Sureshram3125
9. Michael Kavis2950
10. Mark Cummuta2950
  PARTNERS       PODCASTS       WEBCASTS    
 

Enterprise Content Management: From Strategy to Solution

Enterprise content management (ECM) has become an important competence and infrastructural technology, particularly for large and medium-sized organizations. Hear about industry trends for ECM and why standardizing your ECM platform is so critical to your success during this roundtable discussion.

Sponsored by IBM  View This Webcast »

 

Get Rich or Get Thin: The Secure Client Webcast

Malcolm Harkins, General Manager of Intel's Information Risk and Security group, looks at the increasing sophistication of attacks. He also talks about he pros and cons of thin and rich clients in fending off those attacks.

Sponsored by Intel
  View This Webcast »

 

The Greening of the Data Center

This report outlines a four-part strategy companies can employ to achieve an energy-efficient infrastructure.

Sponsored by Sepaton  Read this White Paper »

More Partners »

Resource Alerts

Get instant email notifications by topic when white papers, webcasts, and case studies are added to our library.

Podcast: Accenture's View on Software as a Service

Publisher Emeritus at CIO magazine, Gary Beach, talks to Accenture Chief Architect, Paul Daugherty, about where software is going, and in particular about the emerging concept of software as a service and its contribution to high performance.   Read More »

 

Business Service Management: Delivering Value Throughout the Service Lifecycle

Business and IT alignment is as much a priority among CIOs, as it is a challenge...  Read More »

 

Talking Innovation with a Hall of Famer

Bill Walsh, lauded for his innovative thinking on the football field, talks techniques for applying innovation to every job.  Read More »

More Podcasts »

Resource Alerts

Get instant email notification when white papers, webcasts, and case studies are added to our library. Don't just be up-to-date—be up to the minute with our new Resource Alerts.

Crossing The Data Divide: The Case For Complex Data Exchange Technology

Hear the results of a new study conducted by IDG examining how to maximize the value of your enterprise information assets by automating the data exchange process. Join now and learn how technology can help you Cross The Data Divide.   Read More »

 

Collaborative Resiliency: A Unified Approach to Risk Management

Climate change, oil price shock, pandemic and acts of terrorism are true risks that cannot be ignored...  Read More »

 

The Great Escape: Contact Center Applications Are Moving into the Enterprise

With resulting benefits such as tighter integration with back-office applications, administrative control, and improved communications, contact center applications are moving into the enterprise. In this webcast...  Read More »

More Webcasts »

Resource Alerts

Get instant email notification when white papers, webcasts, and case studies are added to our library. Don't just be up-to-date—be up to the minute with our new Resource Alerts.

 
NEWSLETTER

Sign-up for the Advice & Opinion Newsletter

 
FEATURED SPONSORS
 
 
 
SPONSORED LINKS
 

3M saved $3M on printing. Learn how HP can help your business

Enterprise Service Bus: A Definition

Let's Get Virtual: A Look at Today's Server Virtualization Architectures

Increase conversions on your site with the help of EV SSL.

Get Control of Mobile Data (and More)

Data Loss Prevention Starts at the Endpoint

Building a Foundation for Pragmatic Service Management White Paper

Performance Brief: Mobile Application Acceleration

Strategies for centralizing data backup

Citrix XenServer FREE trial

Nothing Short of Revolutionary: Four Steps toward More Effective Enterprise Finance

The Best IT Strategy for a Company with Global Operations

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

The Business Value of Symantec Data Center Foundation Solutions

Webcast: Why standardizing your ECM platform is so critical to your success

The PCI Data Security Standard

White Paper: Assess Your SOA

The Universal Wireless Client: Simplify mobility and reduce the cost of supporting mobile workers

Tuning ERP and the Supply Chain for Profitable Growth

Compliance by the numbers- addressing requirements with online document management and collaboration technology

Webcast: Learn how to Simplify and Standardize Architecture

Research about the efficiencies created by different operating systems.

Shift your ERP investments into high gear and join the leaders!

White Paper: Intel IT testing of select multi-core processors results

IDC VP Carl Olofson Reviews Technology Advances and How to Handle Reporting and Querying

A CIO's View of Server Virtualization

Survival of the Fittest: Disaster Recovery Design for the Data Center

Windows Server 2008: To Upgrade or Not to Upgrade?

How Office 2007 Exposed Bill Gates

How to simplify mobility and reduce the cost of supporting mobile workers

Helping IT Become a Service Provider White Paper

Extending PCI Compliance to the Mobile Workforce

A proven approach to WAN optimization

Wireless Vulnerability Management: What It Means for Your Enterprise

Green IT: Reducing Your Carbon Footprint with Citrix

Wide-area data services enable todays global enterprise

Discover PMI's credentials and career path tools

Symantec State of the Data Center Report

Getting the Most from your Data Protection Solution

Tripwire PCI DSS Solutions: Automated, Continuous Compliance

ITCi White Paper: Challenges and Opportunities of PCI

TDWI Research report clears confusion about automating data governance

White Paper: Unlocking the Potential of B2B

See why 93 of the Fortune Global 100 depend on Blue Coat.

Taking Document Automation to the Next Level

Video Series: IT Leaders discuss how IT is becoming part of the innovation cycle.

How Plug-in Integration with Global Suppliers Quickly Multiplies the Value of SAP Investments

White Paper: WebMethods Business Process Management Suite

Webcast: A look at the increasing sophistication of attacks

Model, Execute, and Optimize: Oracle Fusion Middleware and the BPM Lifecycle