Hacker News new | past | comments | ask | show | jobs | submit login

Here are just a couple of things.

Often, decomposition is based on areas of domain or functionality. There are some downsides to doing it this way. The method in the book proposes it be based on areas of volatility instead. As an example, imagine writing a piece of software for FedEx shipping. What would change to use that same software for UPS instead? That may identify some areas of volatility. If you can plan that something might change, you can limit the ripple effect of those changes in future. Just an example of one benefit of doing it this way. The book explains some of how to approach designing this way.

Another point: Architecture is not just about designing the software. It is also designing the project to build that software. This involves things like critical paths, staffing, risk management, etc. Understanding these is important if you want to be able to deliver on time and on budget.




Thanks. Regarding the first point, I remember that he was very adamant that functional decomposition was a catastrophe, but I didn’t reach the part where he presented the solution, which based on your comment seems to be decomposing on volatility.

I suppose it is another tool in the box, however in the video it was about to be introduced as nothing less than a magic bullet.

Regarding the second point, I’m not sure I agree. An architect could get involved in staffing decisions and any project has a list of risks, for example I’ve maintained such lists as part of the architecture description. But I would define these these are side-tasks and not as core tasks.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: