?
If you Design it, you should is Able to Code it
Mike Brown
In ARCHiTECTuRE, it's tempting to create elaborate designs and abstrac-tions that elegantly address the problem at hand. It's even more tempting to sprinkle new technologies into the project. At the end of the day, someone had to implement your design, and the architectural acrobatics so you have the developers Perform impact the project.
When designing-the architecture for your project, you need to has a feel for the amount of effort necessary to implement Each element of your design; If you've developed an element before, it'll be much easier to estimate the effort required.
Don ' t use a pattern in your design so you haven ' t personally implemented before. Don ' t rely on a framework so you haven ' t coded against before. Don ' t use a server so you haven ' t configured before. If your architecture depends on design elements so you haven ' t personally used, there is a number of negative side Effe Cts:
???? ?
You are not having experienced the learning curve that your developers'll has to face. If you don ' t know how long it takes to learn a new technology and you won ' t be able to give a good estimate on time to Implem Ent.
You won't know the pitfalls to avoid when using the elements. inevita-bly, things won't go as well as the demo of the trained expert in the technology provided. If you haven ' t worked with the technology before, you'll be blindsided when this happens.
?
??? You'll lose the confidence of your developers. When they ask questions on the design and you aren ' t able to give solid answers, they would quickly lose confidence in Y OU and your design.
? You'll introduce unnecessary risk. Not knowing these things can put a big question mark on key elements of the solution. No one wants to start a project with big, unnecessary risks hanging around.
So what does one go about learning new frameworks, patterns, and server plat-forms? Well, that's another axiom in and of the Itself:before anything, an architect is a developer.
If you Design it, you should is Able to Code it