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 »
Social Responsibility's Strategic Benefits
December 15, 11:30 AM - 12:30 PM US/Eastern (GMT-5)
Join Ed Granger-Happ, CIO of Save the Children, for a discussion of how creating an organization that is socially responsible improves staffing, retention, leadership development and overall corporate health.
Working With and Communicating to Your Board of Directors
January 13, 2009, 4:00 PM - 5:00 PM US/Eastern (GMT-5)
CIO panelists who will share tips and experiences working with their boards: Twila Day of SYSCO; Jeff O'Hare, West Corp.; Marc West, formerly with H&R Block.
IT's Role in Growing Mid-Market Companies
January 14, 4:00 PM - 5:00 PM ET (GMT-5)
Mid-market Council members will share their companies' stories and challenges in driving or coping with growth. Panelists represent Veterinary Pet Insurance, Medicis Pharmaceutical, and Intrax Cultural Exchange.
Learn more about the CIO Executive Council »Apply today for a FREE subscription to CIO Magazine!
May 29, 2008 — CIO — 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.
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.
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.
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."
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.