Subscribe to our e-mail newsletters
For more info on a specific newsletter, click the title. Details will be displayed in a new window.
Application/Web Development
Computerworld Daily News (First Look and Wrap-Up)
Computerworld Blogs Newsletter
The Weekly Top 10
More E-Mail Newsletters 
Computerworld 2007Subscribe to Computerworld
40 years of the most authoritative source of news and information for IT leaders.

Component-Based Development: Why Hasn't the Vision Met Reality?

Editor's note: David Tanacea, president of TopCoder Software, wrote this column in response to David Horowitz's article: "Biting Back (Fighting Software Bugs)." His contention is that component-based development makes bugs easier to find and reduces their effect over time.
David Tanacea, TopCoder Software   Today’s Top Stories    or  Other Development Stories  
 

Sign up to receive Security Resource Alerts

February 10, 2003 (Computerworld) -- For years now, we in the software development industry have been extolling the virtues of component-based development (CBD). The benefits of object-oriented design and component-based development seem obvious:

  • Reusing software saves money in the development phase of software projects, i.e., the more components you reuse, the less software you have to build.

  • The more applications in which you use a given component, the more valuable that component becomes.

  • Reusable components enable application developers to customize applications without high costs and long development cycles.

  • Reused software components have fewer bugs because they are used more often, and errors are uncovered and corrected along the way.

If CBD is easier to maintain, cost-efficient (saves up to half of software development costs) and incorporates a shorter development cycle, why then aren't software components utilized in more applications?
The answer lies in the application development process, especially the beginning stages of software development -- research and discovery. Put simply, CBD has been hampered due to lack of discipline and lack of expertise, especially when applying CBD methodology to the application development process. Software applications need to be well defined before coding begins.
DevTalk
David Tanacea
David Tanacea is president of TopCoder Software. With more than 20 years of experience, he has spoken at a wide range of technology events, and frequently writes for publications and online outlets. You can reach him at www.topcodersoftware.com

Iterative prototypes, functional requirements, business process flows and transitions, and use cases are all critical tools used in application design. However, in most instances, the issue isn't the tools that are utilized, but the extent to which they are used. In too many cases, coding begins after high-level use cases have been defined, which causes the problem. In order to realize the true benefits of reuse, use cases must be driven down to the lowest level of granularity before class diagrams are created. Then, component diagrams must be created and broken down to their lowest level to identify reuse throughout the application. When done well, the immediate results are low-level base components that are the building blocks of all software.
It is relatively easy to extend, customize and assemble base components into complex components. However, if base components aren't identified in the application design process, the application suffers from blocks of software that are unwieldy and improperly interfaced. Base components, because of their low level of granularity, are easier to utilize in multiple applications, thereby driving down the development costs of the organization as a whole, without forgoing quality and customization.
The second driving factor behind CBD's slow adoption is that proper application development isn't done rigorously. First, it takes knowledge and foresight to break down an application design to its lowest level. Second, there is always the urge to quickly finish designing and start coding!
Project deadlines approach like the proverbial freight train, and the paradox is, the extra time spent in the design process makes the development process proceed exponentially faster and with fewer errors. While this is true for any design methodology, it's especially true for CBD, as the benefits gained by a particular application are also realized by all additional applications that utilize that component.
There are several ways that an application developer can drive down the cost of applications and increase their quality. The most obvious is to enforce good CBD principles. Design and development should be separate, with different individuals working on each. Both must have their own peer testing and review process. Managers must ensure that the internal component assets are well organized. Developers must be able to easily search for components that meet their functional and technical requirements. Components must also be well developed and well documented. It's better to forgo the opportunity to reuse a component than to poorly build an ostensibly reusable component. High quality, low-cost commercial components should be utilized to speed the building of a company's reusable assets.
Finally, it is critical for all development benefits to be measured. Metrics that measure component cost (in component development and re-use), productivity (speed of development) and quality (number of defects) must be established and tracked. Application metrics, the number of places components are used, the cost per application (total cost divided by the number of applications) and the percentage of applications using reusable components (productivity increase) must also be established. Only through quantitative analysis can a process be continually improved. The results will make the benefits obvious, saving both IT and the organization's resources, and making the discipline of application development much easier to enforce.

David Tanacea is president of TopCoder Software. With more than 20 years of experience, he has spoken at a wide range of technology events, and frequently writes for publications and online outlets. You can reach him at www.topcodersoftware.com.




Print this Story Send Us Feedback E-mail this Story Digg! Digg this Story Slashdot this Story
"We interrupt the regularly-scheduled Microhoo update to bring you the..." Read more...
"We don't need al-Qaeda to blow us up. We are perfectly capable of lighting the fuse ourselves, courtesy of our..." Read more...
Read more Development posts or See all Blogs
Microsoft to limit capabilities of cheap laptops
FBI worried as DoD sold counterfeit networking gear
Update: Microsoft to appeal $1.3B EU fine
More top stories...
XP SP3 cripples some PCs with endless reboots
Windows Vista more secure than XP, says security company
Microsoft grows DAISY for blind computer users while Adobe wilts
Mistakes such as putting down co-workers or burning bridges when you resign are surefire ways to darken your career prospects. Here's how to avoid them
Hype and promises abound in the IT world, but these six breakthroughs really will change your life, says author and former IT manager John Brandon.
Baby boomers are retiring and taking their knowledge with them. Why do so few in IT seem to care?
Computerworld editors share stories of their first PCs, including some classics and some real clunkers -- then we ask readers to share their early-PC tales.
Reviews, analyses, how-tos, visual tours, hot issues and predictions about Microsoft's new OS.
Four years from now, the IT field will be a vastly different place. Will you be ready?
All Zones
Application Performance Zone
Enterprise-Class Security Zone
Enterprise Solutions Zone
The File Data Management Zone
Grid Computing on Windows Zone
Security Management Zone
ITIL Best Practices Zone
The SAS Zone
Storage Virtualization Zone
The Data Center Management Zone

Ads by TechWords

See your link here
Computerworld Report : Smart Storage
Download this Computerworld report, free for a limited time, compliments of HP.
(Source: Computerworld) Faced with growing demands, immature tools and a confusing array of technologies, IT decision-makers have to make some strategic choices. Learn how to avoid the pitfalls in this Computerworld report, a $49.95 value, available free for a limited time, compliments of HP.
Download this executive briefing download
Transformational Analytics: Virtualizing IT Environments
Download this white paper, free, compliments of CiRBA.
(Source: CiRBA) The overwhelming complexity of the modern data center compounds the problem of how to safely virtualize IT environments. This paper provides an in-depth guide to analyzing complex environments for virtualization opportunities, particularly within production environments where stability, service levels and performance are of the upmost performance.
Download this white paper go
Rapid, Widespread Adoption of CMMI at Lockheed Martin with Application Lifecycle Management
Rapid, Widespread Adoption of CMMI at Lockheed Martin with Application Lifecycle Management
Get this webcast now
Go to the webcast 
White Papers
Read up on the latest ideas and technologies from companies that sell hardware, software and services.
New Fujitsu High-End Itanium Windows- and Linux-Based PRIMEQUEST Servers Offer the Utmost in High Availability
New Fujitsu High-End Itanium-Based PRIMEQUEST Servers Offer Industry-Leading System Management for Linux and Windows
Symantec State of the Data Center Report 2007
View more whitepapers