What Grady Booch Has Learned About Complex Software Systems
- 20 June, 2008 15:06
- Comments
A handful of uber-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:
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."
Join the CIO Australia group on LinkedIn. The group is open to CIOs, IT Directors, COOs, CTOs and senior IT managers.
- Bookmark this page
- Share this article
- Got more on this story? Email CIO
- Follow CIO on twitter
- Think print, Think security - Plugging the printer security gap
- Case Study: HJ Heinz
- Case Study: BNP Paribas Deploys Oracle Exadata to Accelerate Information Processing - The Hardware Perspective
- Business Process Management, Service-Oriented Architecture, and Web 2.0: Business Transformation or Train Wreck?
- 10 Mobile Security Requirements for the Bring Your Own Device (BYOD) Enterprise
-
Social networking security in the workplace
-
Facebook stock slumps for third day
-
Dell's profit shrinks in the first quarter
-
How to design a successful RACI project plan
-
Technology top for CEOs
-
Mobile Security: Don’t leave employees to their own devices
No organisation can afford to ignore the rising march of consumer devices in today’s workplace. But neither can they ignore the risks that consumerisation brings. Companies must adapt IT and security strategies accordingly, balancing the needs and demands of more flexible work models with the often thorough information security safeguards that were implemented to protect the business in the first place. Fortunately, there are ways of doing just that and achieving a balance that works for all concerned. -
IDC MarketScape: Worldwide Business Process Platforms 2011 Vendor Analysis
Enterprises adopting business process management (BPM) software have wide-ranging needs, from highly dynamic task management to complex, high-volume processing with a focus on straight-through automation and the ability to rapidly detect exceptions. This IDC MarketScape focuses on what we call business process (BP) platforms, which are optimized to support midrange to more complex use cases. Read on. -
Prepare Your Enterprise for the Mobile Revolution: Boost the Bottom Line with Mobile UC
This white paper will highlight the changes in the mobile workplace; outline the benefits of unified communications (UC) and Fixed-Mobile Convergence (FMC) for mobile workers; identify the key market trends and business challenges IT managers must pay attention to now and into the future; and offer best practices for choosing a solution that will deliver clear ROI.
-
Karel the Robot
-
The Art of Strategic Planning for Information Technology, Second Edition
-
Illustrator Cs3 Bible
-
Database Development for Dummies
-
OLAP Solutions, Second Edition
-
SQL Instant Reference 2E
-
Master Visually Dreamweaver 8 and Flash 8
-
Professional Red Hat Enterprise Linux 3
-
C# Network Programming








Comments
Post new comment