- Developers buy into a familiar lie: “We can clean it up later; we just have to get to market first!” Ofcourse, things never do get cleaned up later, because market pressures never abate.
- Software was invented to be “soft“. It was intended to be a way to easily change there behaviour of machines.
- If you ask the bussiness managers if they want to be able to make changes, they’ll say that of course they do, but may then quailfy their answer by noting that the current functionality is more important than any later flexibility.
- Remember, as a software developer you are a stakeholder. you have a stake in software that you need to safeguard. Thats part of your role and part of your duty. And it’s a big part of why you were hired.
- The goal of the principles is the creation of mid level software structures that:
- Tolerate change
- Are easy to understand
- Are the basis of components that can be used in many software systems
- A software architect is a programmer and continues to be a programmer.
- The architecture of a system should make that system easy to develop for teams.
- A succesful solution requires you to understand the problem and create a vision that can be communicated to everybody incolved with the construction of the end-product. Architecture is about structure and vision.
- Its anything and everthing related to significant elements of a software system; from the structure and foundations of the code through to successful deployment into a live environment.
- Architecture represents significant design decisions that shape a system, where significance is measured by cost of change.
- What is important, what do we as technical leadership of the project consider to be most important things?
- Significant decisions are architecture and that everthing else is design.
- All architecture is design but not all design is architecture.
- Architecure is shared understanding between the people who are leading the project.
We need to put less effor on quality so we can build more features for our next release.
- Sofrware architecture is important for moral reasons, we need to do a good job, we need to be craftsman. Unfortunately if you take that line, you have lost. Because you are making a batte between craftsmanship and economics. Economics always wins. If you want to say why architecture is important, you have to cast it in economic terms.
- Quailty is something i can trade-off the cost. But, quailty in software means a whole bunch of different things and ome of these things are user, manager or customer can see them but some of them they cant. Architecture is about internal quailty is not directly visible.
- Internal quailty is more long-term picture.
- Software architecture is important because if I buy the product thats hundred dollars cheaper and has low internal quailty, I win at the moment.