1 28.08.2007 [email protected]
From Rich User Requirements to System From Rich User Requirements to System RequirementsRequirements
CODE Seminar
Michael Przybilski, Tuure Tuunanen
2 28.08.2007 [email protected]
OverviewOverview
• WARE Extension
• Case study
• From Rich User Requirements to System Requirements
• Tool support
3 28.08.2007 [email protected]
Wide Audience Requirement Wide Audience Requirement Engineering (WARE)Engineering (WARE)
• Model driven technique, based on laddering approach• Set of probes (types of question) to acquire structure and content of stakeholders’ knowledge
• New type of applications and end-users (consumers)• Focus on Wide Audience Information Systems (WAIS)
• Context (End-user – Firm relationship)• Reach (End-user availability)• Modelling and Model Aggregation (Common knowledge between end-user and developer, amongst end-users)
• Presentation and Consensus making (Management – end-user relationship, Management – developer relationship)
• Requirements-design interface (Modelling results of RE process)
4 28.08.2007 [email protected]
Wide Audience Requirement Wide Audience Requirement Engineering (WARE)Engineering (WARE)
• Result: Rich User Requirements
Running Chain
Interview ID
Chain name
(stimuli name)
Idea name
Application
Cluster
Inverted rank (Value)
Attribute Code
Consequence Code
Value Code
Ladder 1
A Profiling detailed from regular computer and download to mobile
N/ABetter performance
Can be turned off/on
8
Ladder …
501c LasVegas13
SIG Propose activity for members of the group
…
FeaturesOutcomesValues
5 28.08.2007 [email protected]
Case StudyCase StudyRunning Chain #
Interview ID Chain name (stimuli name)
Idea name Application Cluster (MAP)
Inverted rank
(Value)
ATTRIBUTE CODE CONSEQ. CODE VALUE CODE LADDER 1 LADDER 2 LADDER 3 LADDER 4 LADDER 5 LADDER 6 LADDER 7 LADDER 8 LADDER 9 LADDER 10 LADDER 11 LADDER 12 LADDER 13 LADDER 14
CHAIN501c LasVegas13 SIG Propose activity for members of the group
A 8 Can be turned off/on Better performance
N/A A profiling detailed from regular computer and download to mobile
A self defined location variables
A set presence available or not
A see other members of the group--their presence
A propose activity A message to the members to advise based on their locations and availability
A response request
C better performance
CHAIN180 Helsinki27 1. SIG e.g. electricity company can inform customers fast
A 10 Can be turned off/on N/A Safety/Privacy A1 must be voluntary e.g. you can registrate on the web to the service
C otherwise could be considered as intrusive as private presence information is used
C customer can feel himself informed
V freedom of choice
CHAIN7 Helsinki1 A 9 Can be turned off/on Service becomes more popular
Easier communication
A3 The service can be turned on all the time without extra fee
C Enables that the service is competitive when compared to SMS messaging
C enables informing about one´s presence and reachablity for free
C enables using continuous use of servce
C If not free is unlikely to be used by everyone
C The value of service gets lower if there are so many as possible people using it
V reachbility V connectivity
CHAIN88 Helsinki13 A 9 Customization of groups
Avoid information overload
Efficiency A2 target groups need to be defined
C1 to much information goes to your nerves
V saving time
CHAIN222 HongKong4 A 9 Customization of groups
Better performance
Economic gains A5 I can prioritize my chosen groups
C I have limited time
C I can eat more and sleep more
C I can earn more money
V Survive
CHAIN221 HongKong4 3 Community News groups A 9 Customization of groups
Better performance
Economic gains A4 I can choose different groups
C Because I may not like all the interest groups available
C I do not want to receive irrelevant information
C I can't afford to waste that time
C I do not have enough time
C I want to spend more on other things
C I can eat more and sleep more
C I can be more energetic
C I can work harder and earn more money
V I can feed myself. Survive
CHAIN210 HongKong3 3 Community Interest groups A 8 Customization of groups
Better performance
Enjoy life A2 Allow me to register
C I want to register to groups I am interested in (e.g., games news)
C I do not want to search for the information myself too frequently
C I do not have enough time
C I need to be informed so that I don't miss any opportunity
C If you miss opportunity, there may not be a second chance
C I will not get the things that delight me
V Happiness
CHAIN501a LasVegas13 SIG Propose activity for members of the group
A 8 Customization of groups
Better performance
N/A A profiling detailed from regular computer and download to mobile
A self defined location variables
A set presence available or not
A see other members of the group--their presence
A propose activity A message to the members to advise based on their locations and availability
A response request
C better performance
CHAIN197 HongKong1 A 8 Customization of groups
Closer relationships in
group
Economic gains A3 Peolple can register to the forum
C So that they can show their interest in the topic
C So that they can meet other people who are interested in the same topic
C So that there is exchange of knowledge
V This is important to my career
CHAIN435 LasVegas2 For you If group from my org going to do something help me to join along
A 8 Customization of groups
Closer relationships in
group
Sociable A group member notifies affiliation list
A members opt into list
C allows me to spend time with group
V share common interest is purpose of group
CHAIN558 LasVegas23 A 0 Download event information
Easier to organize
N/A A download events associated with travel intinerary
A ask for passcode when about to enter event
A entire itinerary entered into calender
A offer to download itinerary
A enter pascode to accept invitation to join the event
A invite event information to the device
A downloaded with I want to switch to the event profile
C no need to enter information
C current information
A calender expires & calender goes back to local at the end of the event
C no neet to clean up
CHAIN523 LasVegas18 A 0 Download event information
N/A N/A A select event to reply
A offerred events based on membership
CHAIN436 LasVegas2 For you Notice of events related to group, not necessarily by group
A 10 Easy to use Closer relationships in
group
Sociable A any ind can set up group or formal organization
An any member send notice to all
C allows members to meet ad hoc
C achieve personal goals related to the group
V fulfillment for expressing political goals.
CHAIN44 Helsinki7 1. SIG Tool for PC support work force
A 10 Easy to use No extra effort needed
Efficiency A1 must be 100% error free, fast and simple to use
C otherwise no use C otherwise means just extra concern
C would be as natural as changing the mobile phone profile to silent mode
C would decrease useless visits to workstations
C easier to communicate than with SMS
V time saving
CHAIN89 Helsinki13 A 10 Easy to use No extra effort needed
Efficiency A3 should be easy customize groups/receivers
C otherwise too many messages may block the phone (like with e-mail)
C you won´t both other uselessly
C people have personal interest areas
V saving time
CHAIN160 Helsinki24 1. SIG information service for doctor´s patients: calling times
A 10 Easy to use No extra effort needed
N/A A1 must be easy to use
C otherwise won´t be used
C othewise not useful
CHAIN161 Helsinki24 A 8 Easy to use No extra effort needed
N/A A2 should not be behind several menus
C remains easy to use
C2 would be used also after philoneism
CHAIN172 Helsinki26 1. Other Bulletin board for ice hockey team
A 10 Easy to use Service becomes more popular
Sociable A easy to use C makes it more compelling to use
C gets everyone to use it
C there´s no sense in this kind of service if it nor serve the whole group
V secures good game
CHAIN104 Helsinki14 A 7 Find out who is in town
Find people Sociable A4 With few keystrokes you get information about who else is in city and find this way e.g. someone to go for cafe with you
C When traveling alone enables establishing connections with other travelers or local people
C enables finding travel mate who is lost
V enables establishing new companionships
CHAIN36 Helsinki5 A 10 Hiding Ability to separate personal and working time
Safety/Privacy A4 to be able to "hide" so that you cannot be contacted
C enables being unreachable
C enables that you won´t be disturb
C motivates people to use the service
C enable "passive" unreachability so that people will not perceive you as unreachable
V secures personal privacy
CHAIN90 Helsinki13 A 8 How many have read thread
Better performance
Safety/Privacy A4 should show how many have received and who has read
C1 avoids need to call to check whether the message has been received
V secures communication of important information
CHAIN212 HongKong3 A 5 Information by topics Avoid information overload
Enjoy life A3 Information classified into groups
C Otherwise, information overload
C too much information is no use
C Annoyance
V Unhappy
CHAIN522 LasVegas18 For you Finding out time, place and date of events
A 10 Information by topics Better performance
Easier communication
A hierarchical menu A select presence A The organization would know that I'm available
A information there on my phone
A church group & women's shelters find out what time & date, and place of events
C I don't have to call people
V hassle to have to contact the organization
CHAIN291 HongKong10 Threads organized by topics
A 10 Information by topics Better performance
Enjoy life A7 threads organized by topics
C there may be millions of messages
C it is hard to find what you are interested to read
C bulletin board should not be like a chat room where you need to communicate in real time many many messages
C I don't have the time
C I want to save time to do other things that I enjoy
V Happy
CHAIN326 HongKong14 Organized by topics
A 10 Information by topics Better performance
Sociable A2 Information should be organized by topics
C Because every one's interests are different
C So that I can find people who have the same interests as mine faster
C So that I can save time
C So that I can do other things
C Because I like to have more choices
V I am happier with more choices
CHAIN196 HongKong1 3 Community Interest group A 9 Information by topics Exchange of knowledge
Economic gains A3 Organized by interests
C If I have any question related to the interest, I can ask somebody in the group
C So that there is exchange between group members
C So that we can gain knowledge
C So that we can have more prospect in our career
V This is important to my career
CHAIN292 HongKong10 A 10 Information by topics Exchange of knowledge
Enjoy life A7 threads organized by topics
C there may be millions of messages
C it is hard to find what you are interested to read
C good organization facilitates easy exchange of ideas
C more ideas exchanged
C It is good to use the shortest time to exchange more ideas
V Happy
CHAIN203 HongKong2 A 6 Information by topics Exchange of knowledge
Enjoy life A3.1 Show people's omments
C Because one's friends and family members may not have the same interests as mine
C The newsgroup allows me to exchange academic knowledge
V Happiness
CHAIN202 HongKong2 3 Community New friends A 4 Information by topics Exchange of knowledge
Sociable A3 News groups C See different interest groups, e.g., books
C Find out people who have the same interest
C So that we can exchange information
C Because people around you may not have the same interest
C So that I can engage in some form of "spiritual exchange"
V So that I am not lonely
• Several case studies
• Mobile Presence• 80 interviews • Helsinki, Hong Kong
and Las Vegas
• 663 chains• Up to 10 ladders
= difficult
7 28.08.2007 [email protected]
ExtensionExtension
• User requirements to system requirements• Link end-user – analyst – designer – developer
8 28.08.2007 [email protected]
ProcessProcess(0. Familiarization with the requirements data and the method)
• Learn basic components of the WARE method• Laddering interviewing principles, theme clustering• Understanding Meta feature set (idea, application cluster, ladders, etc.)
1. Analyzing the data and initial separation of functionalities• Creating a list of technical functionalities, details and notes (with
references to their originating chain)
2. Clustering of functionalities• Clustering found functionalities• Keep an overview of previously discovered functionalities• Additional details and notes
3. Grouping into system requirements• Similar functionalities grouped together• Derivation of more general system requirements (based on domain
knowledge and technical expertise)• Minor differences in the originating functionalities are kept as details and
notes
9 28.08.2007 [email protected]
ProcessProcess
4. Ranking• For each system requirement (sum up of values of originating chains• Priority of the importance of a particular system requirement
5. Integration of other factors• Modify ranking based on other priorities or the choice of alternatives
6. Report• Refine list, complement with additional information and references (e.g.
for implementation)
10 28.08.2007 [email protected]
ResultResult
System Requirements• Functionalities• Details• Summed Values• Links to originating user requirements
Mobile Presence• 11 Functionalities• 83 Details
11 28.08.2007 [email protected]
Tool SupportTool Support
• Eclipse-based editor• IDE, FOSS, Java-based
• Collection and modeling of Rich User Requirements
• Extension towards System Requirements
• Connection to designer and developer• Code generation
12 28.08.2007 [email protected]
ConclusionsConclusions
• Collection and modeling of requirements for new types of applications and systems, as well as end-users
• Support of informed decision making process• Application• Priority of particular functionalities• Motivations (Features, Outcomes, Values) for particular functionalities
• Connection to designers and developers• Access to original end-user requirements on various levels
13 28.08.2007 [email protected]
Tool SupportTool Support
• Eclipse-based editor• IDE, FOSS, Java-based
• Collection and modeling of Rich User Requirements
• Extension towards System Requirements
• Connection to designer and developer• Code generation
• Other features
14 28.08.2007 [email protected]
Further WorkFurther Work
• Connection to other RE methodologies• Integration with further development techniques• Use in further case studies
• Extension of sample code generation
• Visual “sugar”