service design and requirement management how to combine two similar worlds course material marko...

Download Service Design and requirement Management How to combine two similar worlds Course Material Marko Rintamäki

If you can't read please download the document

Upload: violet-walton

Post on 25-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 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