19
Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group Course Project Assignment and Case Projects cs.lth.se/etsf01 Compiled information Elizabeth Bjarnason Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group ASSIGNMENT Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group Your assignment • Evaluate 3 SPM tools for a given case company Provide recommendations for 2 types of projects software porting project application development project Report evaluation & recommendations in a scientific way Covers SPM, SW metrics, technical writing & presentation. Scope: ETSF01 \ {SPI, software quality} Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group Learning objectives Connect theory to practice – software project management – assessment and evaluation – different types of software development projects Provide a group-learning setting focused on a realistic project setting Present information in a structured way, written + oral

Course Project Assignment and Case Projectsstudy Simulate SPM for case projects Investigate SPM tools 3 selected tools Example SPM artefacts, case project needs Design Evaluation FW

  • Upload
    others

  • View
    37

  • Download
    1

Embed Size (px)

Citation preview

  • Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Course Project Assignmentand Case Projects

    cs.lth.se/etsf01

    Compiled information

    Elizabeth Bjarnason

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    ASSIGNMENT

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Your assignment

    • Evaluate 3 SPM tools for a given case company• Provide recommendations for 2 types of projects

    • software porting project• application development project

    • Report evaluation & recommendations in ascientific way

    Covers SPM, SW metrics,technical writing & presentation.Scope: ETSF01 \ {SPI, software quality}

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Learning objectives

    • Connect theory to practice– software project management– assessment and evaluation– different types of software development projects

    • Provide a group-learning setting focused on a realisticproject setting

    • Present information in a structured way, written + oral

  • Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Course project activities

    • Design an evaluation framework for SPM tools• Assess / evaluate 3 different SPM tools• For each SPM tool and SPM area

    – Identify benefits and weaknesses– recommend suitable tool improvements

    • Recommend SPM tool for each of 2 SW project types• Report your work and its outcome

    – written report– oral presentation

    Exercise 1:Presentation

    techniques + metrics

    Your choice!

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Evaluation Framework forSoftware Project Management Tools

    Identify suitable factors to evaluate for 5 SPM areas• Activity planning• Effort estimation• Risk management• Resource allocation• Monitor & control execution

    + Quality aspects, e.g. usability (changes), performance,capacity

    Define measurements for each included factor

    Approach: Goal-Question-Metric (GQM) [Paper 1]

    Exercise 1

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Goal-Question-Metric (GQM)Method for designing SW metrics to assess goal fullfillment

    1.Define what the goals are2.Define questions that

    - Refine goals- Learn about progress towards goals

    3.Define metrics that- Answer/measure the questions- Determine if goal is achieved

    P1: V.R. Basili, Lindvall, Regardie, Seaman, Heidrich, Münch, Rombach,Trendowicz, “Linking Software Development and Business Strategy throughMeasurement”, IEEE Software, April 2010, pp. 57-65

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Example

    • Goal– Support activity planning in an efficient way

    • Questions– How can identification of project activities be supported?– How can dependencies between project activities be managed?– How can …

    • Metrics– Supported methods for activity identification: {WBS, PBS, Hybrid, Other,

    None}– Supported dependencies between activities: {None, Order, Lagging, …}– Efficiency of iteratively identifying activities: {Low, Medium, High}– ….

    Factors to include in EvaluationFramework

  • Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Method or Work ProcessCourse material,scientific articles

    Project typeinfo, case info

    Litteraturestudy Simulate

    SPM forcase

    projectsInvestigateSPM tools

    3 selected toolsExample SPMartefacts, caseproject needs

    DesignEvaluation

    FW

    Evaluation FW

    I. Planning & Design II. Data collection

    ApplyEvaluation

    FW

    Measurements

    III. Analysis

    Comparemeasurementsagainst project

    needs

    Tool recommendationsincl pros and cons

    IV. Reporting

    Write

    Project report &presentation

    Present

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Evaluate SPM tools

    Select 3 SPM tools. Consider• Access• Sufficient SPM support for case projects• Available documentation

    Apply evaluation framework

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Assignm ent * Evaluate 3 tools * Make recommendations for2 project types: Application Development and Software PortingAssignment

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Method or Work ProcessCourse material,scientific articles

    Project typeinfo, case info

    Litteraturestudy Simulate

    SPM forcase

    projectsInvestigateSPM tools

    3 selected toolsExample SPMartefacts, caseproject needs

    DesignEvaluation

    FW

    Evaluation FW

    I. Planning & Design II. Data collection

    ApplyEvaluation

    FW

    Measurements

    III. Analysis

    Comparemeasurementsagainst project

    needs

    Tool recommendationsincl pros and cons

    IV. Reporting

    Write

    Project report &presentation

    Present

  • Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Selecting 3 SPM tools

    Consider• Access• Available documentation• Sufficient SPM support for case projects

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Simulating case projectsCourse material,scientific articles

    Project typeinfo, case info

    Litteraturestudy Simulate

    SPM forcase

    projectsInvestigateSPM tools

    3 selected toolsExample SPMartefacts, caseproject needs

    DesignEvaluation

    FW

    Evaluation FW

    I. Planning & Design II. Data collection

    ApplyEvaluation

    FW

    Measurements

    III. Analysis

    Comparemeasurementsagainst project

    needs

    Tool recommendationsincl pros and cons

    IV. Reporting

    Write

    Project report &presentation

    Present

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Design Evaluation FrameworkCourse material,scientific articles

    Project typeinfo, case info

    Litteraturestudy Simulate

    SPM forcase

    projectsInvestigateSPM tools

    3 selected toolsExample SPMartefacts, caseproject needs

    DesignEvaluation

    FW

    Evaluation FW

    I. Planning & Design II. Data collection

    ApplyEvaluation

    FW

    Measurements

    III. Analysis

    Comparemeasurementsagainst project

    needs

    Tool recommendationsincl pros and cons

    IV. Reporting

    Write

    Project report &presentation

    Present

    ApplyEvaluation

    FW

    Comparemeasurementsagainst project

    needs

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Evaluation FrameworkCombo of Objective & Subjective measurements

    • Objective / Quantitative– Functionality exists or not– Performance: time to generate report– Number of project activities supported– ….

    • Subjective / Qualitative– Experts or questionnaires w Likert scales (ordinal)– Usability of system– Ease of use– …

  • Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Scales

    • Nominal scale – differentiate (=)– type of activity id= { activity, product, hybrid }

    • Ordinal scale – rank (=)– criticality of fault =

    critical > important > medium > low• Interval scale – degree of difference (=, ratio of intervals)

    – end time = date• Ratio scale – ratio of values & intervals, =,

    – duration = days

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    ReportMax 7 pages* in IEEE format (see Project descr for details)

    • Abstract• Introduction: SPM, Tools, scientific references• Methodology: How evaluation was performed• Case Projects• Evaluation Framework• Tool Evaluation incl improvements• Tool Recommendations per SW project type• Conclusion• References

    * + appendix for additional details

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Course project rel Exercises• Exercise 2 & 3: SPA

    – Hand in draft report & SPA report for draft 2 and Final– Review 2-3 other drafts – before class– Discuss at exercise– Summarise received feedback in SPA report

    • Exercise 4Oral reporting = part of assessment

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Draft 1• Due 48 + 5 h before your exercise class 2 (11 April -)• Content (see details in project description)

    – Outline level 1 & 2 of all sections (for Intro, see Ex 1a)– Opening of Introduction– Description of selected tools (in Intro)– Description of case projects– FW v1: activity planning + effort estimation (at least)

    More written =>More feedback == more ”help” to improve!

  • Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Report StructureMax 7 pages* in IEEE format• Abstract• Introduction: SPM, Tools, scientific references• Method: How evaluation was performed• Case Projects• Evaluation Framework• Tool Evaluation incl improvements• Tool Recommendations per SW project type• Conclusion• References

    * + 3 pages appendixfor additional details

    Bonus:> 2scientificrefs in IntroBonus:

    Description, validity

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Reference credibilityDifferent fora has differentcredibility• Scientific fora

    – Journals– Conferences– Workshops

    • Non-scientific fora:– Textbooks– Journalistist material– White papers– Web pages (inkl Wikipedia!)– …

    To find scientific papers– http://www.lub.lu.se– http://scholar.google.com– Detective work

    • Search broad• Select• Search deep

    • Search– Key words– Authors– References– Fora

    Ø Iterate

    Peer reviewed

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Example: Scientific referencesB.W. Boehm, Software Risk Management: Principles and Practices,

    IEEE Software, Jan 1991, pp. 32-41T. Dybå, An Empirical Investigation of the Key Factors for Success in

    Software Process Improvement, IEEE Transactions on SoftwareEngineering, 31(5), May 2005, pp. 410-424.

    E. Bjarnason, K. Wnuk, B. Regnell. Are you biting off more than you canchew? A case study on causes and effects of overscoping in large-scale software engineering, Information and Software Technology,54(10), Oct 2012, pp. 1107-1124.

    E. Bjarnason, K. Wnuk, B. Regnell. Requirements are slipping throughthe gaps – A case study on causes & effects of communication gapsin large-scale software development. Proc. Of 19th IEEEInternational Requirements Engineering Conference, pp. 37-46,2011.

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Your MethodThe process applied to achieve results

    Consider• What are the input? Course material, …• What activities? Select tools, analyse case projects…• In which order? Explore cases & tools, select tools, design

    FW …• Motivation for design choices, e.g. choice of tools,

    framework factors• Bonus: discuss limitations of results, validity

    Tip: Use ”method def” as basis for activity planning

  • Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Assessment (see project description for details)G Bonus points

    FormCorrect use of IEEE template & pagelimitations, Top-Down structure, good andclear language

    Excellent spelling & language. Top-down flow of text incl Intro moves 2

    Work & ContentAll content requested in project descriptionincluding scientific references.

    Excellent descriptions of SPM, caseprojects, method incl limitations. >2scientific references in Introduction.

    5

    Evaluation framework appropriatelydesigned including choice of properties andmeasurements to include.Clear reporting of the evaluation results.

    Well-presented tool recommendation perproject type, motivated by evaluation results.

    Tool recommendations are excellentlymotivated and presented based on theevaluation results and clearlyconnected to project characteristics.

    2

    Oral presentationClear and understandable, and within time. Excellent. Use of rhetorical model.

    Covered all content within given time. 1Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Project assignment in course schedulew

    ExerciseE:3308

    Classes A, B: JLClasses: C, D: EB

    Exercise topic Project deliveries: due date

    Mar 21 1Exercise 1

    A: We 13, B: We 15,C: Tu 15, D: Wed 10

    Project kick-off &Presentationtechniques

    Define groups

    Mar 28 2 EASTER MONDAYApr 4 3

    Apr 11 4Exercise 2

    A: We 13, B We 15C: Th 15, D: Fr 10

    SPA I(1) Draft 1: (48+5) h beforeEx2(2) Peer assessment reports

    Apr 18 5Apr 25 6

    May 2 7

    Exercise 3A: We 10,

    B: Tu 15 (OBS: E:3336 EB)C: Tu 8 (JL), D: Tu 10

    SPA II (1) Draft 2 + SPA log(2) Peer assessment reports

    May 16 8

    Exercise 4A: We 13 (OBS: E:3336) ,

    B We 15 (OBS: E:3336)C: Th 15, D: Fr 10

    PROJECTCONFERENCE

    NOTE: Examination(1) Presentation material(2) Final report + SPA log

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Project Deliveries vs Exercises

    • 48 + 5 h beforeExercise 2

    • Before Ex 2

    • At Ex 2• Group work

    • 48 + 5 hbefore Ex3

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Moodle: Register for course- Go to moodle.cs.lth.se

    - Create moodle account for your project group.NOTE: One account per group with Förnamn = ”Grupp”,Efternamn = GroupID (e.g. ”A3”).

    - Register for ETSF01 course inmoodle.Use course key:ETSF01Moodle

    NOW!4-6th April

  • Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Attach reportas pdf

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

  • Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Project delivery:Progress report / Action log

    Excel format!

    Actions takento addressfeedback

    To be submitted withDraft 2 and Finalreport

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Revised Deadlines• Draft 2 & Progress log [in Moodle]:• Classes C, D: Fr 29/4 7.00 - Ex 3: Tue morning

    Class B: Fr 29/4 12.00 - Ex 3: Tue afternoon• Class A: Mo 2/5 8.00 - Ex 3: Wed afternoon• Presentation material: 48 h before Ex 4 [in Moodle]

    • 8 min presentation per group on 1 SPM area (assigned by TA)• Another group acts as opponent (5 min) (assigned in moodle)

    • Feedback on presentation technique• Qs on presentation

    NOTE: Part of project assessment => Active participation for pass• Final report & Progress log: Mon 23/5 9.00 (strict!)

    Submit via email to [email protected], [email protected] subject line ‘Report’ + + ,e.g. ‘Report from Group Z: ain09aha, jur10eib…’

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    CASE PROJECT INFORMATION

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    The Case – Your Story

    Daumob Ltd need advice on which projectmanagement tool to use• Large company producing consumer devices• Many different project types• Your focus: projects forØsoftware portingØapplication development

  • Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Your Story: DauMob Ltd technical dependencydelivers to

    • Fictive, but realistic case• Your focus

    • Application development• Software porting

    DauMob Ltd 4.000 empl

    SW dev unit

    SW Platform Project

    Internal HWproject

    SW portingproject

    SW Updatecentre

    3P SW Supplier3P SW Supplier

    Google: AndroidOSS Project

    HW VendorHW VendorHW Vendor

    Factory lines RetailersAd campaigns

    App projectAppApp dev project

    Customersupport

    Product ProjectProduct ProjectProduct project

    Market

    Key customers

    Featuredev projectFeature

    dev projectApp devproject

    Proof-of-conceptprojects

    Pre-studyprojects

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Summary of Project Types

    Proof of Concept Project The purpose is to implement a new image processing algorithm and show offhow pictures has more true color in a slideshow. The objective is to get a go ahead from the Stakeholderwho then will finance the following Application project. This is a small project with 2-3 persons involved.Pre-Study Project An example is to study how to introduce a Wi-Fi Hotspot functionality in a mobile phone.This functionality is based on well-known technology so the purpose is primarily to study the system impacthow to integrate it into a mobile product. This project only involves 1-2 persons.SW Porting Project This is a mobile phone project with the objective to take an existing SW code base andupdate it from Android 4.4 KitKat version to 5.0 Lollipop. This porting activity is impacting all the SW modulesin the system and involves at least 30 persons or more.Application Project The project consists of a dedicated team who works with a new Health applicationincluding a step counter and giving useful hints to the user. This application is dependent on low level sensorsupport, algorithms and ui design and involves persons with different technical experiences. This projectinvolves about 5-7 persons.SW Platform Project From a practical perspective in order to meet a deadline with launching a completeproduct, then several Application projects are combined with the Porting project into a Platform project. Thefocus for the Project manager is to manage a team of sub Project managers and not a team of SWengineers. The project consists of 15 to 30 subprojects and the porting project. This is a large project andinvolves at least 100 persons.Product Project A product projects objective is to produce a complete HW and SW system. The SWPlatform project is a sub project to the product project. This is a large project and involves at least 100persons.Maintenance Project After the project is finalized and the product is released on the market, there is a needto start a Maintenance project. The purpose is to analyze issue reports and to correct the SW. The numberof persons involved depends on the lead time and the quality of the SW. At least 20 persons are involvedthough many more persons are involved depending on the issue.

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    SW Porting Project

    § Ports app level SW to new HW platform incl company patches to Android OSS§ Lead time is important: 4-7 months until main release§ Dependencies

    • Delivers to SW Platform & Product projects: plans and HW platform releases• Uses external HW components

    § Process§ Phase-based with 3 increments: 2 pre-releases and 1 main release§ Phases: design & planning, implementation, system testing incl ceritification,

    maintenance§ Coordinating roles: project managers, requirements coordinator, senior

    architect, integration & configuration manager (CM), system test lead, qualitycoordinator

    § Software area team (20-25 teams): 1 team leader, 1 reqts/product owner, 1area architect, 1-3 developers (code + functional testing)

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Activity Planning: Software Porting

    Scope: Enable SW platform for Lollipop release

    • Identify impact of new release on existing SW modules, e.g.Security, Audio, Video, Touch, Sensor, Local Connectivity,Device Drivers, Location Services.

    Who: SW Architect and Requirement EngineerOutput: New Lollipop features and impact modules

    • Identify activities per feature and SW moduleWho: Project manager & Tech area SW ArchOutput: An activity plan per SW module and per related new

    feature. MS Project task list is an example on a usedactivity tool.

  • Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    SW Porting Project OrganisationSW Porting PM

    Integration& CM

    RequirementsCoord.

    SystemTest Leader

    QualityCoordinatorSW Architect

    UsabilityCoordinator

    SWA TestTeams

    SoftwareAreas

    MultimediaMessagingUMTS ServicesSATPTTOS&DD lUtilityAppsGraphicsMMIAudio Control

    Text&IconsBT&Local Connectivity

    SyncML/Dev. Mngment

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Project Steering:Software Porting Project

    Project Change Control

    Steering Group

    ResourceManagement

    Line Managers Project Manager Product Owner

    Stakeholders, Sponsor

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Project Steering:Application Dev Project

    Change ControlResource

    Management

    Sponsor Scrum Master (PM) Product Owner

    Stakeholders

    Project

    Line managers

    “Steering group”

    Initial scope &resources Then primarily self-

    governance

    1 dev team

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    CASE PROJECTSActivity Planning

  • Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Software Porting: Activity Planning

    TasksUSB adaptationVerificationOTG (OnTheGo)USB Audio (optional)

    Key use cases are external media (e.g. HDD), Keyboards (HID),and Audio over USB. Most of the components are supplied.The complex component is the audio adaptation.

    • Activities identified based onimpact on software architecturecomponents

    • Based on documentation ofchanges in new Android cookie

    • First by SW architects (Top)then refined by Softwareengineers per technical area(Down)

    Example: USB, including OTG

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Case: Activity Planning

    Pre-study Status, Feasibility planning

    Activities andWork products

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Application Development§ New or updated application, e.g. TV integration feature, health app, social game§ Requirements: customer-specific apps or driven by market needs

    • high-level reqs, details are usually left to developers• Lead time can be critical: 9w – 2 years§ Dependencies

    • Deliver to main SW Platform branch &/ Product projects (200-400 app projects / SWPlatform)

    • May use 3-party software & have dependencies to HW and/or Android OSS§ Process

    • Scrum w initial pre-study period then iterations (sprints) w coding & testing• Roles

    – Product owner (customer repr): approves scope incl reqts changes– Sponsor (line manager): ensure sufficient resources– Scrum master (PM): support team w planning incl risks, monitor & report status

    to SW Platform project– Team of 1-20 devs: detail HL reqts w product owner, code and test agreed reqts– Dedicated tester: plan larger test effort & coordinate w SW platform system test

    lead

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Activity Planning: App Projects

    planning meeting

    Daily status &synch

  • Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Activity Planning: Application Project•Scope: A new version of a health app is to be developed

    - Before dev begins• a) Product Owner (acting as the customer) defines the new

    functionality as user stories and prioritizes these in the productbacklog.

    • b) SW architect identifies technical dependencies between theuser stories and updates the backlog order.

    • c) project manager adds additional high-level activities requiredby the process, e.g. xxx.

    - For each sprint: SW architect and software developers identifytasks (activities) for the most prioritized user stories. These areordered and added to the sprint backlog.

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    CASE PROJECTSEffort Estimation

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    SW Porting: Effort estimation

    Task Effort (mw)USB adaptation 3Verification 3OTG 4USB Audio(optional)

    5

    Total 15

    USB, including OTGKey UCs are external media (e.g. HDD), Keyboards (HID),and Audio over USB. Most of the components are supplied.The complex component is the audio adaptation.

    Rough estimate-by Senior architect-Informal analogy – cmp previous-Expert judgement, main impact

    Detailed estimate- by SW area teams- Expert judgement of tasks

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Application Dev Project: Effort estimate

    § Pre-study phase: Expert judgementby SW architect

    • Considers overall impact of new requirements• Considers experience of team: individually &

    together

    • Dev phase. Per sprint & User story: Planning pokerby development team members

  • Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Planning Poker (Story points)

    http://www.crisp.se/bocker-och-produkter/planning-poker

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    CASE PROJECTSResource allocation

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    SW Porting Project: Resource allocationResource Request per 200602 200602 200602 200603 200603 200603

    Function Group 200602_REQ 200602_ALL Diff 200602_REQ 200602_ALL Diff

    L_PG_A-DRM L_PG_A-DRM 1,7 1,9 -0,2 1,7 1,6 0,1L_PG_BTLC L_PG_BTLC 2,65 2,4 0,25 2,1 1,85 0,25L_PG_CORE L_PG_CORE 3 2,7 0,3 2 2,3 -0,3

    L_PG_GAMES L_PG_GAMES 3,75 3 0,75 2,75 2,75 0L_PG_GFX L_PG_GFX 3 3 0 3 3 0L_PG_IMMM L_PG_IMMM 6,6 6,6 0 4,4 4,4 0

    L_PG_MESSA L_PG_MESSA 6 7,75 -1,75 5 4,5 0,5L_PG_OAF L_PG_OAF 4,5 5 -0,5 3,5 3,75 -0,25L_PG_PCSW L_PG_PCSW 1 1 0 1 1 0L_PG_PIM L_PG_PIM 1,75 1,75 0 1,75 1,75 0L_PG_PM-SW L_PG_PM-SW 4 3 1 4 3 1L_PG_SAT L_PG_SAT 1 1 1 1L_PG_SPEC L_PG_SPEC 3,2 3,2 0 3,5 2,9 0,6L_PG_SVER1 L_PG_SVER1 8,5 7,85 0,65 8,2 8,05 0,15L_PG_SVER2 L_PG_SVER2 12,55 13,05 -0,5 12,9 12,6 0,3

    L_PG_SWARC L_PG_SWARC 0,2 0,2 0 0,2 0,2 0

    L_PG_SWPRO L_PG_SWPRO 1 1 0 1 1 0L_PG_SYDEV L_PG_SYDEV 4 3,1 0,9 4 1,8 2,2L_PG_UIAPP L_PG_UIAPP 3,5 3,25 0,25 3,5 1,25 2,25L_PG_UIDES L_PG_UIDES 0,8 1,05 -0,25 0,8 1 -0,2L_PG_UIGUI L_PG_UIGUI 4 3,41 0,59 4 2,91 1,09L_PG_UISPC L_PG_UISPC 2 1,4 0,6 2 1,4 0,6L_PG_UITXT L_PG_UITXT 5 3,7 1,3 5 3,7 1,3L_PG_UMTS L_PG_UMTS 4,5 2,75 1,75 4,25 1,75 2,5

    L_PG_VERCO L_PG_VERCO 2 2 0 2 2 0L_PG_WAP L_PG_WAP 2,75 5,2 -2,45 2,75 4,5 -1,75SUM 91,25 87,36 3,89 84,6 73,36 11,24

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    SW Porting: Resource Allocation

    • PM requests resources based on estimated activity plan• Line managers allocate resources to different projects• PM considers diff

    – Was the request right?– If overallocated, talk to managers. Do they info

    project is missing?– If underallocated, do consequence analysis and

    consider alternative plans &/ arguments for moreresources. Escalate to steering committee.

  • Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    SW Porting: Resource allocation is continuous

    0

    1

    2

    3

    4

    5

    6

    7

    8

    Pers

    ons

    Function Groups

    November - Requested versus Allocated

    RequestedAllocated

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Application Dev Project:Resource AllocationHigh-level allocation of team members, then self-governing teams.• Overall effort estimate from pre-study used to request & allocate

    team• During iterations/sprints tasks are ”pulled” by team members

    according to prio order. No PM allocation of tasks.• For each sprint planning, the team capacity is calculated based on

    team members availability & previous team velocity• Problems, e.g. with rate of progress, discussed within the ”steering

    group”, i.e. Product owner, Scrum Master and Sponsor

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    CASE PROJECTSRisk Management

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    SW Porting: Risk managementSecuring the critical chain* with buffers

    Dea

    dlin

    e

    50% / 90% estimates of each task.Duration = 50% estimates, The rest (51-90%) in buffers

    • Project buffer = Sum(t_90-t_50) / 2 for the tasks in the critical chain• Feeding buffer = Sum(t_90-t_50)/2 for chain connecting in to the critical chain

    *longest chain ofactivities consider task& resourcedependencies

    = critical path +resource limitations

  • Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Critical chain approach (cont.)

    • “Critical chain” also considers resources• Put a project buffer at the end of the critical chain with

    duration 50% of sum of comfort zones of the activitieson the critical chain

    • During project execution monitor how much of thebuffer that has been used

    • Supported in tools, e.g. through add-on to MS Project

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    SW Porting:Executing a Critical Chain Plan

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Executing & Monitoring CC plans

    • Principle: focus your efforts - ”multitasking i evil”– No chain of tasks is started earlier than

    scheduled, but once it has started is finished assoon as possible

    – This means the activity following the current onestarts as soon as the current one is completed,even if this is early – the relay race principle

    • Fever charts are used to monitor progress andcatch tasks at risk

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Critical Chain: Fever Chart

    Delivery accuracycan be achievedWHEN project is

    PlannedAND

    Monitored

    t

  • Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    SW Porting Project: Risk management

    Brainstorming with core PMteam- Software area teams

    contacted, if needed

    Other purposes- Bring project team together- Establish “us”- Discover product needs

    Select 5-10 top risksMonitor, e.g.- used as agenda at project

    meetings- identify actions to mitigate

    these risks

    Risks

    Risk listRisk identification& analysis Risk monitoring

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Case Example: Estimating Risk Exposure

    Risk S P R Action

    External deliveries No10 may be late and ofbad quality.

    5 5 25 1) Plan a focus meeting and review the work break downand update the resource estimates.2) Check if we can include penalties in contract

    Lack of resources inarea No 2

    4 5 20 1) Make an analysis with Current, Minimum andrecommended resources within the are.

    2) Ensure that project needs are taken into account inline planning (through steering group)

    Graphics performancetoo poor

    5 3 15 1) Request to configure without Graphics accelerator.2) Perform performance test and increase resourceallocation.

    Risk exposure = Severity * Probability = Risk priority

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Case Example:Risk prioritization/exposure

    Severity Schedule Delayon Launch (time)

    Functionality/ Performance(scope)

    Perceived quality(scope)

    1 1-2 w Reduced performance on a nonkey functionality

    Customer notices reducedperformance on a non keyfunctionality

    2 3-4 w Drop of a non key functionality Customer annoyed onquality of non-keyparameter

    3 1-2 m Reduced performance on a keyfunctionality

    Customer annoyed onquality of key parameter

    4 2-3 m Drop of a key functionality Customer complaint5 >3 m Drop of several key functions Product return, non-

    recommendation

    Probability1 60 % probability that risk will occur

    General prio per project type- SW Porting – time- App Dev – scope: functionality- Maintenance – scope: quality

    Scope: func +quality

    time

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Application Dev Project:Risk Management

    • Informal and integrated in Scrum process• Depends on individuals

    Pre-study:- Product owner performs risk identification & prio- Affects backlog prio & communication with team

  • Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Application Dev Project:Risk Management

    During development / sprints: Risks managedcontinuously- Transparency incl continuous dialog with customer- Risks discussed in planning poker and included in

    estimates- If too much unknown, a ”spike” can be performed- Hindrances mentioned at daily stand-up meetings

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    CASE PROJECTSMonitor & Control

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Weekly status report collected by PM fr teams & tracking systems- Progress relative delivery scope & timeline- Software quality status (performance)- Risks and Actions

    Presented at project meeting &to steering group & sponsor

    PPSPi2 Integration statistics

    0

    5

    10

    15

    20

    25

    30

    upto

    wee

    k33

    9

    340

    341

    342

    343

    344

    345

    346

    347

    348

    349

    350

    351

    352

    401

    402

    403

    404

    405

    rest

    of20

    04

    Week number

    Num

    bero

    fbub

    bles

    MS2 plan

    Current plan

    Integrated

    Number of CCBbubbles

    SW Porting Project: Monitor and control

    SummaryThe project is in the execution phase andthe project includes 97 SW deliveries(bubbles) in the Anatomy.28 SW deliveries (bubbles) are nowdelivered.A checkpoint is scheduled in week 48.5 inorder to summarize the status and to decidehow to move forwardCritical areas are:1.Deliveries are pushed forward, see belowintegration statistics.2.Graphical performance. The graphicalperformance is only 25% of the expectedperformance. Root cause analysis isongoing3.Quality problems with the FM-Radio RDSchip. Re-planning is ongoing.

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    SW Porting Project: Monitor & Control

    Resource allocation monitored on a monthly basis

    0

    1

    2

    3

    4

    5

    6

    7

    8

    Pers

    ons

    Function Groups

    November - Requested versus Allocated

    RequestedAllocated

  • Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    SW Porting Project:Monitor & Control of COST

    Cost monitoringSYSTEM ProjectOrder & Cost (KEUR)

    TotalActual

    TotalForecast

    OctoberActual

    OctoberForecast

    Man Months 92 130 19 27

    Labour hours 12 989 18 302 2 685 3 779

    Labour costs 1 348 1 830 290 378

    Material/Consumables 100 60 10 20

    Travel & Living 11 39 3 5

    Consultants 10 20 5 7

    Misc 2 5 1 2

    - Reported once a month & at checkpoints to steering group- Extracted from internal systems- View progress, not just spenditure

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    Application Dev Project:Monitor & (Team) Control

    • Regular feedback & knowledge share– Daily stand-up meetings– Sprint demos & planning, sprint retrospectives (process!)

    • Burn-down charts used to monitor progress & ”remaining work”• Dependant projects

    – Status reporting delivered to SW Platform & Product projects– Status reports received from, e.g. SW

    porting project. Info on dependentfunctionality & deliveries, considered insprint planning as part of backlogprioritization.

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    CASE PROJECTSSoftware Process Improvement

    Lund University / Faculty of Engineering/ Department of Computer Science / Software Engineering Research Group

    SW Porting (Trad)• Post-project meeting:

    lessons learnt,postmortem

    • Lean Six Sigmaimprovement projects

    • Driven by line mngement

    App Dev (Agile)• Sprint retrospectives

    • Driven by team