Download presentation
Presentation is loading. Please wait.
Published byAlison Ray Modified over 9 years ago
2
Service Desing and Requirement Management How to combine two similar worlds Course Material 2014 v 0.5 Marko Rintamäki
3
About Course Material -This material if for general training for service design and software requirement management -Material is supportive material for class room -Material will be updated during courses -FreeNest Portable Project Platform is used to demonstrate things only in practice. This is not limiting usage for material for other training environments (I hope )
4
Seller Customer Developer Hacker Seller Customer Developer Hacker
5
Builiding Concept in early phase Idea#1 Customer I would like to have Internal Flame Drum Kit Could you deliver it to us? I would like to have Internal Flame Drum Kit Could you deliver it to us? Actually We have several Wow features for it here Actually We have several Wow features for it here Ok! That‘s Interesting! Tell me more! I love it! Ok! That‘s Interesting! Tell me more! I love it! Nice looking feature propoals. We have to do some evaluation Nice looking feature propoals. We have to do some evaluation Idea#2 Idea#3 Idea#4 Idea#1 -Technology? -Knowledge -Resource -Solution? -Priority?
6
Requirement Management Between 40% and 60% of software failures and defects are the result of poor software management and requirements definition. In plain English, this means that about half of the problems encountered could have been avoided by making it clear, from the very beginning, what the customer expected from the respective project. This is to say that the programming was fine and the developers did their job well – only they did a different job from what they were supposed to. http://www.softwareprojects.org Read also http://www.projectshrink.com/why-requirements-change-270.html
7
Why requirement management ? IDEAL Requirements help Design Requirements help Design REQ-X REQ-Y REQ-Z REQ-O REQ
8
Old School ”Waterfall”- process model Change Management Change Management http://en.wikipedia.org/wiki/Waterfall_model Requirement Management Requirement Management Product Life Cyle
9
Iterative Process Model - RUP http://en.wikipedia.org/wiki/IBM_Rational_Unified_Process
10
Agile Process Model - Scrum
11
Adhoc Process Model ?
12
Traditional Definition for a requirement -One sentence which can be verified, clear, complete, consistent, traceable, viable, necessary, implementation free -Sentence has to be understandable, measurable and testable http://www.slideshare.net/guest24d72f/8-characteristics-of-good-user-requirements-presentation Tractor has four wheels Tractor has one exhaust pipe Engine of tractor is capable of use flexi fuel The tractor has a hook for trailer The tractor shall have a enhanced driving system Tractor has four wheels Tractor has one exhaust pipe Engine of tractor is capable of use flexi fuel The tractor has a hook for trailer The tractor shall have a enhanced driving system
13
Functional and non-functional requirements Functional Requirements Functional Requirements Non-Functional Requirements Non-Functional Requirements Functional Requirement "User can select application from ui by using wheel button ” ”Tractor can be driven both directions” Functional Requirement "User can select application from ui by using wheel button ” ”Tractor can be driven both directions” Non-Functional Requirement "Performance Requirement" ”Tractor Startup should take minimum 10 seconds” ”Usability Requirement” ”User interface should be able to control using simple wheel quide” ”The hook can last max 20Kkg trailer load” Non-Functional Requirement "Performance Requirement" ”Tractor Startup should take minimum 10 seconds” ”Usability Requirement” ”User interface should be able to control using simple wheel quide” ”The hook can last max 20Kkg trailer load” How it works? How fast it is? How stable it is? Do some googling!! Create a wiki page!! AboutUserStory Do some googling!! Create a wiki page!! AboutUserStory
14
Different Requirement categorys? Scalability Stability Performance Security Performance Stress Usabilty Different points of view on system Requirement Category‘s „scalability “ „Stability “ „Functionality“
15
Tracebility matrix http://www.guru99.com/traceability-matrix.html
16
Requirements and impact analysis http://www.borland.com/products/caliber/
17
Requirements and Design Business and customer Development Team Business Requirements Business Requirements Technical Requirements Technical Requirements NEED SOLUTION Design & Architecture Implentation Design & Architecture Implentation Agreement “One of sides should not dominate in design process” Implentation
18
Problem domain vs solution domain What we want? How to do it? Business/Stake/Cus tomer Requirements Architecture/Desig n/Technology Requirements
19
User interface? Usability of functionality? Functional Requirements Functional Requirements Non-Functional Requirements Non-Functional Requirements User Inteface Layouts
20
How to find requirements? You can gather requirements from several sources: Users, Stakeholders, Business and Development team and many others Requirements are trying to define nature of feature/system/solution more specific than common written document does. This information is helping development team to design a solution for a need There is several common methods to define and gather requirements. Traditional Requirement modeling (http://en.wikipedia.org/wiki/Requirements_management) RUP/UML based Use Case modeling (http://en.wikipedia.org/wiki/IBM_Rational_Unified_Process) Agile XP oriented User Story’s (http://en.wikipedia.org/wiki/Agile_software_development) Your task is to figure out a small difference between them Read more http://en.wikipedia.org/wiki/Requirements_management
21
Requirement Gathering Process ? Interviews Workshops Prototyping Prestudys Research
22
Requirement Specification http://en.wikipedia.org/wiki/Software_Requirements_Specification http://www.slideshare.net/indrisrozas/example-requirements-specification
23
Requirement Management Tool Rational Doors https://www.ibm.com/developerworks/community/blogs/requirementsmanageme nt/?lang=en
24
Rational Unified Process model
25
Brief history of Use Cases Defined by Ivar Jacobson http://en.wikipedia.org/wiki/Use_case Used with UML (Unified Modeling Language) http://en.wikipedia.org/wiki/Unified_Modeling_Language http://en.wikipedia.org/wiki/Unified_Modeling_Language RUP (Rational Unified Process) http://fi.wikipedia.org/wiki/RUP
26
Stakeholder and actors? Customer Many customer roles => More actors? Think about Roles!
27
Use Case Diagram (UML) USE CASE Written scenario for action. Also execeptions included Use Case: Open IFDK Main Application Actor: IFDK User Step1: Gadget User touches home button Step2: UI wakeup initiated (if standby) Step3: Home screen is activated Setp4: User browses applications specific icons using wheel button Step5. Icons are moving on screen left and right Step6: User selects application by pushing wheel button Step7: Application starts up <4 seconds Execptions: 1. If application cannot start there will be note on screen about problem USE CASE Written scenario for action. Also execeptions included Use Case: Open IFDK Main Application Actor: IFDK User Step1: Gadget User touches home button Step2: UI wakeup initiated (if standby) Step3: Home screen is activated Setp4: User browses applications specific icons using wheel button Step5. Icons are moving on screen left and right Step6: User selects application by pushing wheel button Step7: Application starts up <4 seconds Execptions: 1. If application cannot start there will be note on screen about problem Use Case A use case in software engineering and systems engineering, is a description of steps or actions between a user (or "actor") and a software system which leads the user towards something useful. [1]software engineeringsystems engineeringactor [1] Wikipedia
28
Create Use Case ACTOR Use Case SYSTEM Actor: System: IFDK kit Use Cacenario: Standby mode after boot 1.User turn’s on IFDK by pressing red button on front panel 2. Screen wil flash and show welcome text ”Hello my friend!” 3.User interface opens after seconds 4.Screen will show three selection buttons 5.After 30 seconds user inteface goes to standby mode Exeption: 1. If user activates screenby tapping it standby counter will be reseted Actor: System: IFDK kit Use Cacenario: Standby mode after boot 1.User turn’s on IFDK by pressing red button on front panel 2. Screen wil flash and show welcome text ”Hello my friend!” 3.User interface opens after seconds 4.Screen will show three selection buttons 5.After 30 seconds user inteface goes to standby mode Exeption: 1. If user activates screenby tapping it standby counter will be reseted
29
Why Use Cases? Use cases are used for define functional requirements!
30
Requirement Analysis http://en.wikipedia.org/wiki/Requirements_analysis
31
Requirment levels Customer/Business/Stake Holder Requirements System Requirements Design Requirements Component Requirements Implementation Scalability Stability Performance Security Performance Stress Usabilty
32
Requirement Tracebility Functional Requirements Functional Requirements Non-Functional Requirements Non-Functional Requirements Feature Design Implementation Test Bug Stake holder Requirement Stake holder Requirement Code ….. …… ….. Fix.. Implement/Fix TASK Test TASK Design TASK Design TASK Research TASK Research TASK
33
http://www.sysml.org/ UML OMT System Engineering Google: SysML, UML, Systems engineering, Software Design, Code Software Engineering - Architecture SysML UML OMT.NET, JAVA, C++ Software Engineering - Design Requirement Management http://www.sysml.org/
34
(FDD) Feature Driven Development
35
What is feature? Feature Feature is functionality of product/software which can be seen as one module/functionality of whole product Internal Flame kit has WLAN support Internal Flame Kit has touch screen user interface Feature is functionality of product/software which can be seen as one module/functionality of whole product Internal Flame kit has WLAN support Internal Flame Kit has touch screen user interface
36
Feature Example 1 Feature X * n Calory Counter: Player can measure calories during training session. This can be seen as exercise result in web service eg. Facebook application Energy usage
37
Feature Example 2 Table Drummer: Player drums table board instead of drum can. IFDK kit is able to use DSP algorithm to detect correct drum sound from environment. In training mode IFDK is trained to detect drum sounds for environment. Table Drum Mode DSP Algorithm DSP Algorithm
38
Is product a combination of features? Calory Counter Drum Metronome Table Drum Mode Standby Mode MIDI Support Touch Screen with single tap
39
Is product a combination of features Core Software/ Platform Core Software/ Platform Calory Counter Drum Metronome Table Drum Mode Standby Mode MIDI Support Touch Screen with single tap
40
Customer and features Calory Counter Drum Metronome Table Drum Mode Simple Training Mode MIDI Support Touch Screen with single tap Customer Type 1 Customer Type 2 Customer Type 3Customer Type 4 Who are our target customers?
41
Target Customers ? Drum Metronome Table Drum Mode Simple Training Mode MIDI Support Touch Screen with single tap Customer Type 1 Customer Type 2 Customer Type 3Customer Type 4 What is our key customer? Primary Target Calory Counter Secondary Target
42
Roadmapping features Requirement USE CASE #2 USE CASE #1 USE CASE #3 Requirement USE CASE #1User Story #1 User Story #2 User Story #3 Requirement USE CASE #2 USE CASE #1 USE CASE #3 Requirement USE CASE #1 User Story #1 Requirement USE CASE #2 USE CASE #1 USE CASE #3 Requirement USE CASE #1User Story #1 User Story #2 User Story #3 Requirement USE CASE #2 USE CASE #1 USE CASE #3 Requirement USE CASE #1 User Story #1 User Story #2 User Story #3 Requirement USE CASE #2 USE CASE #1 USE CASE #3 Requirement USE CASE #1 Requirement USE CASE #2 USE CASE #1 Requirement USE CASE #1 Release 0.1 Release 1.1 Release 1.2 Feature: Simple Training Mode Feature: Table Drum mode Feature Touch Screen with single tap Release 1.0 TIME TO MARKET!! For Target Group 3 CORE/Platform Software Development TIME TO MARKET!! For Target Group 2 TIME TO MARKET!! For Target Group 1
43
Requirement FEATURE Requirement WHERE IS STARTING POINT? “Let’s define first…”
44
Functional Requirement DEFINED USE CASE DEFINE USE CASE Functional Requirement Non Functional Requirement Can Lead to Helps to define!
45
Team Work: 1. SELECT TWO DIFFERENT DOMAINS Use Paper 2. DEFINE ACTOR’s ACCORDING DOMAIN DETECT ALSO ROLES Use Paper 3. DEFINE 10 EXAMPLE USE CASE’s FOR DOMAIN Use Paper DEFINE DRAFT FEATURES PACKS
46
Card Game Functional Requirement Non-Functional Requirement LOAD SECURITY MAINTENANCE IMPLEMENTATION Non-Functional Requirement Agile Epic / Theme SCALING FUNCTION SAFETY Non-Functional Requirement RECOVERY? NON FUNCTIONAL PERFORMANCE? Main { …. } Main { …. } ?
47
Card Game Stake Holders? Customer / User ?Business Request ? Use Case NON FUNCTIONAL PERFORMANCE? SCALING USABILITY UC Acceptance Criteria? RECOVERY? NON FUNCTIONAL User Story ? User Story Addition + SCENARIO ? Traditional Feature ?
48
Practice: Define some requirements for selected feature Functional Requirements Non-Functional Requirements
49
Who? When? How? Cost? Who? When? How? Cost? Who? When? How? Cost? Who? When? How? Cost?
50
Simple Requirment Process Defines Feature X * n Functional Requirements Functional Requirements Non-Functional Requirements Non-Functional Requirements Use Cases Vision of product Problem DomainSolution Domain Customer/Marketing/ business User Storys FEATURE VISION/NEED/PROPOSA L FEATURE VISION/NEED/PROPOSA L YOU! Design documents & implementation Test Case
51
Agile Process? Service Design Phase Service Design Phase Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 0 http://en.wikipedia.org/wiki/Agile_software_develop ment Product Life Cyle
52
Creating Product vision in a modern way Service Desing Customer Centric Provide evidences- prototyping/Mockup Lean requirement gathering (User Storys) Living documents (Wikis) User Storys
53
New requirement gathering process Service Design Methods Define Epic Storys -User Storys Define Features Prototyping -Prototyping -Interviews -Workshops
54
Vision Specification instead of requirement specification? Part of traditional requirement specification + Epics / Major features defined Compilation of User Stories Important requirement attributes specified Epics / Features defined Design Guidelines User Interface Prototypes Use Case if needed?
55
Brief History of User Story Used in agile development process for requirement definition and gathering Backlog Item Simple way to describe needed functionality
56
Use Story Examples As a user I would like to get notifications if get a new message from other users As a operator I would like to disable misbehaving user account As a owner of product x I would like to be able to reset it using one button As a selling person I would like to be able to set product X running a demo mode without my personal presence.
57
Concepts? What means a feature, requirement, use cases, and user story
58
Practice: Create User Storys USER STORY: As a bad behavin person I cannot access IFDK using wlan without encryption How to test? Acceptance Criteria? USER STORY: As a bad behavin person I cannot access IFDK using wlan without encryption How to test? Acceptance Criteria? USER STORY: As a member of audience I can hear effect sound that player is having electrical shocks How to test? Acceptance Criteria? USER STORY: As a member of audience I can hear effect sound that player is having electrical shocks How to test? Acceptance Criteria?
59
Agile requirement model Epic Story User Story UserStory1 RequirementId0002 EpicStory0001 Acceptance Criterias? As a customer I would like to pay with multiple ways As a user I would like to pay with Visa UserStory2UserStory3 As a user I would like to pay with Bitcoin As a user I would like to pay with Visa
60
USE CASE:_____________________________________________ Actor:__________________________________ Scenario: Execeptions: USE CASE:_____________________________________________ Actor:__________________________________ Scenario: Execeptions:
61
EPIC STORY: As a user I would like to use product which is fast to startup Story Points: Notes: Gadget should startup <5seconds How to show it is tested? (eg. Acceptance Criteria) Use timer to verify startup time. Measure time from power on to main screen activated. Time EPIC STORY: As a user I would like to use product which is fast to startup Story Points: Notes: Gadget should startup <5seconds How to show it is tested? (eg. Acceptance Criteria) Use timer to verify startup time. Measure time from power on to main screen activated. Time USER STORY: As user I would like to see startup message on screen, so I could be sure a gadget is started up Story Points: Notes: Gadget should startup <5seconds How to show it is tested? (eg. Acceptance Criteria) Use timer to verify startup time. Measure time from power on to main screen activated. Time USER STORY: As user I would like to see startup message on screen, so I could be sure a gadget is started up Story Points: Notes: Gadget should startup <5seconds How to show it is tested? (eg. Acceptance Criteria) Use timer to verify startup time. Measure time from power on to main screen activated. Time
62
USER STORY: Story Points: Notes: How to show it is tested? (eg. Acceptance Criteria) USER STORY: Story Points: Notes: How to show it is tested? (eg. Acceptance Criteria) USER STORY: Story Points: Notes: How to show it is tested? (eg. Acceptance Criteria) USER STORY: Story Points: Notes: How to show it is tested? (eg. Acceptance Criteria)
63
Requirement Specification General Requirement Specification System Use Cases Feature1 /Epic 1 -Service Desing -UI Proto Design -User Storys -Requirements Feature2 /Epic 2 -Service Desing -UI Proto Design -User Storys -Requirements
64
Team Work: Learn to Use VISIO and TRAC for documentation: 1. Draw all selected Use Cases with Microsoft Visio You can use also DIA on Linux platform 2. Define Actors as wiki pages links… Eg. ActorCustomer 3. Create own wiki page for all defined Use Cases Use ActorWikiPage linking in documentation! 4. Attach UseCase Diagrams (exported as JPG) directly on Use Case specific Wiki Pages Define step and all needed. PLEASE TRY TO USE WIKI LINKING AS MUSH AS POSSIBLE!
65
User Story USER STORY Examples Simple phrase describes a need. This can lead to several other storys! "As user I would like to open application easily” As a user I would like to select application from icon list on screen As a user I would like to configure amount of application icons on screen "As a user I would like to use wheel for speeding up selection process" "As a user I would like to initate application fast enough" "As a tractor driver I would like to have enhanced driving system” USER STORY Examples Simple phrase describes a need. This can lead to several other storys! "As user I would like to open application easily” As a user I would like to select application from icon list on screen As a user I would like to configure amount of application icons on screen "As a user I would like to use wheel for speeding up selection process" "As a user I would like to initate application fast enough" "As a tractor driver I would like to have enhanced driving system” User Story
66
Use Case, User Story & Requirement Requirement Measurable Testable Requirement Measurable Testable USE CASE Written scenario for action. Also execeptions included Use Case: Open Application Actor: Gadget User Step1: Gadget User touches home button Step2: UI wakeup initiated (if standby) Step3: Home screen is activated Setp4: User browses applications specific icons using wheel button Step5. Icons are moving on screen left and right Step6: User selects application by pushing wheel button Step7: Application starts up <4 seconds Execptions: 1. If application cannot start there will be note on screen about problem USE CASE Written scenario for action. Also execeptions included Use Case: Open Application Actor: Gadget User Step1: Gadget User touches home button Step2: UI wakeup initiated (if standby) Step3: Home screen is activated Setp4: User browses applications specific icons using wheel button Step5. Icons are moving on screen left and right Step6: User selects application by pushing wheel button Step7: Application starts up <4 seconds Execptions: 1. If application cannot start there will be note on screen about problem USER STORY Simple phrase describes a need. This can lead to several other storys! "As user I would like to open main menu using left button" "As a user I would like to use mouse wheel for zoom" "As a user I would like to initate application fast enough" USER STORY Simple phrase describes a need. This can lead to several other storys! "As user I would like to open main menu using left button" "As a user I would like to use mouse wheel for zoom" "As a user I would like to initate application fast enough" Non Functional Requirement "Performance Requirement" "Application Startup should take minimum 4 seconds" Non Functional Requirement "Performance Requirement" "Application Startup should take minimum 4 seconds" Functional Requirements "User can select application from ui by using wheel button " Functional Requirements "User can select application from ui by using wheel button "
67
Practice: Define specific requirements for feature Define 10 requirements in a team for a selected product
68
Customer Journey Map
69
Service Desing What is service design? Who needs it? How service design is linked with requirement management
70
Modeling…. How to understand better what is needed ??? ?
71
Important concepts Stake Holders Service Design Requirement Capturing System Design Software Design Hardware Design Service System Hardware Software Customer Stakeholder / Share holders Vision Implementation
72
Service Desing Service design is the activity of planning and organizing people, infrastructure, communication and material components of a service in order to improve its quality and the interaction between service provider and customers. The purpose of service design methodologies is to design according to the needs of customers or participants, so that the service is user-friendly, competitive and relevant to the customers. Wikipedia http://en.wikipedia.org/wiki/Service_design
73
Tools for Service Desing activities http://sdt.fi/en Download a tool set for you!
74
Logo The main logo consists of two elements, the leaf and the text laying horizontally. You can also use the logo with the FreeNest text under the leaf, if you need. Don’t do this often, the main logo should be the horizontal one.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.