Architecture and Technology
Learn the role and importance of technology in architecture.
True value of software
Let us think for a moment about what makes the software system a valuable asset. One straightforward characteristic is the system’s use; a program that meets users’ expectations and solves designated problems is invaluable. For commercial solutions, profitability also matters. Let us dig into this area more since the primary focus of this course (enterprise systems) have monetary value most of the time.
In the simplest form, we have the following formula for profit:
This formula tells us a fundamental fact; you can sell commercial software, but unless revenue covers costs, it will not help your profitability. A big part of this course pays close attention to cost reduction in software development for precisely this reason.
Examples of costs include the price to build software, maintain it, and host it. Without carefully considering factors like these, you cannot claim that the program is profitable or commercially valuable.
For example, a SaaS (Software as a Service) can be producing a $100 income per month. Is it a valuable asset? Probably yes, since it delivers revenue. Let us add to the story that its implementation requires one million dollars, and it costs around $200 per month to host in the cloud. I think those additional inputs make this SaaS not so valuable anymore.
Therefore, the real value of the software system is based on its usefulness and its development as well as maintenance costs.
This conclusion was an important milestone before I continue to subsequent sections.
Next, we will see how technology choices impact the value of the delivered software.
Is technology king?
I often hear that “technology is a king” in software architecture. I need to disagree with that. Technology comes and goes as it becomes stale. It cannot be king in the game because it frequently loses value.
When technology becomes stale, and we want to replace it, we usually rewrite software systems. That action is a significant investment that drops down ROI for any software development project. If you need to rewrite a program every couple of years, that cost overhead drags down the system’s overall value. Recall the previous chapter to understand my point; every cost overhead negatively affects profit.
If you followed my ...