Thursday, August 27, 2009

software-architecture-in-practice-chapter-4

What is considered quality software? Many people have a set quality attributes that systems must exhibit such as efficiency, reliability, security, maintainability, adaptability, sustainability, modularity, portability. In complex system it is nearly impossible to achieve quality attribute in isolation because meeting one attribute might have negative impact on the others. The importance of each quality attribute depends on the system and the author emphasizes the need of considering quality attributes at the architecture level and throughout the design, development and deployment of the system.
The must important attributes are usability, Modifiability and performance.
Usability refers to the user friendliness of the system. What does user friendly mean? Different users have different taste and different levels of computer and learning skills. So it is difficult to understand usability. We can try to understand how usability is defined for the product and the people who will use it. But there will always be unsatisfied users.
The rest of the qualities in the book are described in details with various scenarios that ease understanding.

From my own practical experience, business qualities are increasingly becoming important. Cost and schedule are the driving forces of many architecture decisions. Companies keep trying to build better products with less cost and aggressive schedule. So Attributes like “time to market” and “cost and benefit” presented as generalities in the book are actually very important attributes in many organizations.

No comments:

Post a Comment