SlideShare uma empresa Scribd logo
1 de 4
Baixar para ler offline
Using Evolutionary Prototypes to Formalize Product Requirements


                Junius Gunaratne, Beatrice Hwong, Christopher Nelson, Arnold Rudorfer
                              Siemens Corporate Research, Princeton, NJ
         {junius.gunaratne, beatrice.hwong, christopher.nelson, arnold.rudorfer}@siemens.com


                        Abstract                               new software features. Though MED knew what high-level
                                                               features should be built for the demo, they found it difficult
    Boundary objects are artifacts that facilitate             to formalize how the features, the user interface (UI) and
communication and interaction between people or groups         the task flows should work. Software engineers and
functioning in different domains. Software engineers, user     usability specialists needed to collaborate due to a strong
interface designers and usability specialists have different   focus on the UI look and feel, use of new technology, and a
domain knowledge, different terminologies, and shared          very tight timeline. To facilitate communication and
terms with different, distinct meanings. Boundary objects      interaction between the two groups and the client, SCR
can help assist the process of designing software by           used an evolutionary prototype as a boundary object.
providing a common interface for communication between            This paper reports on our success of first using
professionals in different domains. The Software               storyboards—followed by an evolutionary prototype—to
Engineering department and User Interface Design Center        act as a common interface between software engineers, UI
at Siemens Corporate Research used an evolutionary             designers, usability specialists, and the client. Storyboards
prototype as a boundary object to help elicit product          are used to brainstorm and capture some initial
requirements from their client, Siemens Medical Solutions.     requirements by aiding communication between different
This enhanced communication with the client and between        domain experts. The storyboards are then replaced by the
groups at SCR. This paper describes how the evolutionary       prototype for the remainder of the project. We found that
prototype functioned as a boundary object and how it           tools such as Microsoft PowerPoint or Macromedia
allowed software engineering processes and human-              Director did not provide an artifact with a high enough
computer interaction methods to proceed concurrently           fidelity to allow for sufficient communication between
without the need for well-defined interaction points.          group members. The evolutionary prototype used J2EE
                                                               application technologies similar to the real product to help
                                                               software engineers determine implementation feasibility of
1. Introduction                                                requested features based on the real product’s software
                                                               architecture constraints. Our experience with traditional
    Siemens Corporate Research (SCR) is the Siemens            prototyping tools and the need for using real product
research and development facility in the U.S. chartered to     technologies drove us from storyboards to an evolutionary
deliver advanced technology solutions to Siemens business      prototype.
units worldwide. SCR is comprised of several groups in
different domains including Software Engineering (SE)          2. Background
and the User Interface Design Center (UIDC). Quite often
customer requests require collaboration between the                In most cases the purpose of prototyping is to quickly
different groups at SCR. Therefore it is beneficial to         create an artifact that demonstrates behavior of an intended
attempt to find methods that allow for these collaborations    product [1]. However, the purpose of our prototype
to occur in a timely and efficient manner.                     extended beyond simply demonstrating the product’s
    One such attempt started with a request from Siemens       intended behavior. A number of members expressed
Medical Solutions (MED). MED produces software                 concerns about how to appropriately translate language and
packages for managing clinical, administrative and             artifacts from one domain to another—UI designers usually
financial hospital business processes. The new visionary       do not understand UML models, and only a few software
software features are demonstrated annually at major           engineers are familiar with human-computer interaction
industry conferences. For one such conference, MED             (HCI) methods, to mention a few examples. The prototype
requested help from SCR to demonstrate some of these           as a boundary object resolves this issue by providing an
artifact understood by all team members, ensuring effective    perform tasks such as checking a patient in, assigning
communication of ideas in addition to helping facilitate       facility resources such as beds and doctors, and handling
discussion and creating estimates for development.             delinquent billing. The software needed to adhere to new
                                                               UI standards based on an unfinished, still evolving style
2.1 Prototypes as Boundary Objects                             guide. The success of their software relies heavily on its
                                                               usability due to the wide range of potential users, and the
   Boundary objects are used as a means of coordination        environment in which it is used. For this reason, it was
and alignment [2]. They serve as translators between           imperative that usability specialists at UIDC be included in
disciplines and are malleable enough to adapt to changing      the process from the start.
needs. They are working arrangements and are adjusted as          The very short amount of time available (about 10
needed, and they are neither imposed by one community,         weeks) to complete the requested features put a heavy
nor by appeal to outside standards [3].                        constraint on this project. The absolute deadline set by the
   Conventional boundary objects used in software              date of the industry conference meant that software
development include UML and storyboards. UML can               engineering and user-centered design cycles needed to run
show interaction between different components of               in parallel.
software. Storyboards can demonstrate progression of a
task and describe user interaction on a screen. Both of        3. Benefits of an Evolutionary Prototype
these types of boundary objects typically abstract software
at high enough levels to transcend the boundaries of               To demonstrate conceptual versions of the product,
disciplines, but they each lack benefits the other provides.   initially MED and SCR created a storyboard that defined
UML lends itself to use by software engineers since it         functions to be implemented. SCR asked MED questions
supports their standard needs and processes, while             about the state of the system in hypothetical situations. It
storyboards lend themselves to use by HCI specialists for      quickly became evident that the behavior and logic of the
similar reasons.                                               system could not be expressed adequately with a
   McDaniel, Olson and Olson at the University of              storyboard. A storyboard can be updated to reflect changes
Michigan studied combining SE processes and HCI                in requirements, but it is difficult to foresee the
methods through rapid prototyping and iterative design and     implications of those changes when the boundary object is
analysis, but this combination of the processes created        not interactive. The prototype needed to evolve, along with
difficulties. Software engineers tended to “respond to user    the requirements, in order for it to be a valuable artifact in
suggestions in preference to design team suggestions.”         facilitating communication throughout the entire duration
Additionally, “the interface designer’s suggestions were       of the project. An evolutionary prototype is interactive and
implemented, although not the way they were suggested.”        it allows us to experiment with the real technologies used
[4] Arguably, these problems could be avoided by               in the actual product. Interactivity allows us to better
improving project management or with more frequent             demonstrate usability problems to the client. Use of
communication. Though some communication problems              technology from the actual product shows the client
existed, this attempt shows the potential of a prototype to    implementation constraints in software architecture.
work as a boundary object.                                     Finally, interactivity and use of technologies from the
   In contrast to the study at the University of Michigan,     actual product allows MED to demonstrate advanced
some members of our UIDC staff had formal background           functionality at conferences.
in both software development and usability. Also, SCR              SCR met with MED in design review meetings every
communicated with MED on a weekly basis to give project        one to two weeks using the prototype as a discussion piece.
status reports and participate in design review meetings,      As MED requested changes on the features under
and at SCR, SE and UIDC communicated on a daily basis.         implementation, software engineers assessed the impact of
Since the two departments are down the hall from each          the changes on the architecture and design and later
other it is not difficult to have development or usability     incorporated the changes into the prototype. As SE
questions answered quickly. All of these factors helped        developed the prototype, UIDC ran usability tests on the
communication through the prototype, and the                   evolving prototype. Usability specialists searched the
development process.                                           prototype for inconsistencies in the UI. UI designers
                                                               looked for areas where the prototype’s UI did not conform
2.2 SCR’s Role in MED Projects                                 to the style guide. Issues communicated to SE through the
                                                               prototype included button placement, icon use, and when
   MED’s suite of programs is used for managing                to give feedback to the user after a task or operation is
hospitals, supporting both clinical and business-related       completed. UIDC constantly received feedback from the
workflows. It is intended for use in medical facilities to     client and software engineers about UI limitations.
Feedback to software engineers happened throughout SE’s          bed information. The initial requirements, captured in a
and UIDC’s processes without the need for well-defined           storyboard, are a collection of several screens representing
interaction points since discussion revolved around the          the different states of zooming. The storyboard mislead
prototype. While SE and UIDC ran their processes, MED            MED and UIDC by appearing to capture all feature
started validation testing to make sure the prototype            requirements. When software engineers tried to implement
evolved in the intended direction. This permitted                the storyboard they often raised questions MED and UIDC
requirements to mature quickly and kept client                   did not consider. Using the storyboards as the boundary
expectations in sync with what was going to be delivered.        object between groups left some details lost in the
   During design review meetings software engineers gain         translation of one group’s terminologies to other groups’
a greater appreciation of usability by seeing the client         terminologies.
struggle through tasks. Since usability specialists are             The storyboard lacked sufficient information for
available in design review meetings they provide feedback        software engineers to implement the zooming feature. SCR
on potential improvements. This gives usability specialists      used the prototype to demonstrate to MED how the poorly
a simple way to convey usability problems to both the            defined zooming behavior requirement created usability
client and software engineers without use of formalized          problems. If a user clicks the zoom in button, the
documents. Since software engineers and the client               application zooms in on the open hospital. If a user clicks
participate in meetings with usability specialists, HCI          the zoom in button and there is no open hospital, nothing
methods such as think aloud techniques, cognitive                happens and there is no feedback provided to the user.
walkthroughs, and heuristic evaluation are implicitly            SCR found this to be a problem, and only by seeing the
practiced without having to extensively educate software         problem manifested in the prototype did MED perceive it
engineers and the client about the methods. The client is        as a problem too.
asked to complete a task in a style similar to cognitive
walkthrough. User interface problems in the task are             3.2 Prototyping Bed Filtering
documented by both software engineers and usability
specialists in heuristic evaluation style. The client and            Beds in a hospital have a variety of characteristics that
software engineers are not immediately aware that they are       restrict their use. For example, a bed in a maternity unit of
performing a cognitive walkthrough or heuristic                  a hospital is only available to a woman. Additionally, beds
evaluation, but through the act of using the prototype as a      have different states such as being empty, occupied, dirty,
discussion piece they participate actively in the HCI            or reserved for a future patient. A bed manager typically
methods.                                                         has to check the status of hundreds of hospital beds in
   After the initial requirement definition, SCR                 order to find one that is appropriate for a particular patient.
implemented the first version of the prototype, but              Use of a bed filtering mechanism can dramatically speed
continued to maintain storyboards as an alternate form of        up the time it takes to find a bed by only displaying
specifications. MED preferred using the prototype as the         appropriate beds.
boundary object because of its strength of communication             Defining the bed filter feature’s behavior began as a
over the storyboards. The prototype became the de facto          sequence of storyboard screens and quickly moved to a
standard for defining product requirements. The                  prototype. After completing the initial implementation of
storyboard—initially driving the requirement definition—         filtering, MED met with SE and UIDC to discuss changes.
became dated and superfluous.                                    Change requests from meetings were made to the prototype
   The prototype’s implementation of hospital resource           and then discussed in the next meeting. Through such
views and filtering beds are two examples of how the             meetings SE and UIDC refined the filtering rules for bed
prototype served to bridge communication gaps in the             selection. MED did not explicitly state some rules for bed
software development process among SE, UIDC and                  filtering in the original storyboard. Only after using the bed
MED.                                                             filtering feature in the prototype did MED realize specific
                                                                 behaviors needed to be implemented. SE and UIDC
3.1 Prototyping Hospital Resource Views                          collected a number of bed selection rules as a result of
                                                                 eliciting requirements through the prototype. For example,
    One feature of the prototype is the ability to navigate      when a bed manager searches for an empty semi-private
through the hierarchical structure of an Integrated Health       bed, sometimes the state of the adjacent bed determines
Network (IHN) to view hospital information. In hospital          whether it is suitable. If a female occupies the adjacent
resource views a user can navigate the IHN and see a             bed, the empty bed is only suitable for a female. MED also
listing of hospitals. In the hospital a user can see different   did not specify initially that when an adjacent bed has a
units, rooms and beds within that hospital. It is possible to    hazard indicator, the empty bed cannot be assigned and
zoom in and zoom out on hospitals to view unit, room, and        must be blocked until the hazard is cleared. Such rules
could not be collected without the prototype. The               other at any point in their processes. The evolutionary
prototype demonstrated to MED the importance of creating        prototype provided a union of the two sets of benefits from
well-defined bed filtering rules, forced MED to fill in gaps    UML models and storyboards and permitted early testing
where rules were not complete, and it helped software           of interaction sequencing. This allowed us to quickly find
engineers refine bed filtering logic.                           problems with usability and functionality, which in turn
                                                                allowed us to quickly discover and implement solutions.
4. Lessons Learned                                              Through use of an evolutionary prototype as a boundary
                                                                object SCR quickly gathered a mature set of requirements
   At the end of our project with MED we ran a process          to create a high quality deliverable.
improvement workshop to determine what worked well,
and what did not. We learned that the prototype worked          7. References
extremely well to facilitate communication between the
groups, but we did not make use of its full potential. We          [1] K. Schneider, “Prototypes as assets, not toys: why and
have since come up with new methods to handle change            how to extract knowledge from prototypes”, Proceedings of the
                                                                18th International Conference on Software Engineering, IEEE
requests coming from the client. Our new methods use the
                                                                Computer Society, Berlin, Germany, 1996, pp. 522-531.
boundary object to capture the details surrounding the
change request. In a change request, the client or usability       [2] Star, S.L., and Bowker, G., Sorting Things Out:
specialists are forced to explicitly state how to navigate to   Classification and Its Consequences, MIT Press, Cambridge,
a screen or dialog box in a specific module in the              MA, 1999.
prototype. Software engineers, on the other hand, must
reference specific modules in the prototype when changing          [3] A. Ernesto, H. Eden, G. Fischer, A. Gorman, E. Scharff,
underlying code. This is important because both SE and          “Transcending the individual human mind—creating shared
UIDC need to do impact analysis, but the information the        understanding through collaborative design”, ACM Transactions
                                                                on Computer-Human Interaction, Vol. 7, No. 1, March 2000, pp.
two groups need to analyze requests often differs. By using
                                                                84-113.
the right boundary object, we ensure that the necessary
information for both groups is correctly captured,                 [4] S.E. McDaniel, G.M. Olson, and J.S. Olson, “Methods in
communicated and disseminated.                                  Search of Methodology—Combining HCI and Object
                                                                Orientation”, Proceedings of the Conference for Computer-
5. Next Steps                                                   Human Interaction 1994, Boston, MA, 1994, pp. 145-151.

                                                                   [5] R. Chatley, J. Kramer, J. Magee, and S. Uchitel, “Model-
   This project proved that a prototype can be used very
                                                                based Simulation of Web Applications for Usability
effectively as a boundary object between SE, UIDC, and          Assessment”, Proceedings of Bridging the Gaps Between
our client when developing a J2EE application in the            Software Engineering and Human-Computer Interaction at
Health Services domain. We intend to apply the same             ICSE’03, Portland, OR, 2003, pp. 5-11.
techniques to future projects with different technologies in
different domains such as embedded systems, and                     [6] X. Ferre, “Integration of Usability Techniques into the
communication equipments and services.                          Software Development Process”, Proceedings of Bridging the
                                                                Gaps Between Software Engineering and Human-Computer
                                                                Interaction at ICSE’03, Portland, OR, 2003, pp. 28-35.
6. Summary and Conclusion
                                                                   [7] K.S. Sousa, and E. Furtado, “RUPi – A Unified Process
   Typically, for HCI methods to be beneficial they must        that Integrates Human-Computer Interaction and Software
be run very early in the software lifecycle, before             Engineering”, Proceedings of Bridging the Gaps Between
development starts [5]. This increases the time it takes to     Software Engineering and Human-Computer Interaction at
get a product to market. The time to market can be              ICSE’03, Portland, OR, 2003, pp. 41-48.
dramatically shortened by running software engineering
processes and HCI methods concurrently, with well
defined interaction points for the teams to re-sync and
communicate [6,7], but the problem with this approach is
that time is wasted as one team waits at one or more
interaction points for the other team to catch up.
   Using an evolutionary prototype as a boundary object
allowed for the client, SE, and UIDC to proceed with their
specialized tasks in parallel and to communicate with each

Mais conteúdo relacionado

Mais procurados

EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLEEDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLESabeel Irshad
 
Embedded Product Development Life Cycle(EDLC)
Embedded Product Development Life Cycle(EDLC)Embedded Product Development Life Cycle(EDLC)
Embedded Product Development Life Cycle(EDLC)UshaRani289
 
Brian D. Wilson resume 2015 share
Brian D. Wilson  resume 2015 shareBrian D. Wilson  resume 2015 share
Brian D. Wilson resume 2015 shareBrian Wilson
 
Brian D. Wilson resume 2014
Brian D. Wilson  resume 2014Brian D. Wilson  resume 2014
Brian D. Wilson resume 2014Brian Wilson
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710Nikhil Todkar
 
Evolutionary Development Methodology
Evolutionary Development MethodologyEvolutionary Development Methodology
Evolutionary Development MethodologyDonna Kelly
 
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLEEDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLESabeel Irshad
 
Principles of Software Engineering @MyAssignmenthelp.com
Principles of Software Engineering @MyAssignmenthelp.comPrinciples of Software Engineering @MyAssignmenthelp.com
Principles of Software Engineering @MyAssignmenthelp.comMyAssignmenthelp.com
 
Unit II Software Testing and Quality Assurance
Unit II Software Testing and Quality AssuranceUnit II Software Testing and Quality Assurance
Unit II Software Testing and Quality AssuranceVinothkumaR Ramu
 
Improving software economics
Improving software economicsImproving software economics
Improving software economicsdeep sharma
 
Phase gate review development model august 8 2017 - dave litwiller
Phase gate review development model   august 8 2017 - dave litwillerPhase gate review development model   august 8 2017 - dave litwiller
Phase gate review development model august 8 2017 - dave litwillerDave Litwiller
 
A suite of tools for technology assessment
A suite of tools for technology assessmentA suite of tools for technology assessment
A suite of tools for technology assessmentNitish Mahajan
 
Wpf Resume Formal Eng Current Design 5
Wpf Resume Formal Eng Current Design 5Wpf Resume Formal Eng Current Design 5
Wpf Resume Formal Eng Current Design 5WarrenFaeth
 
Software life-cycle
Software life-cycleSoftware life-cycle
Software life-cyclegnesoni
 
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...Marco Torchiano
 
Software engineering mca
Software engineering mcaSoftware engineering mca
Software engineering mcaAman Adhikari
 
Testing throughout the software life cycle (software development models)
Testing throughout the software life cycle (software development models)Testing throughout the software life cycle (software development models)
Testing throughout the software life cycle (software development models)tyas setyo
 

Mais procurados (20)

EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLEEDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
 
Embedded Product Development Life Cycle(EDLC)
Embedded Product Development Life Cycle(EDLC)Embedded Product Development Life Cycle(EDLC)
Embedded Product Development Life Cycle(EDLC)
 
Brian D. Wilson resume 2015 share
Brian D. Wilson  resume 2015 shareBrian D. Wilson  resume 2015 share
Brian D. Wilson resume 2015 share
 
Brian D. Wilson resume 2014
Brian D. Wilson  resume 2014Brian D. Wilson  resume 2014
Brian D. Wilson resume 2014
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
 
Evolutionary Development Methodology
Evolutionary Development MethodologyEvolutionary Development Methodology
Evolutionary Development Methodology
 
Seii unit4 software_process
Seii unit4 software_processSeii unit4 software_process
Seii unit4 software_process
 
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLEEDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
 
Principles of Software Engineering @MyAssignmenthelp.com
Principles of Software Engineering @MyAssignmenthelp.comPrinciples of Software Engineering @MyAssignmenthelp.com
Principles of Software Engineering @MyAssignmenthelp.com
 
Unit II Software Testing and Quality Assurance
Unit II Software Testing and Quality AssuranceUnit II Software Testing and Quality Assurance
Unit II Software Testing and Quality Assurance
 
Improving software economics
Improving software economicsImproving software economics
Improving software economics
 
Sa03 tactics
Sa03 tacticsSa03 tactics
Sa03 tactics
 
Phase gate review development model august 8 2017 - dave litwiller
Phase gate review development model   august 8 2017 - dave litwillerPhase gate review development model   august 8 2017 - dave litwiller
Phase gate review development model august 8 2017 - dave litwiller
 
A suite of tools for technology assessment
A suite of tools for technology assessmentA suite of tools for technology assessment
A suite of tools for technology assessment
 
Wpf Resume Formal Eng Current Design 5
Wpf Resume Formal Eng Current Design 5Wpf Resume Formal Eng Current Design 5
Wpf Resume Formal Eng Current Design 5
 
Software life-cycle
Software life-cycleSoftware life-cycle
Software life-cycle
 
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
 
Software engineering mca
Software engineering mcaSoftware engineering mca
Software engineering mca
 
Testing throughout the software life cycle (software development models)
Testing throughout the software life cycle (software development models)Testing throughout the software life cycle (software development models)
Testing throughout the software life cycle (software development models)
 
1 se-introduction
1 se-introduction1 se-introduction
1 se-introduction
 

Semelhante a Using Evolutionary Prototypes To Formalize Product Requirements

Scr Position Paper For Chi 04 Workshop
Scr Position Paper For Chi 04 WorkshopScr Position Paper For Chi 04 Workshop
Scr Position Paper For Chi 04 WorkshopArnold Rudorfer
 
Interact2011 - Designing Inter-usable Systems
Interact2011 - Designing Inter-usable SystemsInteract2011 - Designing Inter-usable Systems
Interact2011 - Designing Inter-usable SystemsVille Antila
 
Crafting Infrastructures. Requirements, scenarios and evaluation in the SPICE...
Crafting Infrastructures. Requirements, scenarios and evaluation in the SPICE...Crafting Infrastructures. Requirements, scenarios and evaluation in the SPICE...
Crafting Infrastructures. Requirements, scenarios and evaluation in the SPICE...Luca Galli
 
Interaction Room - Creating Space for Developments (Software Projects)
Interaction Room - Creating Space for Developments (Software Projects)Interaction Room - Creating Space for Developments (Software Projects)
Interaction Room - Creating Space for Developments (Software Projects)adesso Turkey
 
The Benefits Of Software Creation
The Benefits Of Software CreationThe Benefits Of Software Creation
The Benefits Of Software CreationJennifer Wood
 
AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06Jay van Zyl
 
“Scrumbear” framework for solving traditional scrum model problems
“Scrumbear” framework for solving traditional scrum model problems“Scrumbear” framework for solving traditional scrum model problems
“Scrumbear” framework for solving traditional scrum model problemsjournalBEEI
 
SMARCOS Newsletter 1st Issue
SMARCOS Newsletter 1st IssueSMARCOS Newsletter 1st Issue
SMARCOS Newsletter 1st IssueSmarcos Eu
 

Semelhante a Using Evolutionary Prototypes To Formalize Product Requirements (20)

Scr Position Paper For Chi 04 Workshop
Scr Position Paper For Chi 04 WorkshopScr Position Paper For Chi 04 Workshop
Scr Position Paper For Chi 04 Workshop
 
Interact2011 - Designing Inter-usable Systems
Interact2011 - Designing Inter-usable SystemsInteract2011 - Designing Inter-usable Systems
Interact2011 - Designing Inter-usable Systems
 
HCI Chapter_2.pdf
HCI Chapter_2.pdfHCI Chapter_2.pdf
HCI Chapter_2.pdf
 
HCI Chapter_2.ppt
HCI Chapter_2.pptHCI Chapter_2.ppt
HCI Chapter_2.ppt
 
Final_version_SAI_ST_projectenboekje_2015
Final_version_SAI_ST_projectenboekje_2015Final_version_SAI_ST_projectenboekje_2015
Final_version_SAI_ST_projectenboekje_2015
 
Agile development
Agile developmentAgile development
Agile development
 
Crafting Infrastructures. Requirements, scenarios and evaluation in the SPICE...
Crafting Infrastructures. Requirements, scenarios and evaluation in the SPICE...Crafting Infrastructures. Requirements, scenarios and evaluation in the SPICE...
Crafting Infrastructures. Requirements, scenarios and evaluation in the SPICE...
 
H1803044651
H1803044651H1803044651
H1803044651
 
Report
ReportReport
Report
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
Unit 1.ppt
Unit 1.pptUnit 1.ppt
Unit 1.ppt
 
Basics of se
Basics of seBasics of se
Basics of se
 
Interaction Room - Creating Space for Developments (Software Projects)
Interaction Room - Creating Space for Developments (Software Projects)Interaction Room - Creating Space for Developments (Software Projects)
Interaction Room - Creating Space for Developments (Software Projects)
 
Agile It 20091020
Agile It 20091020Agile It 20091020
Agile It 20091020
 
The Benefits Of Software Creation
The Benefits Of Software CreationThe Benefits Of Software Creation
The Benefits Of Software Creation
 
AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06
 
“Scrumbear” framework for solving traditional scrum model problems
“Scrumbear” framework for solving traditional scrum model problems“Scrumbear” framework for solving traditional scrum model problems
“Scrumbear” framework for solving traditional scrum model problems
 
SMARCOS Newsletter 1st Issue
SMARCOS Newsletter 1st IssueSMARCOS Newsletter 1st Issue
SMARCOS Newsletter 1st Issue
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 

Mais de Arnold Rudorfer

Ein Requirements Engineering Referenzmodell
Ein Requirements Engineering ReferenzmodellEin Requirements Engineering Referenzmodell
Ein Requirements Engineering ReferenzmodellArnold Rudorfer
 
People And Project Management Issues In Highly Time Pressured Rapid Prototypi...
People And Project Management Issues In Highly Time Pressured Rapid Prototypi...People And Project Management Issues In Highly Time Pressured Rapid Prototypi...
People And Project Management Issues In Highly Time Pressured Rapid Prototypi...Arnold Rudorfer
 
Quality Re Pres Ebert Rudorfer Med Conf2011 V5
Quality Re Pres Ebert Rudorfer Med Conf2011 V5Quality Re Pres Ebert Rudorfer Med Conf2011 V5
Quality Re Pres Ebert Rudorfer Med Conf2011 V5Arnold Rudorfer
 
Quality Re Pres Ebert Rudorfer Med Conf2011 V4
Quality Re Pres Ebert Rudorfer Med Conf2011 V4Quality Re Pres Ebert Rudorfer Med Conf2011 V4
Quality Re Pres Ebert Rudorfer Med Conf2011 V4Arnold Rudorfer
 
201108 qz systematisches_re
201108 qz systematisches_re201108 qz systematisches_re
201108 qz systematisches_reArnold Rudorfer
 
Lean Re Pres Rudorfer Vector Forum V1
Lean Re Pres Rudorfer Vector Forum V1Lean Re Pres Rudorfer Vector Forum V1
Lean Re Pres Rudorfer Vector Forum V1Arnold Rudorfer
 
Lean Re Pres Rudorfer Vector Forum V1
Lean Re Pres Rudorfer Vector Forum V1Lean Re Pres Rudorfer Vector Forum V1
Lean Re Pres Rudorfer Vector Forum V1Arnold Rudorfer
 
Visure Solutions Keynote06222009 V3
Visure Solutions Keynote06222009 V3Visure Solutions Keynote06222009 V3
Visure Solutions Keynote06222009 V3Arnold Rudorfer
 
Incose Sweden Model Management01292011 V8
Incose Sweden Model Management01292011 V8Incose Sweden Model Management01292011 V8
Incose Sweden Model Management01292011 V8Arnold Rudorfer
 
Qz Req Eng Ebert Rudorfer 2011 V3
Qz Req Eng Ebert Rudorfer 2011 V3Qz Req Eng Ebert Rudorfer 2011 V3
Qz Req Eng Ebert Rudorfer 2011 V3Arnold Rudorfer
 
Lean Re Pres Ebert Rudorfer Re Conf2011 V8
Lean Re Pres Ebert Rudorfer Re Conf2011 V8Lean Re Pres Ebert Rudorfer Re Conf2011 V8
Lean Re Pres Ebert Rudorfer Re Conf2011 V8Arnold Rudorfer
 
SYNGO TFS Program InfoTeam Keynote
SYNGO TFS Program InfoTeam KeynoteSYNGO TFS Program InfoTeam Keynote
SYNGO TFS Program InfoTeam KeynoteArnold Rudorfer
 
MedConf 2009 Requirements Engineeering Rudorfer-Ebert
MedConf 2009 Requirements Engineeering Rudorfer-EbertMedConf 2009 Requirements Engineeering Rudorfer-Ebert
MedConf 2009 Requirements Engineeering Rudorfer-EbertArnold Rudorfer
 

Mais de Arnold Rudorfer (17)

Ein Requirements Engineering Referenzmodell
Ein Requirements Engineering ReferenzmodellEin Requirements Engineering Referenzmodell
Ein Requirements Engineering Referenzmodell
 
People And Project Management Issues In Highly Time Pressured Rapid Prototypi...
People And Project Management Issues In Highly Time Pressured Rapid Prototypi...People And Project Management Issues In Highly Time Pressured Rapid Prototypi...
People And Project Management Issues In Highly Time Pressured Rapid Prototypi...
 
S5rud
S5rudS5rud
S5rud
 
Reconf2012 V4
Reconf2012 V4Reconf2012 V4
Reconf2012 V4
 
Quality Re Pres Ebert Rudorfer Med Conf2011 V5
Quality Re Pres Ebert Rudorfer Med Conf2011 V5Quality Re Pres Ebert Rudorfer Med Conf2011 V5
Quality Re Pres Ebert Rudorfer Med Conf2011 V5
 
Quality Re Pres Ebert Rudorfer Med Conf2011 V4
Quality Re Pres Ebert Rudorfer Med Conf2011 V4Quality Re Pres Ebert Rudorfer Med Conf2011 V4
Quality Re Pres Ebert Rudorfer Med Conf2011 V4
 
201108 qz systematisches_re
201108 qz systematisches_re201108 qz systematisches_re
201108 qz systematisches_re
 
Lean Re Pres Rudorfer Vector Forum V1
Lean Re Pres Rudorfer Vector Forum V1Lean Re Pres Rudorfer Vector Forum V1
Lean Re Pres Rudorfer Vector Forum V1
 
Scrum Med02232011 V4
Scrum Med02232011 V4Scrum Med02232011 V4
Scrum Med02232011 V4
 
Lean Re Pres Rudorfer Vector Forum V1
Lean Re Pres Rudorfer Vector Forum V1Lean Re Pres Rudorfer Vector Forum V1
Lean Re Pres Rudorfer Vector Forum V1
 
Visure Solutions Keynote06222009 V3
Visure Solutions Keynote06222009 V3Visure Solutions Keynote06222009 V3
Visure Solutions Keynote06222009 V3
 
Incose Sweden Model Management01292011 V8
Incose Sweden Model Management01292011 V8Incose Sweden Model Management01292011 V8
Incose Sweden Model Management01292011 V8
 
Refsq 2011 03 29 V3
Refsq 2011 03 29 V3Refsq 2011 03 29 V3
Refsq 2011 03 29 V3
 
Qz Req Eng Ebert Rudorfer 2011 V3
Qz Req Eng Ebert Rudorfer 2011 V3Qz Req Eng Ebert Rudorfer 2011 V3
Qz Req Eng Ebert Rudorfer 2011 V3
 
Lean Re Pres Ebert Rudorfer Re Conf2011 V8
Lean Re Pres Ebert Rudorfer Re Conf2011 V8Lean Re Pres Ebert Rudorfer Re Conf2011 V8
Lean Re Pres Ebert Rudorfer Re Conf2011 V8
 
SYNGO TFS Program InfoTeam Keynote
SYNGO TFS Program InfoTeam KeynoteSYNGO TFS Program InfoTeam Keynote
SYNGO TFS Program InfoTeam Keynote
 
MedConf 2009 Requirements Engineeering Rudorfer-Ebert
MedConf 2009 Requirements Engineeering Rudorfer-EbertMedConf 2009 Requirements Engineeering Rudorfer-Ebert
MedConf 2009 Requirements Engineeering Rudorfer-Ebert
 

Using Evolutionary Prototypes To Formalize Product Requirements

  • 1. Using Evolutionary Prototypes to Formalize Product Requirements Junius Gunaratne, Beatrice Hwong, Christopher Nelson, Arnold Rudorfer Siemens Corporate Research, Princeton, NJ {junius.gunaratne, beatrice.hwong, christopher.nelson, arnold.rudorfer}@siemens.com Abstract new software features. Though MED knew what high-level features should be built for the demo, they found it difficult Boundary objects are artifacts that facilitate to formalize how the features, the user interface (UI) and communication and interaction between people or groups the task flows should work. Software engineers and functioning in different domains. Software engineers, user usability specialists needed to collaborate due to a strong interface designers and usability specialists have different focus on the UI look and feel, use of new technology, and a domain knowledge, different terminologies, and shared very tight timeline. To facilitate communication and terms with different, distinct meanings. Boundary objects interaction between the two groups and the client, SCR can help assist the process of designing software by used an evolutionary prototype as a boundary object. providing a common interface for communication between This paper reports on our success of first using professionals in different domains. The Software storyboards—followed by an evolutionary prototype—to Engineering department and User Interface Design Center act as a common interface between software engineers, UI at Siemens Corporate Research used an evolutionary designers, usability specialists, and the client. Storyboards prototype as a boundary object to help elicit product are used to brainstorm and capture some initial requirements from their client, Siemens Medical Solutions. requirements by aiding communication between different This enhanced communication with the client and between domain experts. The storyboards are then replaced by the groups at SCR. This paper describes how the evolutionary prototype for the remainder of the project. We found that prototype functioned as a boundary object and how it tools such as Microsoft PowerPoint or Macromedia allowed software engineering processes and human- Director did not provide an artifact with a high enough computer interaction methods to proceed concurrently fidelity to allow for sufficient communication between without the need for well-defined interaction points. group members. The evolutionary prototype used J2EE application technologies similar to the real product to help software engineers determine implementation feasibility of 1. Introduction requested features based on the real product’s software architecture constraints. Our experience with traditional Siemens Corporate Research (SCR) is the Siemens prototyping tools and the need for using real product research and development facility in the U.S. chartered to technologies drove us from storyboards to an evolutionary deliver advanced technology solutions to Siemens business prototype. units worldwide. SCR is comprised of several groups in different domains including Software Engineering (SE) 2. Background and the User Interface Design Center (UIDC). Quite often customer requests require collaboration between the In most cases the purpose of prototyping is to quickly different groups at SCR. Therefore it is beneficial to create an artifact that demonstrates behavior of an intended attempt to find methods that allow for these collaborations product [1]. However, the purpose of our prototype to occur in a timely and efficient manner. extended beyond simply demonstrating the product’s One such attempt started with a request from Siemens intended behavior. A number of members expressed Medical Solutions (MED). MED produces software concerns about how to appropriately translate language and packages for managing clinical, administrative and artifacts from one domain to another—UI designers usually financial hospital business processes. The new visionary do not understand UML models, and only a few software software features are demonstrated annually at major engineers are familiar with human-computer interaction industry conferences. For one such conference, MED (HCI) methods, to mention a few examples. The prototype requested help from SCR to demonstrate some of these as a boundary object resolves this issue by providing an
  • 2. artifact understood by all team members, ensuring effective perform tasks such as checking a patient in, assigning communication of ideas in addition to helping facilitate facility resources such as beds and doctors, and handling discussion and creating estimates for development. delinquent billing. The software needed to adhere to new UI standards based on an unfinished, still evolving style 2.1 Prototypes as Boundary Objects guide. The success of their software relies heavily on its usability due to the wide range of potential users, and the Boundary objects are used as a means of coordination environment in which it is used. For this reason, it was and alignment [2]. They serve as translators between imperative that usability specialists at UIDC be included in disciplines and are malleable enough to adapt to changing the process from the start. needs. They are working arrangements and are adjusted as The very short amount of time available (about 10 needed, and they are neither imposed by one community, weeks) to complete the requested features put a heavy nor by appeal to outside standards [3]. constraint on this project. The absolute deadline set by the Conventional boundary objects used in software date of the industry conference meant that software development include UML and storyboards. UML can engineering and user-centered design cycles needed to run show interaction between different components of in parallel. software. Storyboards can demonstrate progression of a task and describe user interaction on a screen. Both of 3. Benefits of an Evolutionary Prototype these types of boundary objects typically abstract software at high enough levels to transcend the boundaries of To demonstrate conceptual versions of the product, disciplines, but they each lack benefits the other provides. initially MED and SCR created a storyboard that defined UML lends itself to use by software engineers since it functions to be implemented. SCR asked MED questions supports their standard needs and processes, while about the state of the system in hypothetical situations. It storyboards lend themselves to use by HCI specialists for quickly became evident that the behavior and logic of the similar reasons. system could not be expressed adequately with a McDaniel, Olson and Olson at the University of storyboard. A storyboard can be updated to reflect changes Michigan studied combining SE processes and HCI in requirements, but it is difficult to foresee the methods through rapid prototyping and iterative design and implications of those changes when the boundary object is analysis, but this combination of the processes created not interactive. The prototype needed to evolve, along with difficulties. Software engineers tended to “respond to user the requirements, in order for it to be a valuable artifact in suggestions in preference to design team suggestions.” facilitating communication throughout the entire duration Additionally, “the interface designer’s suggestions were of the project. An evolutionary prototype is interactive and implemented, although not the way they were suggested.” it allows us to experiment with the real technologies used [4] Arguably, these problems could be avoided by in the actual product. Interactivity allows us to better improving project management or with more frequent demonstrate usability problems to the client. Use of communication. Though some communication problems technology from the actual product shows the client existed, this attempt shows the potential of a prototype to implementation constraints in software architecture. work as a boundary object. Finally, interactivity and use of technologies from the In contrast to the study at the University of Michigan, actual product allows MED to demonstrate advanced some members of our UIDC staff had formal background functionality at conferences. in both software development and usability. Also, SCR SCR met with MED in design review meetings every communicated with MED on a weekly basis to give project one to two weeks using the prototype as a discussion piece. status reports and participate in design review meetings, As MED requested changes on the features under and at SCR, SE and UIDC communicated on a daily basis. implementation, software engineers assessed the impact of Since the two departments are down the hall from each the changes on the architecture and design and later other it is not difficult to have development or usability incorporated the changes into the prototype. As SE questions answered quickly. All of these factors helped developed the prototype, UIDC ran usability tests on the communication through the prototype, and the evolving prototype. Usability specialists searched the development process. prototype for inconsistencies in the UI. UI designers looked for areas where the prototype’s UI did not conform 2.2 SCR’s Role in MED Projects to the style guide. Issues communicated to SE through the prototype included button placement, icon use, and when MED’s suite of programs is used for managing to give feedback to the user after a task or operation is hospitals, supporting both clinical and business-related completed. UIDC constantly received feedback from the workflows. It is intended for use in medical facilities to client and software engineers about UI limitations.
  • 3. Feedback to software engineers happened throughout SE’s bed information. The initial requirements, captured in a and UIDC’s processes without the need for well-defined storyboard, are a collection of several screens representing interaction points since discussion revolved around the the different states of zooming. The storyboard mislead prototype. While SE and UIDC ran their processes, MED MED and UIDC by appearing to capture all feature started validation testing to make sure the prototype requirements. When software engineers tried to implement evolved in the intended direction. This permitted the storyboard they often raised questions MED and UIDC requirements to mature quickly and kept client did not consider. Using the storyboards as the boundary expectations in sync with what was going to be delivered. object between groups left some details lost in the During design review meetings software engineers gain translation of one group’s terminologies to other groups’ a greater appreciation of usability by seeing the client terminologies. struggle through tasks. Since usability specialists are The storyboard lacked sufficient information for available in design review meetings they provide feedback software engineers to implement the zooming feature. SCR on potential improvements. This gives usability specialists used the prototype to demonstrate to MED how the poorly a simple way to convey usability problems to both the defined zooming behavior requirement created usability client and software engineers without use of formalized problems. If a user clicks the zoom in button, the documents. Since software engineers and the client application zooms in on the open hospital. If a user clicks participate in meetings with usability specialists, HCI the zoom in button and there is no open hospital, nothing methods such as think aloud techniques, cognitive happens and there is no feedback provided to the user. walkthroughs, and heuristic evaluation are implicitly SCR found this to be a problem, and only by seeing the practiced without having to extensively educate software problem manifested in the prototype did MED perceive it engineers and the client about the methods. The client is as a problem too. asked to complete a task in a style similar to cognitive walkthrough. User interface problems in the task are 3.2 Prototyping Bed Filtering documented by both software engineers and usability specialists in heuristic evaluation style. The client and Beds in a hospital have a variety of characteristics that software engineers are not immediately aware that they are restrict their use. For example, a bed in a maternity unit of performing a cognitive walkthrough or heuristic a hospital is only available to a woman. Additionally, beds evaluation, but through the act of using the prototype as a have different states such as being empty, occupied, dirty, discussion piece they participate actively in the HCI or reserved for a future patient. A bed manager typically methods. has to check the status of hundreds of hospital beds in After the initial requirement definition, SCR order to find one that is appropriate for a particular patient. implemented the first version of the prototype, but Use of a bed filtering mechanism can dramatically speed continued to maintain storyboards as an alternate form of up the time it takes to find a bed by only displaying specifications. MED preferred using the prototype as the appropriate beds. boundary object because of its strength of communication Defining the bed filter feature’s behavior began as a over the storyboards. The prototype became the de facto sequence of storyboard screens and quickly moved to a standard for defining product requirements. The prototype. After completing the initial implementation of storyboard—initially driving the requirement definition— filtering, MED met with SE and UIDC to discuss changes. became dated and superfluous. Change requests from meetings were made to the prototype The prototype’s implementation of hospital resource and then discussed in the next meeting. Through such views and filtering beds are two examples of how the meetings SE and UIDC refined the filtering rules for bed prototype served to bridge communication gaps in the selection. MED did not explicitly state some rules for bed software development process among SE, UIDC and filtering in the original storyboard. Only after using the bed MED. filtering feature in the prototype did MED realize specific behaviors needed to be implemented. SE and UIDC 3.1 Prototyping Hospital Resource Views collected a number of bed selection rules as a result of eliciting requirements through the prototype. For example, One feature of the prototype is the ability to navigate when a bed manager searches for an empty semi-private through the hierarchical structure of an Integrated Health bed, sometimes the state of the adjacent bed determines Network (IHN) to view hospital information. In hospital whether it is suitable. If a female occupies the adjacent resource views a user can navigate the IHN and see a bed, the empty bed is only suitable for a female. MED also listing of hospitals. In the hospital a user can see different did not specify initially that when an adjacent bed has a units, rooms and beds within that hospital. It is possible to hazard indicator, the empty bed cannot be assigned and zoom in and zoom out on hospitals to view unit, room, and must be blocked until the hazard is cleared. Such rules
  • 4. could not be collected without the prototype. The other at any point in their processes. The evolutionary prototype demonstrated to MED the importance of creating prototype provided a union of the two sets of benefits from well-defined bed filtering rules, forced MED to fill in gaps UML models and storyboards and permitted early testing where rules were not complete, and it helped software of interaction sequencing. This allowed us to quickly find engineers refine bed filtering logic. problems with usability and functionality, which in turn allowed us to quickly discover and implement solutions. 4. Lessons Learned Through use of an evolutionary prototype as a boundary object SCR quickly gathered a mature set of requirements At the end of our project with MED we ran a process to create a high quality deliverable. improvement workshop to determine what worked well, and what did not. We learned that the prototype worked 7. References extremely well to facilitate communication between the groups, but we did not make use of its full potential. We [1] K. Schneider, “Prototypes as assets, not toys: why and have since come up with new methods to handle change how to extract knowledge from prototypes”, Proceedings of the 18th International Conference on Software Engineering, IEEE requests coming from the client. Our new methods use the Computer Society, Berlin, Germany, 1996, pp. 522-531. boundary object to capture the details surrounding the change request. In a change request, the client or usability [2] Star, S.L., and Bowker, G., Sorting Things Out: specialists are forced to explicitly state how to navigate to Classification and Its Consequences, MIT Press, Cambridge, a screen or dialog box in a specific module in the MA, 1999. prototype. Software engineers, on the other hand, must reference specific modules in the prototype when changing [3] A. Ernesto, H. Eden, G. Fischer, A. Gorman, E. Scharff, underlying code. This is important because both SE and “Transcending the individual human mind—creating shared UIDC need to do impact analysis, but the information the understanding through collaborative design”, ACM Transactions on Computer-Human Interaction, Vol. 7, No. 1, March 2000, pp. two groups need to analyze requests often differs. By using 84-113. the right boundary object, we ensure that the necessary information for both groups is correctly captured, [4] S.E. McDaniel, G.M. Olson, and J.S. Olson, “Methods in communicated and disseminated. Search of Methodology—Combining HCI and Object Orientation”, Proceedings of the Conference for Computer- 5. Next Steps Human Interaction 1994, Boston, MA, 1994, pp. 145-151. [5] R. Chatley, J. Kramer, J. Magee, and S. Uchitel, “Model- This project proved that a prototype can be used very based Simulation of Web Applications for Usability effectively as a boundary object between SE, UIDC, and Assessment”, Proceedings of Bridging the Gaps Between our client when developing a J2EE application in the Software Engineering and Human-Computer Interaction at Health Services domain. We intend to apply the same ICSE’03, Portland, OR, 2003, pp. 5-11. techniques to future projects with different technologies in different domains such as embedded systems, and [6] X. Ferre, “Integration of Usability Techniques into the communication equipments and services. Software Development Process”, Proceedings of Bridging the Gaps Between Software Engineering and Human-Computer Interaction at ICSE’03, Portland, OR, 2003, pp. 28-35. 6. Summary and Conclusion [7] K.S. Sousa, and E. Furtado, “RUPi – A Unified Process Typically, for HCI methods to be beneficial they must that Integrates Human-Computer Interaction and Software be run very early in the software lifecycle, before Engineering”, Proceedings of Bridging the Gaps Between development starts [5]. This increases the time it takes to Software Engineering and Human-Computer Interaction at get a product to market. The time to market can be ICSE’03, Portland, OR, 2003, pp. 41-48. dramatically shortened by running software engineering processes and HCI methods concurrently, with well defined interaction points for the teams to re-sync and communicate [6,7], but the problem with this approach is that time is wasted as one team waits at one or more interaction points for the other team to catch up. Using an evolutionary prototype as a boundary object allowed for the client, SE, and UIDC to proceed with their specialized tasks in parallel and to communicate with each