IT DRILLDOWN
 
NEWSLETTERS
 

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

 
 
 
LEADERSHIP
 
CIO Executive Programs
The Leader in Face-to-Face Education for Senior Executives

Offering regional and national programs, CIO (and CSO) events bring together some of the most respected names and thought leaders in information technology and security. Presented by CIOs and other senior level executives, these invitation-only programs offer timely topics and strong networking. Learn More »

 
CIO Executive Council
A Peer-Advisory Service and Professional Association for CIOs

Public Teleconferences
Join CIO Executive Council members and participate in the following live one-hour teleconferences:

* Transforming IT Teams
September 16

* Global CIOs: How to Lead on the World Stage
September 18

* Social Responsibility's Strategic Benefits
October 29

More / Register »

Learn more about the CIO Executive Council »



 
 
RESOURCE CENTER
 
 
 
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!

 
 
 

5 Things Grady Booch Has Learned About Complex Software Systems

The father of UML and design pattern enthusiast shares his fundamentals about developing, delivering and deploying big software projects.

 

May 29, 2008CIO — A handful of über-programmers are immediately recognizable to most software developers, often on a first-name basis—the way that other communities might recognize "Britney" or "Oprah" without further explanation. These individuals shape the way programmers design and build applications, by identifying process improvements or designing life-changing tools.

One unquestioned person on that list is Grady Booch. His primary influence on object-oriented programming was as an original developer of the Unified Modeling Language (UML); he's also written several influential books, such as Object-Oriented Analysis and Design with Applications. And he's been chief scientist at Rational (now part of IBM) since its founding in 1980; the most recent formal title is chief scientist for software engineering in IBM Research. Here's his advice about making big software development projects a success.

1. The fundamentals never go out of style.

Big, long projects can become grim, and in the worst cases they can appear to become a death march. But hyper-productive projects, says Booch, never forget the four fundamentals:

  1. Create crisp and resilient abstractions.
  2. Maintain a good separation of concerns.
  3. Create a balanced distribution of responsibilities.
  4. Focus on simplicity.

The key in creating useful abstractions, says Booch, is to use an object-oriented view of the world, rather than an algorithm-based viewpoint. Think about things, he says, instead of processes.

Separation of concerns, says Booch, means, "You don't put the dishwasher in the bathroom." The specifics depend on the requirements, but he advises, "Semantically related things should be clustered together and kept separate where they are not."

Design fundamentals also include avoiding an architecture that's too "lumpy." You don't want to design a house with an enormous kitchen but just one bedroom, for instance.

Don't underestimate the importance of keeping things simple, he warns—or the difficulty of getting there. "It requires energy to develop simple things," explains Booch. It's worth the investment to ensure that every software release includes a step in which developers give attention to simplifying, he says. But it is an investment. Management has to be willing to throw out features even if it cost money to develop them.

2. You need a regular rhythm of releases.

Every project needs a heartbeat, says Booch. "Establishing that rhythm provides predictability and sustainability." Regularity lets everyone plan on what functionality or features will be injected into the next round, he says, regardless of release frequency.

3. Focus upon growing executable architectures.

IT managers need to govern around the architectural decisions rather than raw, running, naked code. "The code is the truth," Booch says. "But the code is not the whole truth."

Loading...
 
 
ABCs
 

Just the basics, please. Sometimes we all need a refresher or we need to make sure our team and our colleagues are all on the same page.

Over 25 tutorials on everything from business intelligence to virtualization.

 
 
FEATURED SPONSORS
 
 
 
SPONSORED LINKS
 

Executive Strategies to Achieve Consistent Performance & Availability across the Enterprise

Renowned Engineering Institution Chooses AMD Processor-Based Servers

HP Puts Its Disaster-tolerant Capabilities to the Test

SOA Educational Library at the TIBCO SOA Resource Center

TDWI Report shows strong validation for investing in predictive analytics

Cost-Effective Data Center 1U Server Solutions

Secure your virtual and physical environments with the same software

GET YOUR VoIP ONTM! Win 2 Years of Hosted VoIP from Cypress. $100,000 retail value. Enter today!

Virtual Support Technology Delivers Quantifiable Gains in Productivity and Performance

File Integrity Monitoring: Secure Your Virtual & Physical IT Environments

Webcast: Roundtable discusses industry trends for Enterprise Content Management

Stimulating Innovation: Meeting IT's New Mission

The Struggle to Achieve Agility and Reduce Complexity

Maximizing Site Visitor Trust Using Extended Validation SSL

Standalone Server vs. Open Source Toolkits

Drive More Effective Business Processes with SOA

Oracle Database 11g: Real Application Testing & Manageability

InfoWorld Test Center on Oracle Real Application Testing

Oracle Database 11g: Advances in Compression, Real Application Testing and Data Guard

Getting Off on the Right Foot: Avoiding Common Master Data Management False Starts

Conquering Information Management Challenges

The Challenge of Network Access Control -- Is a Managed Service the Answer?

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

Strategic IT Financial Management - Achieve Higher Organizational Performance

Process Integration and Traceability through Requirements Management

Efficient by design: Watch this flash demo of the Quad-Core AMD Opteron Processor

HP and Oracle deploy unbreakable computing infrastructure at Replacements, Ltd.

Dell Latitude: Battery life up to 19 hours. Learn more

Video: 21st Century Networking for a 12th Century Castle

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

Learn about the software-based VoIP solution from Microsoft

Microsoft System Center - Designed For Big

Accelerating ITIL at the Service Desk

Putting Open source to the test

Weigh the trade-offs between outsourcing communications and keeping it on-premise.

Protecting Data in a Highly Networked World

Consolidation: Just the Starting Point for Virtualization

How the Mac is Becoming an IT Standard in the Enterprise

Storage Efficiency: The Key to Green Storage Operation

Fuel the Responsive Enterprise Through Oracle Fusion Middleware

Balance Your Innovation and Efficiency Platforms for Competitive Advantage and Responsiveness

Oracle Real Application Testing with Oracle Database 11g

InfoWorld Test Center on Oracle Active Data Guard

Master Data Management: The Approach Determines the Results

The Power of Pervasive Business Intelligence

Reap the Benefits of Unified Communications

How to Manage the Mobile Work Environment

Extending PCI Compliance to the Mobile Workforce

Strategies for Asia-Pacific Expansion

Unified Communications: "More Than Just Talk"