Yes, Hardware Can Be Agile!

Similar documents
Safety-Critical Applications Built via Agile Discipline

Nancy V s Background. n Coaching Agile teams, managers, companies since 1998

Embedded Storycrafting: Key to Controlling Risk and Schedule

Deep Agile Blending Scrum and Extreme Programming. Jeff Sutherland Ron Jeffries

Introduction to Agile and Scrum

Agile for Medical Product Development with Microsoft TFS

Virtual Platforms Addressing challenges in telecom product development

Chapter 6. Iteration 0: Preparing for the First Iteration

Scaling Agile with the Lessons of Lean Product Development Flow Copyright 2012 Net Objectives, Inc. All Rights Reserved

SuperIOr Controller. Digital Dynamics, Inc., 2014 All Rights Reserved. Patent Pending. Rev:

Marketing scrum vs IT scrum two marketing case studies who now act first and apologize later

Modern practices TIE-21100/

Learning and Coaching Agile Methods. Görel Hedin Computer Science Lund University, Sweden

Eli Levi Eli Levi holds B.Sc.EE from the Technion.Working as field application engineer for Systematics, Specializing in HDL design with MATLAB and

One Trusted Platform. For all your software projects. Agile. Integrated. Simplified. Requirements brought to you the most

Agile Austin Dev SIG. June Continuous Integration (CI)

Mastering Security in Agile/Scrum, Case Study

Applying Lean on Agile Scrum Development Methodology

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

HP DevOps by Design. Your Readiness for Continuous Innovation Rony Van Hove/ April 2 nd, HP Software: Apps meet Ops 2015

Embedded Extreme Programming: An Experience Report

FPGA Prototyping Primer

Copyright 2015, SAS Institute Inc. All rights reserved. SAS VISUAL ANALYTICS FOR UN COMTRADE

Agile Software Development

Executive Guide to SAFe 24 July An Executive s Guide to the Scaled Agile Framework.

Leveraging Agile and CMMI for better Business Benefits Presented at HYDSPIN Mid-year Conference Jun-2014

Digital Transformation of the Enterprise for SMAC: Can Scrum help?

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

Agile Testing Overview

high-performance computing so you can move your enterprise forward

Nova Software Quality Assurance Process

Chapter 12. The Product Coordination Team

How To Integrate Software And Systems

Hardware Virtualization for Pre-Silicon Software Development in Automotive Electronics

Laboratório de Desenvolvimento de Software

TOP 3 STRATEGIES TO REDUCE RISK IN AUTOMOTIVE/IN-VEHICLE SOFTWARE DEVELOPMENT

HP Application Lifecycle Management

Agile Notetaker & Scrum Reference. Designed by Axosoft, the creators of OnTime the #1 selling scrum software.

ICAgile Learning Roadmap Agile Testing Track

Medical Device Agile Systems Development Workshop

Product Stack and Corporate Overview

D25-2. Agile and Scrum Introduction

Test Driven Development of Embedded Systems Using Existing Software Test Infrastructure

Chapter 9. The Role of Quality Assurance in Lean-Agile Software Development

Chapter 10. Becoming an Agile Enterprise

agenda AGILE AT SCALE

Automated Acceptance Testing of High Capacity Network Gateway

Introduction to User Story Mapping. July 2015 COPYRIGHT 2015 AGILITY SOFTWARE 1

Course Title: Planning and Managing Agile Projects

Collaborative Project Management in a DevOps Culture

GEARBOX MONITOR MODEL NR USER MANUAL

Lean vs. Agile similarities and differences Created by Stephen Barkar -

Agile Requirements And Testing For Continuous Software Delivery

Adopting Agile Approaches for the Enterprise

It s Not Called Continuous Integration for Nothing!

Agile and Secure: Can We Be Both?

Hardware in the Loop (HIL) Testing VU 2.0, , WS 2008/09

Lean Software Development and Kanban

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Why Alerts Suck and Monitoring Solutions need to become Smarter

Extending the Power of FPGAs. Salil Raje, Xilinx

Program & Portfolio! Management using! Kanban! Copyright 2013 Davisbase Consulting. Limited Display License Provided to ASPE

Introduction to Agile Methods

Test-Driven Development

Measuring ROI of Agile Transformation

EVMS Planning and Execution for Agile Projects

Bridging Development and Operations: The Secret of Streamlining Release Management

ni.com/vision NI Vision

TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes

Managing Agile Projects in TestTrack GUIDE

ELEC 5260/6260/6266 Embedded Computing Systems

Electronic system-level development: Finding the right mix of solutions for the right mix of engineers.

Model-based system-on-chip design on Altera and Xilinx platforms

in O&M/Sustainment: What s Different? Paul E. McMahon Principal, PEM Systems

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

The Executive Action Team Leadership in an Agile Paradigm

In4073 Embedded Real-Time Systems. Koen Langendoen (course instructor) Arjan van Gemund (founding father) Embedded Software group

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

VISUAL REQUIREMENTS MANAGEMENT WITH KANBAN. Mahesh Singh Co-founder/ Sr. VP Product, Digite, Inc.

Software Engineering I (02161)

Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8

Agile Software Development Methodologies and Its Quality Assurance

Introduction to Embedded Systems. Software Update Problem

Seeking Opportunities for Hardware Acceleration in Big Data Analytics

SAFETY & RESILIENCE ISSUES IN AUTOMOTIVE SOFTWARE DEVELOPMENT PANEL

Scrum: A disciplined approach to product quality and project success.

The Evolution of CCD Clock Sequencers at MIT: Looking to the Future through History

The Virtualization Practice

Bridging the Gap Between Acceptance Criteria and Definition of Done

Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

Extending Network Visibility by Leveraging NetFlow and sflow Technologies

Getting to Done The Secret Sauce of High Performing Teams

Moderator: Albert Jeffrey Moore, ASA, MAAA. Presenters: Albert Jeffrey Moore, ASA, MAAA Kelly J. Rabin, FSA, MAAA Steven L. Stockman, ASA, MAAA

AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson Jyväskylä

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association

Testing in Scrum Projects

Transcription:

Yes, Hardware Can Be Agile! Boston SPIN, 15 Mar 2016 Nancy Van Schooenderwoert http://www.leanagilepartners.com/ NancyV@LeanAgilePartners.com 2015-16 Lean-Agile Partners Inc. All rights reserved. 1 Nancy V s Background Electrical Engineering and Software Engineering for embedded systems 15 years safety-critical systems development experience Since 2002: Agile coaching of teams and managers in regulated industries Industries: Aerospace, Medical Devices, Sonar Weaponry, Scientific Instruments, Industrial Controls, Financial Services Author of papers and articles on Lean and Agile methods for engineering work Frequent presenter at Agile-related conferences worldwide Past president of Agile New England, current ANE board member 2 1

Topics Hardware roots of Agile Agile Engineering: examples Team composition mirrors workflows Want predictability? Or fast learning? 3 In the beginning I came to a conclusion that you had to get the machines to tell you what they were doing. And that if you wanted to trust what you got the machines to tell you, that part had to be very simple. 1977 Ward Cunningham testing early microprocessors forerunner of TDD (Test-driven development) 1980 Kent began working with Ward at Tektronix 1999 Extreme Programming Explained by Kent Beck Ward C. early embedded work: http://code.fed.wiki.org/view/welcome-visitors/view/coding-portfolio/view/tektronix/view/multiprocessor-debugging 4 2

Topics Hardware roots of Agile Agile Engineering: examples Team composition mirrors workflows Want predictability? Or fast learning? 5 FPGA example Field Programmable Gate Array Inside the chip FPGA chip on ckt board Inside each circuit 6 3

FPGA circuits wired by s/w Separate circuits on the wafer are connected by statements in HDL, a type of s/w Hardware Description Language (HDL) 7 FPGA circuits wired by s/w Changes to the FPGA can take a few minutes to a few hours FPGA Reprogrammed - new bitfile downloaded in seconds Bitfile is rebuilt: this changes the circuit connections, takes time Result: h/w can do the work faster than s/w by orders of magnitude 8 4

Writing a unit of HDL code START Write HDL Download bitfile to FPGA circuits Before Agile After Agile (TDD) START Write HDL unit Test that fails Write HDL (tiny) Check circuit Behavior manually Download bitfile to FPGA circuits Y OK? N OK? Y Done with this Unit test N Red lines indicate high traffic flows. Check circuit Behavior manually OK? Y N Done with this Unit test 9 HDL testing Before Agile Write the HDL code (optional) simulate the HDL Deploy to the FPGA circuitry Check the circuitry behavior manually Very time-consuming Result: have code SVUnit After Agile (TDD) Write the HDL code Write a unit test in HDL Ensure unit test fails Write HDL code Ensure unit test passes Deploy to the FPGA circuitry Check the circuitry behavior manually Much faster Result: have code and tests Using SVUnit TDD framework 10 5

Agile Car example Wikispeed 100 mpg car built by volunteers Agile software practices used: Pairing Swarming TDD (Test-driven Development) Source: www.wikispeed.com 11 Modularity is key Modularity à dependency management Car made of 8 modules New release weekly Source: www.wikispeed.com 12 6

Example: Grain Monitor System Measures protein, oil in corn, wheat, etc. in seconds, in the field Evaluated for medical application New science, new CPU, new OS port, new NIR sensor, new algorithm Agile team delivered 1st field units in 6 months Spectrometer system In 3 years 60+ s/w iterations, approx. 9 electronic iterations approx. 5 mechanical iterations 51 s/w defects post-unit-tests, 3 yr total 13 Iterations work differently Less frequent iterations for hard-to-change items Aim for working hardware at each iteration boundary Misconception: To be Agile, h/w dev has to fit inside of 2-wk or 4- wk iterations Flexibility Software Electronic H/W Mechanical H/W Time User settings App s/w Operating Sys Reprogram ble (PLDs) On-site reconfigurable In-house reconfig ble Components Housings Special materials 14 7

Iterations work differently Each junction gives tangible baseline each person sees Flexibility Software Electronic H/W Mechanical H/W Time User settings App s/w Operating Sys Reprogram ble (PLDs) On-site reconfigurable In-house reconfig ble Components Housings Special materials 15 GMS Agile s/w helped h/w Only the s/w team was using Agile practices, but Frequent s/w releases created many more opportunities to improve h/w-s/w interaction Some measurements inconclusive due to voltages out of range so added s/w monitoring of h/w key areas Field problems that could not be isolated to one area (opto, sensor, electronics) could be investigated thru special s/w releases for troubleshooting Hand assembly of field units improved by downloadable collection of s/w drivers with command-line menu Result was h/w became more Agile without trying 16 8

Topics Hardware roots of Agile Agile Engineering: examples Team composition mirrors workflows Want predictability? Or fast learning? 17 Example: Ops + Software team Ops people could only do ops stories IT people could only do IT stories Sprint Backlog Ready Doing Done OK d by P. Owner Ops people IT people Should they cross-skill? That would be usual coach advice. In this case NO! 18 9

Ex.: Physicists-turned-C++ coders Each member is physicist or mathematician Each member is also a C++ experienced coder Sprint Backlog Ready Doing Done OK d by P. Owner Should they have cross-skilled? That would be usual coach advice. In this case absolutely YES! 19 Hardware + Software team(s) Story board is divided Sprint Backlog Ready Doing Done OK d by P. Owner Electronics Engrs S/W people But we re still one team, now with different workstreams visible This same mechanism can work for two cooperating teams 20 10

Lanes not independent Keep focus on whole features; don t merely fit work to skill siloes Sprint Backlog Ready Doing Done OK d by P. Owner People pair to do their parts of features that span disciplines 21 Topics Hardware roots of Agile Agile Engineering: examples Team composition mirrors workflows Want predictability? Or fast learning? 22 11

3/15/16 Predictability or Fast Learning n FPGA example: Predictability n Wikispeed Car example: Fast learning n Most projects: Predictability for coordination, Fast learning to handle unknowns 23 and Predictability or Fast Learning n n n Everyone thinks they want predictability Increasingly, I believe they all really need fast learning Instead of freezing the ocean, learn to ride the waves 24 12

Contact info Nancy Van Schooenderwoert LeanAgilePartners nancyv@leanagilepartners.com @vanschoo Services Lean-Agile coaching for software and hardware teams Safety-critical, regulated coaching is our specialty Lean-Agile coaching for stakeholders and senior managers 25 References & Further Info REFERENCES: Neil Johnson, TDD And A New Paradigm For Hardware Verification, Proceedings of the Agile 2012 Conference, 2012 TDD framework by Neil Johnson: SVUnit framework, http://www.agilesoc.com/open-source-projects/svunit/ Wikispeed Project: www.wikispeed.com FURTHER INFO & Credits: More examples of Agile hardware: N. Van Schooenderwoert, Yes, Hardware Can Be Agile!, InfoQ, March 2015, http://www.infoq.com/articles/hardware-can-be-agile Discussion of Agile for predictability vs. Agile for fast learning; Jeff Patton, Common Agile Isn t for Startups, http://jpattonassociates.com/common-agile-isnt-for-startups/ More on Extreme Manufacturing (XM); Peter Stevens, Blog Extreme Manufacturing 10 Principles, http://www.scrum-breakfast.com/search/label/xm Experience report from GMS project: Embedded Agile Project by the Numbers With Newbies paper by N. Van Schooenderwoert. Available no charge at http://www.leanagilepartners.com/publications.html Surfer photo: By The Last Minute (Flickr) [CC BY 2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons; used unchanged. Wikispeed photos used with permission of the Wikispeed Project. Snail drawing by W. H. Dall (1845-1927) 26 13