4
Dec/081
Dec/081
97 Things Every Architect should know
As spoken by Richard Monson-Haefel at the Java User Group Meeting put on by TekSystems.
We covered ten general themes in the short amount of time we had.
- The user interface is critical
- The user interface is what the user sees, it is where the rubber meets the road. It should empower the user to do his/her job.
- For the end-user the interface is the system
- Nothing Lasts
- Cobol, Smalltalk, Waterfall, nothing in software lasts. Chances are if you think it will last you just need to wait longer.
- Data is forever
- Relational databases have been around a long time. Go with what works.
- Its all about the data
- Flexibility breeds complexity
- Something that is flexible is almost always complicated, but if something is designed to be simple it can be flexible.
- Manage your expectations
- Know that you can't have everything, and prepare for it
- Architectural Tradeoffs
- Know thy business
- The business is key to making great decisions in architecture. You have a responsibility to know all of aspects of the business side and technical side. Similar to a CIO but you get paid a lot less.
- Understanding the business domain
- Maintain the vision
- Software architects should also be coders
- Take some time every week to sit down with the coders. You will figure out what their pain points are and it will help you make better architectural decisions.
- Share your knowledge and experience
- There is no substitute for experience
- Creating software is a trade. It is learned over time, and best learned by working with great people. It is similar to being a plumber or an electrician. You go to class for a little bit, and then you work as an apprentice. Architecture is no different.
The list in its entirety can be found at
November 22nd, 2009
Great stuff Jon!