Software Architecture-delimiting boundaries

Source: Internet
Author: User


Boundary, is a certain range of clear distinction, with the boundary, there is a scope, there is scope for the work of the goals and tasks. The clarity of boundaries is the basic basis for defining responsibility and controlling costs. Imagine a job with no boundaries and no scope, so how can you possibly finish the job. The boundaries of the software are some limitations on our software, and we can make sure that our software is done on the basis of this boundary.

Formally, the frontier originates from two aspects, the first of which is the boundary of the contract, which is established in terms of contract or agreement (including oral). such as contracts or agreements with customers. Second, is the invisible boundary, this boundary has no clear contract, the boundary is delineated by you personally.

Clear the boundaries of the contract, there is a clear explanation, usually fixed in the form of words, the two sides signed, such a border is available, there is accountability, as long as within the scope of the contract, there is evidence to follow; who is responsible for the violation, so the contract for the key issues are made clear agreement, Of course, it's better to write specific questions. Unfortunately, the contract or agreement can not be exhaustive, and it is impossible to agree on everything, so this clear boundary is fuzzy boundary, and fuzzy boundary is an obstacle to the implementation of the work. Fuzzy boundaries will lead to responsibility is unclear, the responsibility is not clear to each other, the dispute will waste time, manpower, increase the cost of investment, on the other hand, will make the other side of the impression of a large discount, communication difficulties, efficiency, and then drag progress, increase cost input. For software, time is money, in addition to the agreed date of the contract, there is the pressure of their own investment. You know, the actual cost of a month is to see more than twice times the salary, and this fuzzy boundary drags more than one person, but a team. is to step back and say, do not calculate cost loss, save the time of wrangling, let team personnel to learn to enhance the technical level, in the team in the individual, are good. So, if possible, make a clear contract boundary for anything that might cause wrangling. One of my friends, do the basic platform products, he sold the products to third party customers, third party customers on the basis of platform products to do two development, sold to the final customer, in addition to the contract, support time and guarantee the final line and other conventions, there is no other contractual provisions, so the problem comes, any and product is not a thing, Including the development of the upper level, each other asked him to do, if he did not do, the other side said his products have problems, drag the project online. If the project cannot be successfully launched, is a breach of contract, in addition to making money, but also to 倒赔 a large amount of default fee, so there is no way, he will all personnel to the scene, to do a third-party contractor, to the third party did a real "slave" ...

The invisible boundary, is said that does not have the explicit contract the stipulation, is in the software realization time, you grasps the degree. The so-called "too far", less than, naturally not, you do not reach the established goals, this is not clear the boundaries of the contract so accepted. But "over" is also harmful. Too natural is excessive, excessive is to do outside the contract does not need, does not concern even the useless work, these work in addition to waste the cost, may also affect the work the smooth advancement. Let's call it "over development"; I know a person, he led a project, the project contract period of 6 months, because it is the first to take over the project, very want to performance, thought that later projects come to pave the way. The client said, now we need to meet 300 concurrent, may need to upgrade in the future, that is the future. So in order to perform, blockbuster, he decided to adjust the concurrency to 1000. In order to win the project behind, there are interfaces (interface-oriented programming) everywhere. , Everywhere is common code development (is to better expand, and draw out the common code, application design pattern), the result, the time is over, haven't seen the shape of things, this kind of excessive development directly affected the fulfillment of the contract, resulting in the bankruptcy of reparations. There is also an example of my friend's company, each contact found that he is in the field of support, I asked him why has been in the field, he said, the project a lot of problems. Originally, when JSF first appeared, his leader thought it was a good thing and decided to take the lead in the project for future competitors. Unfortunately, that is the JSF is not stable, so a variety of problems inexplicably appear, have to resident customers to solve the problem, in addition to causing customer complaints, but also make support costs significantly increased, affecting the contract travel. Of course, it also has a very old technology to achieve the project, resulting in a long development cycle, performance can not keep up, the system to show the old problems.

Therefore, must control the boundary, especially the invisible boundary.

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.