Scrum Embedded Systems
Upcoming SlideShare
Loading in...5

Scrum Embedded Systems



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.



Total Views
Views on SlideShare
Embed Views



2 Embeds 11 10 1



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.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
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, 
  • 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 Agile Coaching - team empowerment…