Scrum Embedded Systems
Upcoming SlideShare
Loading in...5
×
 

Scrum Embedded Systems

on

  • 831 views

My Orlando 2009 Scrum Gathering presentation on how we have implemented Scrum in a HW and embedded SW environment at TC Electronic.

My Orlando 2009 Scrum Gathering presentation on how we have implemented Scrum in a HW and embedded SW environment at TC Electronic.

Statistics

Views

Total Views
831
Views on SlideShare
820
Embed Views
11

Actions

Likes
0
Downloads
10
Comments
0

2 Embeds 11

http://www.linkedin.com 10
http://www.lmodules.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Scrum Embedded Systems Scrum Embedded Systems Presentation Transcript

  • Scrum Embedded Systems - An experience report from Orlando Scrum Gathering, March 16, 2009 Agile Coaching - team empowerment… Bent Myllerup Scrum Coach, Agile Trainer and Software Development Manager Myllerup Consult, Hasseltoften 11, 8361 Hasselager, DENMARK  +45 2834 9084,  info@myllerup.dk
  • Presentation outline • The background for implementing Scrum at TC Electronic (TCE) • The challenges in combining embedded software development and Scrum • How we responded to the challenges Agile Coaching • Challenges we see today and our next steps - team empowerment…
  • Myllerup Consult My background Agile Coaching - team empowerment…
  • • Established in 1976 by John and Kim Rishøj, making quality guitar effects pedals • Market leader in professional signal processing – approximately 80% of all broadcasted music has at some point been processed by TC equipment • Customers include performers/musicians, broadcast, studios, live and installations • Key technologies include in particular digital effects and other signal processing Agile Coaching • Part of the TC Group with total of 420 people having a turnover of approx USD 100 mill - team empowerment… – Each company within the Group focus on a specific market segment
  • World Locations Lab.gruppen TC Applied Technologies TC Helicon Tannoy TC Electronic TCG Americas TCG Americas TC Japan TC China Tannoy Dubai Tannoy India Agile Coaching - team empowerment…
  • How TC Group discovered Scrum • We had a burning platform in non-performing device drivers for our product line of audio interfaces – Engineers were distributed across the world (India, Canada and Denmark) with lack of prioritization, direction and communication • Temporary collocation and Scrum made the difference and showed by example that Scrum actually works • Executives now see Scrum as a major key to success and “surviving” the financial crisis • Engineers are still distributed across the world, but the Agile Coaching use of scrum makes the difference - team empowerment… – We have actually added an additional location: California
  • The organizational environment at TCE • The product development department in TCE is divided into three business areas, who are responsible for their own product portfolio • The monthly Steering Group Meeting the whole team meet with management to discuss “state of the nation” and decide on approaches and actions Steering Group = Management Agile Coaching HD Guitar Fx Instrument Recording Amp - team empowerment…
  • Looking at the team in a Business Area SW eng HW eng Tester PO SM Agile Coaching Beta Test BM - team empowerment… ICT eng Sourcing Marketing Writer Mechanics Procurement
  • Why did we split the PO role? • The coordinating with procurement calls for traditional project management skills for the PO • The market calls for musician like attitude of the PO • We have found it hard find persons who possesses both skills Agile Coaching - team empowerment… PO BM
  • The Product Lifecycle at TC Electronic Scrum Agile Coaching Vision Backlog Sprints - team empowerment…
  • Hardware development cycles Additional print spin Schematic, Build prototypes, Mechanical drawings, Layout and verification, Mockup tests and 100% BOM EMC and safety 95% BOM tests Sourcing PCB, Sourcing critical production and Beta test components transport Legend Agile Coaching Team In-circuit test equipment - team empowerment… External Possible corrective Pre-production Verification of Mass production actions after beta Launch and transport pre-production and transport test
  • Benefits of having the hardware developers on the team as well • Mutual commitment towards a common goal – Delivery of the embedded product • Synergy between hardware and software in design and problem solving – Making the right solution at the right place and at the right price • Improved quality Agile Coaching – No “them and us” mentality – Quality assurance and test on the whole product - team empowerment… • Scalability – Hardware and software engineers help each other (e.g. building prototypes and do diverse tests)
  • Challenges in applying Scrum in embedded projects at TC Electronic • When the cross functional team includes hardware engineers, the whole team experiences constraints to external resources: – Producers of prototypes (printed circuit boards and mechanical prototypes) – The production plant (in circuit test equipment, sourcing of components, preproduction) – Safety and Electromagnetic Compatibility (EMC) certified test centers Agile Coaching • You can use nightly builds and tests, but have to test on the target in order to be certain that things actually work! - team empowerment… • Automatically verification of digital processed audio is a science in itself
  • How we responded to the challenges • Intensive coaching and teambuilding • The idle time when awaiting prototypes to be produced makes especially the hardware developers players in several projects in parallel – Instead of having team members defocused on several projects, we made the team responsible for the portfolio plan – one prioritized sprint backlog for several projects • Product backlog – We love user stories, but found a need for adding technical, Agile Coaching production and approval related backlog items as well – For each backlog item we specifies an accept or DONE criteria - team empowerment… • We implemented a setup of several build servers connected to our code repository – Mac Based – Windows Based – Embedded (AVR)
  • Handling requirements and monitoring progress in a multi-product BA Common Sprint Backlog Product A Increment Product A Backlog Product B Backlog Product C Backlog Product B Increment Product C Increment Agile Coaching - team empowerment…
  • Business Manager • Is responsible for initiating the product development and the project/product profitability The Scrum Process • Defines user related features and their business value Product Owner in the Product Backlog • Can change user related features and their business values at every sprint planning meeting • Accepts or rejects work results with respect to user at TC Electronic related features Program Manager • Is responsible for portfolio and project planning • Is responsible for the project budget (expenses, deliveries and time schedule) • Initiates and maintains Product Backlog, and prioritizes features according to business values • Facilitates making an absolute prioritization between features from various projects ScrumMaster • Ensures that the team is fully functional and productive • Enables close cooperation across all roles and functions and removes barriers • Shields the team from external interferences Daily Scrum: • Ensures that the process is followed. • What have you done since last meeting? • Invites to daily scrum, sprint review and sprint planning • What do you intend to do until next Team • Cross-functional, seven plus/minus two members meeting? 24 hours • What is in your way? • Selects the iteration goal and specifies work results • Has the right to do everything within the boundaries of Prior to the meeting: the project guidelines to reach the iteration goal • Estimate remaining work • Organizes itself and its work • Demos work results to the Business Manager and After the meeting: Program Manager • Re-planning if off schedule Sprint Review: • Demonstration of DONE functionality • Acceptance • Figuring out what is best to do next Sprint Backlog: • Desired functionality selected by Business 2 to 4 weeks Manager and Program Manager Sprint Plan: • Remember the bucket of water approach: ∑Size and complexity <= Team velocity • Defined by the Team Product delivery • Task size <= 2 days • Potentially ready for use Agile Coaching - team empowerment… Sprint Planning: • Business Manager, Program Manager and Team discuss desired functionality Sprint Retrospective: • Team defines necessary tasks in order to develop functionality • Team defines sprint goals and commit to deliver • Team takes pride in what it has • User Stories are discussed (first half) and broken into tasks (second half) accomplished • What went well? • What can be improved? Product Backlog: • Define concrete actions for next sprint • Assess team velocity • Described in User Stories with acceptance criteria’s. Story size <= half a sprint • Prioritized by the Program Manager and Business Manager • Maintained by the Program Manager • Estimated by the team (Planning Poker) • Anyone can contribute
  • Testing… • Unit test – Hard to implement on legacy code – We start new projects with a TDD approach • System test – We are incorporating SeqZap from Sequanto in order to perform automated test on target • Beta test – We have a corps of beta testers who test products in action before product launch. Agile Coaching • Most of TCE employees are musicians and users them - team empowerment… selves – enforcing high responsibility and awareness of quality
  • Automated test on embedded platforms • We are using SeqZap from Sequanto for script based automated test on target • We are planning to incorporate it into MIDI our nightly build and test Control/Logic verification AES environment Digital audio verification • SeqZap is easy to use and expand Agile Coaching with customized modules and - team empowerment… interfaces Verdict Report
  • Changing the mindset From: “This simply isn’t possible in a hardware environment” To: “We couldn’t have made this great product with out it” Agile Coaching - team empowerment…
  • Breaking down boundaries with coaching and teambuilding • Scrum is more than just roles and rituals – So in order to be successful, you must foster high performance teams • We did (and are still doing) a lot of intensive coaching and teambuilding. Some examples are: – Team awareness exercises – Ability spotting – Team coaching after principles taken from Appreciative Inquiry – Conflict resolution Agile Coaching – Individual coaching of key players • The above is based on my experience as a Systemic - team empowerment… Coach
  • The theory behind it Tuckman combined with Katzenbach and Smith: Forming Storming Norming Performing Agile Coaching - team empowerment…
  • Another theory behind it Relations Scope Direction Agile Coaching - team empowerment… Latitude
  • Ability spotting Agile Coaching - team empowerment…
  • Appreciative team coaching Phase 1: Definition Define what needs to Phase 5: Deliver be explored and Plan how to developed on implement and maintain the changes Phase 2: Discover Focus on best practice. How and when does it Phase 4: Design work in the team. Define concrete Agile Coaching goals - team empowerment… Phase 3: Dreaming Create a shared image of how it should be in the future – what would we like to achieve?
  • What we have gained through coaching and teambuilding • A shorter path to performing teams • Hardware developers have bought into using Scrum as the development process – And they actually like it • Individual minded team members have broken down the mental walls they have been hiding behind Agile Coaching • Improved communication in the team - team empowerment… – It’s okay to ask for and offer help – It’s okay to say “NO!” – There is a positive and appreciative attitude
  • Also: Use the Scrum rituals to foster team identity • Planning • Daily Scrum • Sprint Review • Sprint retrospective Agile Coaching - team empowerment…
  • Sprint reviews Agile Coaching - team empowerment…
  • Next steps • Implement Test Driven Development • Enlarge the team with Procurement and ICT Engineer • Think Lean in the whole organization • ... Agile Coaching - team empowerment…
  • Thank you for your attention www.agilecoaching.dk Agile Coaching - team empowerment…