Gen AI in Business - Global Trends Report 2024.pdf
Scrum Embedded Systems
1. 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
2. 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…
3. Myllerup Consult
My background
Agile Coaching
- team empowerment…
4. • 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
5. 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…
6. 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
7. 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…
8. 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
9. 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
10. The Product Lifecycle at TC Electronic
Scrum
Agile Coaching
Vision Backlog Sprints
- team empowerment…
11. 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
12. 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)
13. 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
14. 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)
15. 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…
16. 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
17. 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
18. 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
ASIO
environment Digital audio verification
• SeqZap is easy to use and expand
Agile Coaching
with customized modules and
- team empowerment…
interfaces
Verdict Report
19. 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…
20. 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
21. The theory behind it
Tuckman combined with Katzenbach and Smith:
Forming Storming Norming Performing
Agile Coaching
- team empowerment…
22. Another theory behind it
Direction
”Manager” ”Coach”
Scope Latitude
Top down
At eye level
Agile Coaching
- team empowerment…
Relations
24. 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?
25. 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
26. Also: Use the Scrum rituals to foster team
identity
• Planning
• Daily Scrum
• Sprint Review
• Sprint retrospective
Agile Coaching
- team empowerment…
28. Next steps
• Implement Test Driven Development
• Enlarge the team with Procurement and ICT Engineer
• Think Lean in the whole organization
• ...
Agile Coaching
- team empowerment…
29. Thank you for your attention
www.agilecoaching.dk
Agile Coaching
- team empowerment…