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

A

                                           ç
                                                     D
                                                      ç
                                                   P
                                                    I
                                          R
                                                                               S
                                     H
                                                                            U
                                                                             E
                                        T
                                         E
                                      A
                                       P
                                                       $
                                                                     4
                                                                      E
                                                                   T
                                                                    ç
                                                                       C
                                                                          I
                                                                           Q
                                                                        H
                                                                         N
                                                           E
                                                            L
                                                        E
                                                          V
                                                             O
                                                                 E
                                                                  N
                                                              P
                                                               M
        ç ç                        # # H A P T E R ç     ç ç  2 2 A P I D ç $ E V E L O P M E N T ç 4E C H N I Q U E S ç ç
                      REQUIREMENTS  AND  POTENTIAL  SOLUTIONS   &OR  WEB  APPLICATIONS
                      DEVELOPING AN EXECUTABLE PROTOTYPE CAN EVEN BE FASTER AND CHEAPER
                      THAN DEVELOPING A VISUAL BUT NONEXECUTABLE PROTOTYPE
                         %XECUTABLE PROTOTYPES CAN BE CLASSIFIED ON SEVERAL DIMENSIONS  !
                      COMMON DECISION IS WHETHER THE PROTOTYPE IS GOING TO BE A THROWAWAY
                      OR  AN  EVOLUTIONARY  STEP  TOWARD  THE  FINAL  PRODUCT   4HIS  DECISION
                      DEPENDS  ON  A  NUMBER  OF  TECHNOLOGICAL  FACTORS   INCLUDING  ACTUAL
                      TECHNOLOGY SELECTION  TECHNOLOGY SUPPORT FOR QUICK CHANGES  AND HOW
                      FAMILIAR  THE  DEVELOPERS  ARE  WITH  THE  IMPLEMENTATION  TECHNOLOGIES
                      AND  TOOLS   4HE  MOST  IMPORTANT  FACTOR  IN  DECIDING  WHETHER  AN
                      EVOLUTIONARY PROTOTYPE OR A THROWAWAY ONE IS THE BETTER APPROACH IS
                      BASED ON THE CURRENT MATURITY OF THE EXISTING SET OF REQUIREMENTS  )F
                      THE  REQUIREMENTS  ARE  VERY  FUZZY   IT  IS  HIGHLY  IMPROBABLE  THAT  THE
                      MAJORITY  OF  ARCHITECTURE  AND  DESIGN  DECISIONS  MADE  DURING  THE
                      PROTOTYPING  PROCESS  WILL  BE  APPLICABLE  TO  THE  ACTUAL  PRODUCT
                      DEVELOPMENT
                         "RANCH PROTOTYPES ARE THE MOST COMMON TYPE OF PROTOTYPING USED
                      BY MANY SOFTWARE DEVELOPMENT ORGANIZATIONS  ! BRANCH PROTOTYPE IS
                      CREATED  EVERY  TIME  A  DEVELOPMENT  TEAM  STARTS  TO  WORK  OUT  SOME
                      UNCERTAIN  ISSUE  BY  MODIFYING  THE  EXISTING  PRODUCT  CODE  WITHOUT
                      NECESSARILY  PLANNING  TO  ADD  THE  CHANGES  TO  THE  PRODUCT   )F  THE
                      PROTOTYPING WORKS OUT AND THE SOLUTION IS DEEMED SATISFACTORY  THE
                      PROTOTYPE IS GENERALLY CLOSE ENOUGH TO THE MAIN DEVELOPMENT TRUNK
                      THAT IT CAN BE MERGED BACK WITHOUT LARGE DISRUPTIONS  )N MANY CASES
                      THE MAIN BENEFIT OF A BRANCH PROTOTYPE WILL BE THE IDEAS AND KNOWLEDGE
                      GAINED  AND THESE MAY BE APPLIED DIRECTLY IN THE DEVELOPMENT OF THE
                      PRODUCT  WHILE MAKING SURE TO HARMONIZE THEIR USAGE WITH THE SYSTEM
                      ARCHITECTURE  OR ADJUSTING THE ARCHITECTURE  IF REQUIRED
                         #REATION OF FULLY EXECUTABLE PROTOTYPES IS OCCASIONALLY REQUIRED IN
                      ORDER  TO  UNDERSTAND  THE  TECHNOLOGICAL  VIABILITY  OF  THE  PLANNED
                      SOLUTIONS   )N  SUCH  SITUATIONS   IT  IS  VERY  ADVANTAGEOUS  TO  DEVELOP  A
                      REALISTIC TARGET SCENARIO ON TOP OF THE VIABILITY PROTOTYPE IN ORDER TO
                      CREATE A FULL VERTICAL SLICE OF THE TARGET SYSTEM IN THE TARGET TECHNOLOGY
                      ;0AULISH     =  4HIS DOES NOT REQUIRE THE PROTOTYPE TO BE EVOLUTIONARY
                      EVEN  THOUGH  MANY  LESSONS  FROM  THE  PROTOTYPE  WILL  PROBABLY  BE
                      CARRIED INTO THE IMPLEMENTATION  AND SOME OF THE CODE MAY EVEN END
                      UP BEING REUSED
                         4HE PRIMARY DRIVER FOR REQUIREMENTS ELICITATION USING PROTOTYPING
                      TECHNIQUES IS TO GATHER USEFUL INFORMATION AS EFFICIENTLY AS POSSIBLE  )N
                      SOME SITUATIONS  A SIMPLE PROTOTYPE CAN SERVE AS AN INTERMEDIATE STEP
                      IN  COLLECTING  INFORMATION  THAT  WILL  HELP  CREATE  A  MORE  COMPLEX
                      EXECUTABLE PROTOTYPE THAT CAN BE FULLY EVALUATED BY CUSTOMERS  USERS
                      )N MOST CASES  THE INITIAL PROTOTYPE TAKES THE FORM OF A USER STORY OR
                      STORYBOARD  BUT IT CONTAINS ENOUGH DETAIL TO ALLOW THE ELABORATION OF
                      NECESSARY  DETAIL  FOR  A  MORE  COMPLEX  PROTOTYPE   4HIS  APPROACH  IS
                      COMMONLY USED IN AGILE SOFTWARE DEVELOPMENT PROJECTS  BUT WITHOUT
                      LOOKING AT THE USER STORIES AS A FORM OF PROTOTYPING  7E THINK THAT AS
   282   283   284   285   286   287   288   289   290   291   292