Service Design and requirement Management How to combine two similar worlds Course Material Marko...
Preview:
Citation preview
- Slide 1
- Slide 2
- 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 )
- Slide 4
- About Services
- Slide 5
- Seller Customer Developer Hacker Seller Customer Developer
Hacker
- Slide 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
- 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
- Slide 15
- Requirement Specification
http://en.wikipedia.org/wiki/Software_Requirements_Specifi
cation
- Slide 16
- Tools for Service Desing activities
http://www.servicedesigntools.org/taxonomy/term/3
http://servicedesign.wikispaces.com/
- Slide 17
- Customer Journey Map
http://prezi.com/vsapapswxzho/infolab/?utm_source=website&utm_medium=pr
ezi_landing_related&utm_campaign=prezi_landing_related_author
- Slide 18
- 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