Page 273 - Software and Systems Requirements Engineering in Practice
P. 273

ç         ç   3 O F T W A R E ç   ç 3 Y S T E M S ç 2 E Q U I R E M E N T S ç % N G I N E E R I N G   ç ) N ç 0 R A C T I C E


                         %XPLORATORY  PROTOTYPES  ARE  USED  WHEN  THE  FUNCTIONALITY  IS
                      EVOLVING OR BEING DISCOVERED DURING THE PROJECT  !GILE APPROACHES SUCH
                      AS 3CRUM ;3CHWABER ET AL      = MAY WORK WELL ON SOFTWARE PROJECTS FOR
                      SUCH SITUATIONS  WHERE THE FUNCTIONALITY IS ADDED INCREMENTALLY  3CRUM
                      MAY  BE  APPLIED  BOTH  TO  EARLY  PHASE  ACTIVITIES  SUCH  AS  FOR  RAPIDLY
                      DEVELOPING A THROWAWAY PROTOTYPE  OR DURING IMPLEMENTATION WHERE
                      THE DEVELOPMENT IS BROKEN DOWN INTO MONTHLY SPRINTS

                    õ 7HENõTOõ0ROTOTYPE
                      2APID PROTOTYPING IS GENERALLY USED WHEN REQUIREMENTS ARE NOT WELL
                      UNDERSTOOD   AND  THERE  IS  A  NEED  TO  BETTER  UNDERSTAND  WHAT  THE
                      ENVISIONED PRODUCT WILL DO  E G   BY VIEWING THE USER INTERFACE  4HE
                      PRIMARY GOAL OF PROTOTYPING IS TO ANSWER SPECIFIC QUESTIONS REGARDING
                      THE TARGET SYSTEM  AND IN DOING SO TO DECREASE THE COMPLEXITY AND RISK
                      INVOLVED IN ITS IMPLEMENTATION  ,ACK OF CLARITY ABOUT WHAT THE SYSTEM
                      SHOULD DO  EITHER DUE TO ITS NOVELTY  OR DUE TO STAKEHOLDER CONFLICTS  OR
                      DUE TO A SHIFTING COMPETITIVE LANDSCAPE  INCREASES THE COMPLEXITY AND
                      THE RISK THAT SIGNIFICANT CHANGES WILL BECOME NECESSARY IN LATER STAGES
                      OF THE DEVELOPMENT LIFE CYCLE
                         7E RECOMMEND PROTOTYPING AS A GOOD WAY OF QUICKLY EVOLVING
                      FROM  FUZZY  HIGH LEVEL  REQUESTS  TOWARD  REALISTIC  AND  VIABLE  SYSTEM
                      AND FEATURE REQUIREMENTS  0ROTOTYPING IS COMMONLY USED AS A WAY TO
                      VALIDATE  TECHNICAL  SOLUTIONS  OR  TO  EXPLORE  AN  UNKNOWN  PROBLEM  OR
                      ENGINEERING DOMAIN  0ROTOTYPING IS ALSO USED VERY WIDELY THROUGHOUT
                      ENGINEERING  AND  MANUFACTURING  ORGANIZATIONS  TO  VALIDATE  FUTURE
                      PRODUCTS OR PRODUCTION PROCESSES  )N MANY CASES  SOFTWARE PROTOTYPING
                      IS A LOWER COST ALTERNATIVE TO PRODUCING REAL PHYSICAL PROTOTYPES  AND
                      SOFTWARE  PROTOTYPES  ARE  OFTEN  SUFFICIENT  FOR  REPRESENTING  MANY
                      FUNCTIONS
                         &ORMAL REQUIREMENTS INSPECTIONS COUPLED WITH PROTOTYPING ARE
                      EFFECTIVE IN REDUCING REQUIREMENTS DEFECTS ;*ONES     =  (OWEVER
                      THE SIZE OF PROTOTYPES BECOMES AN ISSUE  SEE THE FOLLOWING h0ROTOTYPING
                      AND 3IZEv SIDEBAR   )F THE SIZE OF THE PROTOTYPE IMPLEMENTS LESS THAN
                      ABOUT      PERCENT  OF  THE  TOTAL  APPLICATION   THE  PROTOTYPE  CANNOT
                      REPLICATE MANY OF THE KEY FEATURES  "UT FOR VERY LARGE SYSTEMS IN ABOUT
                      THE         FUNCTION POINT RANGE  A    PERCENT PROTOTYPE WOULD BE A
                      MAJOR SYSTEM IN ITS OWN RIGHT  4HEREFORE  PROTOTYPING BECOMES LESS
                      EFFECTIVE  FOR  VERY  LARGE  APPLICATIONS  SUCH  AS  %20  PACKAGES  IN  THE
                              FUNCTION POINT RANGE ;*ONES     =
                         3OME EXAMPLE AREAS WHERE PROTOTYPING SUPPORTS REQUIREMENTS
                      ENGINEERS ARE GIVEN UNDER THE HEADINGS THAT FOLLOW
                      %ARLYõ2EQUIREMENTõ%LICITATION
                      4HE INITIAL REQUIREMENT ELICITATION FOR PROTOTYPING TASKS IS GENERALLY
                      SIMILAR TO THE APPROACH OF MANY AGILE METHODOLOGIES  4HE TASKS MUST
                      BE STRUCTURED AROUND SPECIFIC SCENARIOS OF INTEREST  AND IN THE CONTEXT
   268   269   270   271   272   273   274   275   276   277   278