13.07.2015 Views

Java™ Application Development on Linux - Dator

Java™ Application Development on Linux - Dator

Java™ Application Development on Linux - Dator

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

268Chapter 11Balancing Acts: An Imaginary ScenarioSounds more formal, and more specific, but is it realistic (i.e., attainable)?If the “butt<strong>on</strong> press” is <strong>on</strong>e that updates a database across a network, what effectwill network traffic have? What about the size of the operati<strong>on</strong>? If the butt<strong>on</strong>press starts an operati<strong>on</strong> that is dependent <strong>on</strong> the size of some data set, what’sthe largest it could be and how l<strong>on</strong>g will that take?Depending <strong>on</strong> how obsessive you or some colleague will be in enforcingthese requirements, you would do well to add a few “weasel words” to give yousome flexibility in the requirements. Phrases like “<strong>on</strong> average” or “most” willhelp. Notice, though, that such words are also the cause of much ambiguity,working against the “Specific” and “Measurable” aspects of good requirements.Use them sparingly, if at all.We should also c<strong>on</strong>sider the “testable” aspect of our requirement for speed.Will we be able to measure this? Can we do so repeatedly? C<strong>on</strong>sider the effectof network traffic <strong>on</strong> resp<strong>on</strong>se times. Under what network load will the testsbe d<strong>on</strong>e and the real usage occur? If you want to test under “normal” networkloads, how can you c<strong>on</strong>trol this (for the sake of repeatability)?It really is an art to craft good requirements. Moreover, a good requirementfor <strong>on</strong>e organizati<strong>on</strong> may not work well for another. Some teams, groups,or companies want to be very precise in their use of requirements, viewing themalmost like legal c<strong>on</strong>tracts for what will be delivered. Such requirements, however,would be greeted with derisi<strong>on</strong> in other, more informal, organizati<strong>on</strong>s.It’s not that the <strong>on</strong>e will produce good software and the other garbage (well,they might). It’s more a matter of style. Excessively formal organizati<strong>on</strong>s willdrown in the details and spend way too much time (and m<strong>on</strong>ey) arguing overthe minutiae of the requirements. Overly informal groups will get sloppy withtheir requirements and not reap the benefits of building the right thing the firsttime. As is so often the case in life, the answer lies in striking a balance betweentwo forces, <strong>on</strong>e pushing for exactitude and the other pulling you to get goingand do something.So let’s keep going.11.5WHOM TO ASK FOR REQUIREMENTSThere are many people to ask about the requirements for a software project orproduct. Ask yourself the following questi<strong>on</strong>s:• Who is going to use the software that you develop?

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!