Challenge Assumptions-especially Your Own

Source: Internet
Author: User

?

Challenge Assumptions-especially Your Own

Timothy High

Wethern's Law of SuSpEndEd judgment states (in a rather tongue-in-cheek fashion) that "assumption are the mother of all SC Rew-ups. " A more popular-take-on-this would is, "Don ' t assume-it makes an ' ' the ' u ' and ' Me '." If you're dealing with assumptions that could cost thousands, if not millions, of dollars it's not always a Laughin G matter.
Best practices in software architecture State so should document the rationale behind each decision this is made, ES Pecially When this decision involves a tradeoff (performance versus maintainability, cost versus time-to-market, and so O n). In more formal approaches, it's common to record along with each decision the context of that decision, including the "Factors" that contributed to the final judgment. Factors may is functional or nonfunctional requirements, but they also could just be "facts" (or factoids ...) that the deci-s Ion-makers found important (technology constraints, available skill sets, the political environment, etc).
This practice is valuable because listing these factors helps highlight assumptions so the architects may has that Affe CT important decisions about the software being designed. Very often these assumptions is based on "historical reasons," opinion, developer lore, Fuds, or even "something I heard In the hallway ":
? "Open source is not reliable."
? "Bitmap indexes is more trouble than they ' re worth."
? "The customer would never accept a page that takes five seconds to load."
? "The CIO would reject anything that isn ' t sold by a major vendor."
?
?? It is important to make these assumptions visible and explicit for the sake of posterity and for future re-evaluation. However, it's even more critical to make sure that any assumptions this aren ' t based on relevant empirical evidence (or a Confirmation from the people involved, for political factors) being validated before a decision is finalized. What if customers can wait five seconds for criti-cal reports if you provide a counter? In exactly how is exactly which open source project unreliable? Tested the bitmap indexes on your data, using your application ' s transactions and queries?
And Don ' t overlook the word "relevant." Something that is true in a older version of your software may is true today. The performance of bitmap indexes in one version of Oracle may isn't being the same as in another. A older version of a library may has had security holes that has already been fixed. Your old reliable software vendor is on it last legs financially. The tech-nology landscape changes every day, and so do people. Who knows? Maybe your CIO has become a closet fan of Linux.
Facts and assumptions is the pillars on which your software would be built. Whatever They is, make sure the foundations is solid.

Challenge Assumptions-especially Your Own

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.