Tuesday, February 17, 2009

Elegant? Or under deadline, under budget, just works?

Post on The Daily WTF

Only a select few get paid to develop “sexy” software, whereas most of us are stuck developing the boring stuff.

There’s a term for this type of boring software: information systems. And while the purpose of an information system changes from company to company, as do the specific requirements, they all are essentially the same. There’s a database that models the real world, rules to define how the data may be changed, an interface to the database, and lots of different reports.

As Michael A. Jackson said in his 1975 Principals of Program Design, “Programmers… often take refuge in an understandable, but disastrous, inclination towards complexity and ingenuity in their work. Forbidden to design anything larger than a program, they respond by making that program intricate enough to challenge their professional skill.”

This thirty-five year-old observation is confirmed day-in and day-out here on TDWTF. Some of the most egregious code and stories written here stem from the developer’s desire for cleverness. Carrying out these desires is neither malicious nor devious, but merely instinctual.

Essential rules that must be followed when developing business information systems:
  1. Learn the business
  2. Serve the business
  3. Learn off the job
  4. Code mostly business
  5. Tedium is inescapable
  6. Find satisfaction elsewhere
  7. Get another job

No comments: