Strategy provides overall guidance for practice, for difficult projects (such as software projects), or for competitive purposes
Strategy is often the key to winning because there is competition between time, quality, scope, and cost in software. Be sure
Note that the policy comes from a problem. A policy that has no problems is the root cause of the problem. Below, we have designed four
Elements to derive four issues as the basis for discussing the corresponding strategies. This process of thinking can also become ours.
Examples of other architecture problems. First, we will summarize the key points into the following table.
No. Key issues hazards Policies key points
1. are important non-functional requirements missing?
The requirements are not systematic and comprehensive, and the non-functional requirements are not paid enough attention. Resulting in rework, project failure, comprehensive understanding of the demand to make up for the lack of non-functional requirements
2. Whether to adapt to the conflict between time and quality due to a large number of and frequently-changing demands. The solution is insufficient and the handling is hasty. It takes a lot of time, and the quality is not high. The key requirement determines that the architecture is too rough to meet the practical requirements.
3. Can you calmly design different aspects of the architecture? The coverage of the architecture design scheme is seriously insufficient. many key decisions may be delayed, or the Implementation personnel warehouse
Promotion decisions. Chaotic development and low quality multi-view exploring the basis for architecture architects to develop systematic teams should provide guidance and restrictions to different stakeholders
4. Is it possible to verify the architecture scheme as soon as possible and make adjustments to the hypothetical Architecture Scheme feasible? problems are not found until later stages, resulting in large-scale rework.
This causes rework. If the project fails, the architecture design scheme should be verified as soon as possible to address major technical risks and the architecture should be verified as soon as possible.
Based on this table, we will discuss the corresponding policies for each key point:
1) fully understand the needs
Since the software architecture emphasizes the whole, the overall design decisions must be based on a comprehensive understanding of the needs, so comprehensive
Understanding requirements is the first requirement of software architecture.
However, a comprehensive understanding of the needs is not equal to the "one-click-all", but needs to be sorted out clearly.
The requirements are clearly understood. To fully understand the needs, we need to examine the needs from different levels.
Organization level, user level, and development level. You also need to consider different types of functional requirements, quality attributes,
Constraints, as shown in.
On the one hand, the demand is hierarchical. For the user's senior management, it is to help them achieve the business goal, and the end user
To help developers complete their daily work, there are more users who are not aware of the need to implement
Now.