Applying Agile Principles To Connected Products Accenture

Transcription

BEYOND SOFTWARE:Applying Agile Principlesto Connected ProductDevelopment1 Beyond Software: Applying Agile Principles to Connected Product Development

By 2020, there could be more than 75 billiondevices connected to the internet.1 What’sdriving their proliferation? A combination ofpervasive wireless connectivity and low-costhardware platforms. The good news? Plentyof opportunities for product developers withgreat device ideas.The bad news? Many product developers’ projects will fail to meetexpected financial goals. Declining R&D ROI over the past five yearsprovides ample evidence.2 Our experience suggests that productsfrequently fail for the simple reason that they don’t impress customers.The principal reason for that is incorrect assumptions about customerrequirements are often discovered far too late in the productdevelopment project cycle.Agile development methods can help with this. But many productdevelopers dismiss the incremental approach Agile requires. Theyassume, incorrectly, that Agile is only useful for software teams.Product developers do face challenges when they try to adoptAgile methods. But with the right help and by following some keysteps, it is possible to introduce Agile methods to productdevelopment and gain some significant rewards.Properly wielded, Agile can be used to handleeven the largest programs with completevisibility and a sense of “what are we goingto make happen today.”Chris EidlerVP Solutions Engineering, HPE2 Beyond Software: Applying Agile Principles to Connected Product Development

Lessons Learned: Outcomes of Traditional Hardware Development12-18 monthsPoor productProduct never shipsMissed market windowA typical product development project employing a phase-gated model will makeearly and extensive assumptions about customer needs and technical feasibility. Theseassumptions are made during expensive, upfront definition and design phases. Theyrepresent significant project risks as they are effectively only hypotheses about what willdelight the customer and the feasibility of the enabling technologies.And all too often, those assumptions are only discovered to be incorrect when it’s too lateto change course. That leaves project leaders with a dilemma: do they add a new featureand accept a major delay, hold the schedule but release a poor product or cancel theproject completely?Software developers, in contrast, know a better way to develop the right product, faster:Agile techniques. By constantly prioritizing the most important features and limitingthe amount of work under development, Agile software teams quickly learn what theircustomers really care about and can easily change direction knowing that they have notwasted significant time or money.Product development teams typically comprise software engineers working closely withvarious types of hardware engineers. Leaders of these inter-disciplinary teams are keento emulate the Agile approach and capture its benefits. But they’re often discouraged bymisunderstandings about how they might apply Agile to product development.Everyone has yet another PowerPoint deck butdecks don’t get you funded. To stand out and winfunding, you need the ability to show somethingquickly, real hardware or the application.”Christopher Marsh,VP Engineering, Comcast TPX Advanced Products Group3 Beyond Software: Applying Agile Principles to Connected Product Development

FOUR STEPS TO AGILETo help product developers overcome those misunderstandings andmove towards Agile approaches to delivery, we believe there are fourkey dimensions that they need to consider.01Empower the user voiceProduct development has traditionally been ‘requirement driven’. An extensivedocument such as the Product Requirement Specification includes definitivestatements outlining what the product ‘must do’. Requirements Engineers are thereto understand the product intent and describe functionality to groups of developerswho may never meet nor understand the needs of the product’s end user. A lengthyand expensive process, requirements solicitation and analysis consumes a significantamount of total project time, particularly as given the separation between developerand user, the specification must be complete and exacting.An electronics manufacturer dedicated a significant percentage of total projecttime to product definition and planning. Given that both of these tasks are non-valueadd (but admittedly essential) the impact on Process Cycle efficiency was profound.Accenture’s value stream analysis of the product development process suggestedthat Process Cycle efficiency for this manufacturer was well below 10%. In simplerterms, viewed through a Lean lens, less than a tenth of all development work wasactually considered value-add.4 Beyond Software: Applying Agile Principles to Connected Product Development

Accenture’s analysis of the product development cycle in the hardware storageindustry revealed that most product bugs were discovered 6 to 9 months afterthey were introduced during the definition and planning phases. Such a long‘time to discovery’ represents a huge cost saving opportunity if risks could beevaluated and retired sooner.So how can the product specification process be improved? A critical step is toreplace the document-heavy approach of traditional requirements managementwith lightweight statements voiced from the perspective of the end-user. Theseare then verified with valuable feedback captured from frequent product demos.This approach has the following benefits:The definition phase is significantly reduced, enabling the team tostart on valuable development tasks much sooner.Development teams have the space to interpret the feature requestand apply their own local context making it easier to understand thecost-benefit of tradeoffs.Teams can make changes more readily because they’re not subject tosignificant ‘sunk’ costs.Developers and users are encouraged to engage regularly, whichfurther enhances product relevance and development efficiency.This approach is best exemplified by the ‘user story’ concept Agile softwareteams employ. But product development teams have largely not adopted it.That’s mostly because they have concerns about requirements traceability orthe perceived incomplete nature of specifications. But these objections areeasy to address. Careful process and collaboration tool design can helpmaintain traceability. What’s more, the benefits of a shorter specification phasefar outweigh the lack of fidelity some product developers fear.5 Beyond Software: Applying Agile Principles to Connected Product Development

02Prioritize the minimal set ofdifferentiating product featuresand demonstrate early and oftenWhat makes a great product experience? It’s usually the result of just a few critical featuresperfectly executed. Those features are the very essence of a product. So it follows that whenthey’re inadequately realized they can jeopardize the success of an entire project. An Agilemindset dictates that modern product development teams should start work on just those keyfeatures and nothing more. Prioritizing a small subset of product functionality means teams canquickly demonstrate functionality, seek feedback from users and validate early assumptions ofuser preferences and technical feasibility.This approach is the foundation for software development methodologies such as SCRUM. Butproduct development teams are typically reluctant to work on a small subset of features, oftenciting interdependence concerns and the risks of over-prioritizing. And while those concerns areunderstandable, our experience suggests that if the risks associated with critical features are notexplored and retired early, the consequences simply accumulate over the project cycle. The resultsof that are potentially disastrous.Building and testing the most important product features firstsounds easy, but in reality is hard. The most important aspectsof a product are often at odds with what an engineering orexecutive team is most excited about building. If you take ahard, honest look at what actually matters to end users andwhat differentiates your product, you can get much earlierfeedback that you’re on the right track or not—even withhardware—to get a successful product out faster.”Jesse Dorogusker,Hardware Lead, SquareFor example, a recent Mindtribe3 client sought help developing a stylus for use witha tablet computing device. Initial consultations with potential product users revealedthat the drawing experience for users was the single most important feature.6 Beyond Software: Applying Agile Principles to Connected Product Development

If that could not be adequately realized, then there was no value in investing in otherproduct features such as small form factor or long battery life. The Mindtribe teamquickly prototyped several early models and thanks to frequent feedback from users,were able to rapidly evolve their original ideas on customer preference and technicalfeasibility. Once the core feature of a great drawing experience was confirmed, theteam then moved to the next most important feature of the design and the projectprogressed in this way through to completion.At Mindtribe, the tool we use to establish productpriorities is the Product Nucleus.To create a Product Nucleus, you start by establishingthe user needs your product should address, in orderof importance. Prioritization is key—without it, slightdifferences in the envisioned product embodiment areuncovered deep into development when change is costly.The product definition then becomes the minimal set offeatures required to meet each need and the engineeringteam starts developing the most important features first.”Steve MyersCEO & Founder03Adopt fixed developmentcadences to align planning andintegration across all teamsOne of the best known aspects of Agile methods is the fixed development timebox or ‘sprint’.Software teams work in fixed-duration increments ranging from one to four weeks. Duringthat time, developers will plan, develop, test and deliver a complete software feature (orstory). Short increment working facilitates rapid feedback because Agile teams will alwaysseek to deliver something demonstrable to end users rather than partially completesoftware components.7 Beyond Software: Applying Agile Principles to Connected Product Development

Product development teams, typically comprising both software and hardware engineers,find this approach challenging owing to the high cost of change for hardware. A softwareengineer can change a product with just a few source code edits. Hardware engineers mightneed to wait for lengthy updates to mechanical tooling and slow printed circuit board (PCB)fabrication cycles.Rapid prototyping technologies can significantly reduce the cost and time of hardwareupdates. However, in our view a longer, fixed development timebox should be put inplace in order to accommodate hardware teams. A field-proven solution for multidisciplinary engineering teams is the dual timebox approach advocated by the ScaledAgile Framework (SAFeTM). SAFe describes a short sprint ideal for software teams but alignsplanning and integration with hardware teams through a longer timebox known as theProgram Increment. The duration of the Program Increment is constant and a fixed integermultiple of the sprint duration, typically ranging from eight to twelve weeks. The benefitsof such a synchronized, dual-speed approach are:Significantly lower project management overhead, as the classic projectconstraints of time and cost are made constant, meaning only scope needsto be actively managed.The longer time-box is ideal for hardware teams to develop prototypes forcustomer demonstration and feedback.The fixed relationship between sprint and Program Increment durationsprovides natural alignment points between teams running at different speeds.Accenture helped an electronics manufacturer introduce the Scaled AgileFramework to their product development teams. Initially the engagement wasdirected at the software teams but as the benefits became more apparent, themethod was rolled out to all engineering disciplines. Software teams sprintedon a two-week cadence while acoustics, electrical hardware and mechanicalteams worked at the slower rate afforded by the program increment. Fullsystem integrations were made no less frequently than every twelve weeks,so systems issues were surfaced early. A year after the engagement wascomplete, client leadership reported that the number of issues foundduring the pre-launch test phase had reduced by over two thirds witha corresponding reduction in project duration and cost.8 Beyond Software: Applying Agile Principles to Connected Product Development

04Invest in complex product models to accelerateissue discovery and decouple teamsTo take the next step and become truly Agile, product developers need to decouplehardware and software teams so that they can execute concurrently but be confidentthat their integrated solutions will meet system-level specifications. There are manypossible solutions to this challenge, but all feature simulation of hardware that, in effect,transforms rigid hardware into easy-to-change software. Four examples illustrate this:01020304At a global data storage technology company, highly specialized simulationengineers write C code to emulate the functionality of hard drive controller ASICS.The simulation code allows the firmware team to write and test code realizingthe majority of the drive’s functionality long before the ASIC is delivered.A common practice at many of our semiconductor clients is to make an extensiveinvestment to emulate semiconductor functionality before tape-out using FieldProgrammable Gate Arrays devices. The resulting hardware emulators are usedto confirm design assumptions and as an early test bed for device software.As part of Accenture’s Industry X.0 practice, Pillar Technology has had overtwenty years developing software for a wide range of industries. Pillar’s workin the automotive industry has resulted in an emulation solution called LOOP.LOOP allows software developers to replace, or mock, hardware with softwareversions that are consistent and manageable. This replacement allows fortest scenarios specific to the client’s exact requirements to be developed in acontrolled environment, allowing the software developer to progress without theneed of a physical product—decreasing development time and increasing value.The emergence of inexpensive development platforms such as RaspberryPI, enables product developers to quickly demonstrate system behaviorswithout investment in custom hardware.Each of these examples shows a long-term view of product development efficiencyas well as a significant investment in technology that enables faster, more flexibleexecution. While building the emulated environment will require significant investment,the rewards from early system issue discovery, high system confidence and reducedproject management overhead will justify the expense.9 Beyond Software: Applying Agile Principles to Connected Product Development

MAKING AGILEWORK IN PRACTICEOf course, to benefit from Agile principles, Product Developmentteams need to go beyond theory and put the principles into action.Below we show how we’ve helped clients make the move to Agile.sstema SyrgeoldiackConsas btceleitigArchan Atr formenpolowneeveDtBacklogcumProdOwnerTeaServant Leadethe prs arrocesesauthoof therityteam. SenEnginioreersor PrCoorojectdinators can fillthis roleAgile Product Developmentteams should be crossfunctional including SW, HW,Mechanical where necessaryBacklogServantLeaderSYSTEMDEVELOPMENT CYCLEHW DEVELOPMENT CYCLEbacklog ratherthan a requirementsdocumentSYSTEMDEMOSWSWSPRINT SPRINTManage productfeatures in aprioritized, itemizedDoneKanban works wellfor managing thework of HW teamsmultiple of the SWFix the HW Cycle to ang and integrationcycle to simplify planniSWSWSPRINT SPRINTIn ProgressQuality Gatecriteria canbe repurposed tocreatea DefinitionofDonefor ProductDevelopmentStoriesInvite allstakeholders toregular demosrapidvest inually in irtualizationintnoCdvcycleping anprototy to shorten HWsmethodSYSTEMDEVELOPMENT CYCLEHW DEVELOPMENT CYCLESWSWSPRINT SPRINTRe-order thebacklog aftereach systemdemoRepeat cycleindefinitelySYSTEMDEMOSWSWSPRINT SPRINTDemonstratethesystem or systemmodels every systemdevelopmentcycleScaled Agile Framework and Accenture’s AutoScrum are both great examples of multi-speed development models.410 Beyond Software: Applying Agile Principles to Connected Product Development

With careful process and organizationaldesign, Agile methods can work forhardware product development teams.Agile methods are well established for software teams butapplication is much rarer at the hardware product level. In manycases, the overall product development project will run with awaterfall process, limiting Agile to the software developers. Butthis hybrid approach is a missed opportunity. Worse still, mixingwaterfall and Agile methods burdens the software team with bigupfront planning and requirements phases. These completelynegate the primary benefits of the Agile method.There is a better way. By following the four guiding principleswe’ve set out, organizations can maximize the return from theirdevelopment investments through improved product relevance,reduced project risk, shorter feedback loops and reduced timeto issue discovery.11 Beyond Software: Applying Agile Principles to Connected Product Development

AuthorAbout AccentureAllen EastAccenture is a leading global professionalservices company, providing a broad range ofservices and solutions in strategy, consulting,digital, technology and operations. Combiningunmatched experience and specialized skillsacross more than 40 industries and all businessfunctions—underpinned by the world’s largestdelivery network—Accenture works at theintersection of business and technology tohelp clients improve their performance andcreate sustainable value for their stakeholders.With 477,000 people serving clients inmore than 120 countries, Accenture drivesinnovation to improve the way the world worksand lives. Visit us at torsSteve Robertssteven.r.roberts@accenture.comSteve Myerss.myers@mindtribe.comMitch Beaumontmitch.beaumont@accenture.comKimberly accenture-report-finds.htm3Mindtribe, part of Accenture Industry X.0, is anengineering team that helps companies buildinnovative, connected hardware faster. https://mindtribe.com/4Scaled Agile, https://www.scaledagileframework.com/AutoScrum, pyright 2019 Accenture.All rights reserved.Accenture and its logo aretrademarks of Accenture.This document makes descriptive reference totrademarks that may be owned by others.The use of such trademarks herein is not an assertionof ownership of such trademarks by Accenture andis not intended to represent or imply the existenceof an association between Accenture and the lawfulowners of such trademarks.

development project cycle. Agile development methods can help with this. But many product developers dismiss the incremental approach Agile requires. They assume, incorrectly, that Agile is only useful for software teams. Product developers do face challenges when they try to adopt Agile m