Software Architecture Organizational Principles and Patterns

Source: Internet
Author: User
Summary and notes on the Principles and patterns of the software architecture Organization


Who is the architect? How to make the architecture well?


The main obstacle to software architecture is the organization rather than technology. Creating a practical software architecture requires in-depth technical understanding, good cognitive skills, communication skills, and a lot of hard work. However
Successful construction is not just about technical and excellent engineers. Its success often depends on senior managers, supervisors, and implementers (the implementers of the architecture can be understood as product developers, that is, the architecture is used for development,
People who realize the value of the Architecture) Ignore organizational factors. An outstanding technical architecture often fails because it does not fully handle organizational factors.

VRAPS (Vision, Rhythm, Anticipation,
Partnering, and Simplification) Reference
Model


The core of the VRAPS model includes five principles: Conception, rhythm, foresight, collaboration, and simplification. The model focuses on implementing and developing the organization of the software architecture.


Concept

The concept can be understood as the vision and blueprint. The architecture conception refers to the sketch of the value of the architecture. In reality, it is often manifested in the description and expectation of the main functions and characteristics of the architecture.
Architect: the architect is responsible for analyzing ideas and designing Implementation ideas. "As an architect, more means how to balance
Business, Organizational Operations, and technology, not just technical details. Architects are more like managers than implementers. Architects must focus on the world of product developers and end customers, and on the architecture and business.
Group fields.

Vision challenges: not all people with architect titles have a substantial impact on the architecture and may need to find a new one in an organization, only then can we find out who has assumed the role of "Architecture Vision viewer,
It may be the CEO of a startup software company, or a product/product line manager, Senior Manager, or a group of senior developers. Many factors affect the consistency of architecture ideas (there is no conflict). Some of these factors are architect's
Beyond the control of the architect, there are many other factors that are critical to ensuring the success of the Architecture conception.

When there is a disagreement between the architect and the creator of the conception, or between the initiators of the conception, it means that the conception is unstable.

 

Criterion 1: ensure that the concept is consistent with the objectives expected by the initiator, user (the user of the architecture, that is, the product developer), and end customer (the customer of the final product ).
1. Antigravity
Module

Implement functional features that seem good but cannot be implemented for various reasons. For example, the anti-gravity device can be implemented well, but it must break the laws of physics.
2. The Front-End of the mode complies with the Front-End
Alignment

Handle how to correctly add new features to the architecture, especially for more radical goals.

Guideline 2: the implementers (Architecture users, namely product developers and end customers) Trust and use the architecture.

1. Anti-pattern followers Trend
Surfer

Following the trend will erode the structure of the architecture and disrupt ideas. If all departments of the organization (such as senior managers, sales, marketing, customer service, and design departments) fail to reach a basic consensus on ideas and product development directions
Configuration or affect the behavior of the Organization. New technologies in the market, new functions of competitors, and new demands of customers will drive the development of architectures in different directions.
2. Constructive ideas of the model Generative
Vision

How to outline constructive ideas for the architecture. Resist the temptation to create an omnipotent architecture. Planners should limit their ideas to more functional or business needs, so that architects are concerned with implementation issues (both package
Including technical implementation and business design ). Architects should not trust the opinions of senior managers in implementation, but should pay more attention to what the senior manager wants.

Criterion 3: Dissemination of potential architecture knowledge

An excellent architecture may be used improperly and has many problems. A general architecture may also be used well. The key lies in the need for the users of the architecture to clearly define the ideas (potential knowledge) of the architecture and guide the users
Use this idea.
1. The anti-pattern is from Following
Orders

It means that a team member only focuses on his or her own tasks and responsibilities, does not intend to serve as a disseminator of architecture ideas, and does not consider how his or her achievements are used by others.
2. Mode Rotation
Rotation

The key is to achieve a spiral rotation rather than a plane ring. Role: To avoid vacancies and loss of potential knowledge caused by the departure of local protectionism; to improve the dissemination of potential knowledge; to improve the ability of team members. Negative
FACE: new and challenging jobs may cause pressure and threat to some people, the cost of work rotation, and the insertion of airborne troops from the middle of the spiral, which may lead to dissatisfaction among old employees.


Rhythm

Maintain a normal pace between speed (Progress), content (including functional features), and quality. Breaking this balance means that it is abnormal and may cause a series of cross-impact risks to become a reality. Chivalrous
Can be understood as a series of main release, Secondary release, defect modification and other activities.

Criterion 1: Managers reevaluate, synchronize, and adjust the architecture on a regular basis
1. Anti-pattern Killer features Killer
Feature

It refers to some of the features that the management sees as crucial. It breaks the normal pace, so that the focus of all parties is highly focused on this, and the development team is struggling to cope with it, and may even affect the development direction of the architecture. Often in a hurry
Causes many problems. Killer features can be added to the architecture, but do not break the established pace for detailed evaluation and analysis.
 
2. Mode Release Committee

Select candidates from various teams to set up, regularly assess risks for each Release in the cycle, and develop solutions.
Avoid quarreling and complaining meetings.

Variant: Release representative committee. When many members of the publishing Committee have great differences, regular meetings will surely become the focal point of quarrel. At this time, representatives can be extracted from the release committee to set up the release representative committee, on behalf
For the release committee, so that some differences can allow representatives to evaluate internally and reach an agreement.

Guideline 2: The Architecture team has a high degree of confidence in the progress and content of the Architecture Release

1. reverse mode Short Circuit Shortcut

When the architecture team feels unable to maintain the pace, it will cut down the process to make up for it, which may easily cause some problems to be exposed in the subsequent stages and increase the correction cost.
2. Mode discard ball forward Drop
Pass

Playing football will affect the running speed, and there are no players in the front. At this time, you can throw the ball to the rear teammates and let them go. Sometimes, in order not to affect other teams, some features and defects may need to be abandoned.
And perform Release according to the pace.

Criterion 3: clear activities through rhythm coordination
1. reverse mode cracking Loading
Broken Loads

For example, on the eve of integration, there are many problems in each part to be integrated. Cracking loading is a signal that the pace has been damaged. Integrating all the problematic parts is more costly than expected. For example, Daily
Build, occasional failure may not be a major event, but if it appears repeatedly, it is a problem that must be solved.

2. Synchronize is released in synchronous mode.
Releases

Measures to ensure and accelerate Release between various collaboration parts.

... Unfinished

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.