Service Design and requirement Management How to combine two
similar worlds Course Material Marko Rintamki
Slide 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 )
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
Slide 7
Why requirement management IDEAL Requirements help Design
Requirements help Design REQ-X REQ-Y REQ-Z REQ-O REQ
Slide 8
Important Concepts Service Design Requirement Capturing System
Design Software Design Hardware Design
Slide 9
Important concepts Service Design Requirement Capturing System
Design Software Design Hardware Design Service System Hardware
Software Customer Stakeholder / Share holders Vision
Implementation
Slide 10
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/
Slide 11
Old School process model Change Management Change Management
http://en.wikipedia.org/wiki/Waterfall_model Requirement Management
Requirement Management Product Life Cyle
Slide 12
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
Slide 13
Service Desing What is service design? Who needs it? How
service design is linked with requirement management
Slide 14
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
Service Blue Print http://www.31v.nl/2010/05/the-service-
blueprints-overview/
Slide 19
Customer Journey Map Physical Evidence User Actions Front of
Stage Back of Stage Support Processes
Slide 20
Requirement Specification -One sentence which can be tested
-Sentence has to be understandable, measurable and testable All
team board should have own color palette Board can be "soft locked"
for further changes by user Board can be also seen as locked mode
without edit Selected board's can be set in full screen slide show
mode User will be able to upload own board as a background All
backgrounds are available for all team members There can be max 20
different backgrounds All team board should have own color palette
Board can be "soft locked" for further changes by user Board can be
also seen as locked mode without edit Selected board's can be set
in full screen slide show mode User will be able to upload own
board as a background All backgrounds are available for all team
members There can be max 20 different backgrounds 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
Slide 21
Requirements from product development point of view Scalability
Stability Performance Security Performance Stress Usabilty
Different points of view on system Requirement Categorys
scalability Stability Functionality
Slide 22
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
Slide 23
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
Slide 24
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
Slide 25
More Concepts What means a feature, requirement, use cases, and
user story
Slide 26
Domain & Features Client Tool Service Chat Invite ? ?
Customer can get support using client chat Player can invite non-
member from outside to chat Player can user team talk during
chat
Slide 27
Domains & Features Product Selling Services Payment Online
Transactions VISA Support PayPal Support BitCoin Support Buying
Process Req1 Req2 Req3 Req6 Req5 Req4 - Security
Slide 28
Domains, subdomain, features and sub-features DOM3 F20 F20-1
F20-1-1 F20-1-2 F20-1-3 XXXX YYYY ZZ DOM1 F4 F1 F4-1 F4-2 DOM2 F2
F3
Slide 29
Create Use Case ACTOR Use Case SYSTEM Actor: System: IFDK kit
Use Cacenario: Standby mode after boot 1.User turns 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 turns 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
Slide 30
USE CASE:_____________________________________________
Actor:__________________________________ Scenario: Execeptions: USE
CASE:_____________________________________________
Actor:__________________________________ Scenario:
Execeptions:
Slide 31
Use Story http://en.wikipedia.org/wiki/User_story
Slide 32
Brief History of User Story Used in agile development process
for requirement definition and gathering Backlog Item Simple way to
describe needed functionality
Slide 33
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?
Slide 34
Agile requirement model Epic Story User Story UserStory0001
RequirementId0002 RequirementId0003 EpicStory0001 As a user I would
like to use product Which is fast to power on As a user I would
like to use product Which is fast to power on As a Customer I would
like to have top quality product As a Customer I would like to have
top quality product NOTE: Gadget should have >30fps UI
performace NOTE: Gadget should have >30fps UI performace NOTE:
Gadget should Startup
Stakeholder list -> Actors? Customer Many customer roles
=> More actors? Think about Roles!
Slide 47
Domain -> Customer Support ?? Customer Support Service
System
Slide 48
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
Slide 49
Requirement FEATURE Requirement WHERE IS STARTING POINT? Lets
define first
Slide 50
(FDD) Feature Driven Development
Slide 51
Brainstorming 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! Thats Interesting! Tell me more! I love
it! Ok! Thats 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?
Slide 52
Is product a combination of features? Calory Counter Drum
Metronome Table Drum Mode Standby Mode MIDI Support Touch Screen
with single tap
Slide 53
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
Slide 54
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?
Slide 55
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
Slide 56
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
Slide 57
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
Slide 58
How to find requirements? You can find 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 Storys
(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
Slide 59
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
Slide 60
Requirement Categorys Functionality Implementation should work
like this way Functionality Implementation should work like this
way http://en.wikipedia.org/wiki/Functional_requireme nt
Slide 61
User interface? Usability of functionality? Functional
Requirements Functional Requirements Non-Functional Requirements
Non-Functional Requirements User Inteface Layouts
Slide 62
Practice: Define some requirements for selected feature
Functional Requirements Non-Functional Requirements
Slide 63
Use Case 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