- First Thing to Consider
- what is the goal? ask why we are doing it?
- does it bring value to business?
- don’t just use technology because it’s cool!
- Design Goals
- meets requirements
- reliable
- maintainable and operable (sustainable delivery of valuable, working
software)
- scalable
- Design it twice
- write down two designs, each with pros and cons, then perhaps there
will appear a third design with combined pros and less cons
- Architect great design rather than just working codes, then writing
comments should be fun since that’s how you identify the best
design
- Reduce complexity by adding or removing abstraction
- Start with writing documentation, ask for feedbacks as early as
possible
- Designing new process that is easy to sell to the Team!
- familiar technology
- easy to pick up
- improves dev experience, should improve the overall developer
experience rather than damaging developer experience