Ten Commandments of Successful Software Development

I. Thou shalt start development with software requirements.
II. Thou shalt honor thy users and communicate with them often.
III. Thou shalt not allow unwarranted requirements changes.
IV. Thou shalt invest up front in software architecture.
V. Thou shalt not confuse products with standards.
VI. Thou shalt recognize and retain thy top talent.
VII. Thou shalt understand object-oriented technology.
VIII. Thou shalt design web-centric applications and reusable components.
IX. Thou shalt plan for change.
X. Thou shalt implement and always adhere to a production acceptance process.


A Software Architect

  • A software architect lives to serve the engineering team — not the other way around.
  • A software architect is a mentor.
  • A software architect is a student.
  • A software architect is the code janitor. Happily sweeping up after the big party is over.
  • A software architect helps bring order where there is chaos, guidance where there is ambiguity, and decisions where there is disagreement.
  • A software architect codes the parts of the system that are the most precious and understands them through and through.
  • A software architect creates a vocabulary to enable efficient communication across an entire company.
  • A software architect reads far more code than he or she writes — catching bugs before they manifest as systems change.
  • A software architect provides technological and product vision without losing sight of the present needs.
  • A software architect admits when he or she is wrong and never gloats when right.
  • A software architect gives credit where it is due and takes pride simply in a job well done.