Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Agile Development of IoT Devices
Webinar
April 19th 2018
Jörg Elzer
Cassini Consulting
www.cassini.de
Andreas Schmidt
@aschmidt75
thingforward.io
Agenda
Why▪ agile software development? Is it good for IoT projects as well?
Challenges▪ when developing for embedded
Blueprint▪ : Agile Software Development Processes within IoT
Conclusion▪
Q&A Session▪
2 25.04.2018 © 2017 Digital Incubation & Growth GmbH
25.04.20183 © 2017 Digital Incubation & Growth GmbH
Welcome
Andreas Schmidt@aschmidt75
Jörg Elzer
www.cassini.de
iot.cassini.de
@cassinigmbh
Agile Development of IoT Devices
www.thingforward.io
@thingforward
IoT projects are typically complex: New technology, too many standards,
requirements may change.
4 25.04.2018
Stable
requirements
Unstable
requirements
Unknown
Technology
Known
Technology
Waterfall
Examples from a light bulbs manufacturer perspective:
• Production of an existing light bulb model in a new color
simple
waterfall
*Diagram derived from Stacey Matrix
© 2017 Digital Incubation & Growth GmbH
IoT projects are typically complex: New technology, too many standards,
requirements may change.
5 25.04.2018
Stable
requirements
Unstable
requirements
Unknown
Technology
Known
Technology
Waterfall
Learning
Prototyping
Examples from a light bulbs manufacturer perspective:
• Production of an existing light bulb model in a new color
simple
waterfall
• Production of a fully functional lightsaber
chaotic
learning / prototyping
*Diagram derived from Stacey Matrix
© 2017 Digital Incubation & Growth GmbH
Agile
IoT projects are typically complex: New technology, too many standards,
requirements may change.
6 25.04.2018
Stable
requirements
Unstable
requirements
Unknown
Technology
Known
Technology
Waterfall
Learning
Prototyping
Examples from a light bulbs manufacturer perspective:
• Production of an existing light bulb model in a new color
simple
waterfall
• Production of a fully functional lightsaber
chaotic
learning / prototyping
• Production of a smart lighting solution
complex
agile
*Diagram derived from Stacey Matrix
© 2017 Digital Incubation & Growth GmbH
Agile projects run under different constraints which have a big impact.
7 25/04/2018
Specified
Estimated
Specified
(in contract)
flexible /
changing
Requirements
Budget Time
Plan driven
Waterfall
Features
Budget Time
Value/Vision
driven
Agile
© 2017 Digital Incubation & Growth GmbH
Some Challenges of IoT Projects
8 25.04.2018 © 2017 Digital Incubation & Growth GmbH
Hardware
Lead Times
Different
Development Environments
Different
Test Cycles
Automation
Hardware + Software
In pure software projects, agile methodologies are well established.
Regarding mixed hw/sw projects, reconsideration is necessary.
9 25.04.2018
Product
BacklogSprint
Backlog
2-4w
24h
Potentially
Shippable
ProductSprint
© 2017 Digital Incubation & Growth GmbH
In pure software projects, agile methodologies are well established.
Regarding mixed hw/sw projects, reconsideration is necessary.
10 25.04.2018
Product
BacklogSprint
Backlog
2-4w
24h
„Evaluable“
Product
IncrementSprint
© 2017 Digital Incubation & Growth GmbH
In pure software projects, agile methodologies are well established.
Regarding mixed hw/sw projects, reconsideration is necessary.
11 25.04.2018
Each completed task of a sprint will:
Include updated and reviewed
block diagram-
interface description-
architecture-
schematics-
placement-
layout with basic routing-
(if needed)
and will be tested (if testable)
Product
BacklogSprint
Backlog
2-4w
24h
„Evaluable“
Product
IncrementSprint
“Definition of Done” (*)
(*) Example, has to be adapted to individual project© 2017 Digital Incubation & Growth GmbH
Developing IoT devices typically requires multiple teams with different
knowledge backgrounds.
12 25.04.2018
IoT product
Hardware
Backend
Embedded SW
Connectivity
Hardware Team
Embedded Team
Backend Team
© 2017 Digital Incubation & Growth GmbH
Mock-ups are for testing of intermediary artifacts. Prototypes can be
manufactured parallel to development.
13 25.04.2018
Sprint z
Sprint y
Sprint x
Production of
prototype*
Prototype sprint
validation
Sprint b
Sprint a
Prototype
A prototype is a manufactured sample of the product,
based on the current development state. It is
produced in a way that is as close as possible to the
final manufacturing process.
Mockup
A mockup is a model of a part or the complete
product, used for demonstration, evaluation and
other purposes. For a mockup, certain parts of the
product may be simplified in order to demonstrate or
evaluate specific details.
Example: Development Boards, Cardboard Boxes
Mockup
Mockup
© 2017 Digital Incubation & Growth GmbH
Cooperation between product management, product owner and teams
14 25.04.2018
Hardware Team
Embedded Team
Backend Team
© 2017 Digital Incubation & Growth GmbH
Product
owner
Product
owner
Product
owner
Cooperation between product management, product owner and teams
15 25.04.2018
Hardware Team
Embedded Team
Backend Team
Product Mgt
© 2017 Digital Incubation & Growth GmbH
Chief
product owner
Product
owner
Product
owner
Product
owner
Cooperation between product management, product owner and teams
16 25.04.2018
Hardware Team
Product
owner
Embedded Team
Product
owner
Backend Team
Product
owner
Product
Backlog
Product Mgt
© 2017 Digital Incubation & Growth GmbH
Chief
product owner
Cooperation between product management, product owner and teams
17 25.04.2018
Hardware Team
Product
owner
Embedded Team
Product
owner
Backend Team
Product
owner
Product
Backlog
Product Mgt
© 2017 Digital Incubation & Growth GmbH
Chief
product owner
Cooperation between product management, product owner and teams
18 25.04.2018
Hardware Team
Product
owner
Embedded Team
Product
owner
Backend Team
Product
owner
Product
Backlog
Product Mgt
© 2017 Digital Incubation & Growth GmbH
Chief
product owner
IoT Team
Teams work agile within stages defined by product management.
Continuous integration is essential all the while. Make sure parts fit together.
19 25.04.2018 © 2017 Digital Incubation & Growth GmbH
Mockup MockupMockup /
Prototype
Mockup /
Prototype
Unit-
Tests
Hardware Team
Embedded Team
Backend Team
Program Backlog &
Increment PlanResult
Market researchVerification
Prototype
End-to-End Tests
(automated)
Vision MVP Increments Full Featured Product(Technical) Product
Management
Take away & outlook
IoT ▪ projects can benefit from developments and
knowlegde within the internet industry. Agile
methodologies are worthwhile.
Test ▪ automation is an essential driver for accelerated
development processes. It strengthens trust in the
process and in quality of artifacts.
Communication ▪ and cooperation between teams is vital.
We▪ depicted a blue print. Each company should find its
own methods and optimize them according to their
needs.
20 25.04.2018 © 2017 Digital Incubation & Growth GmbH
Hardware Team
Embedded Team
Backend Team
IoT Team
Product
Mgt
25.04.201821 © 2017 Digital Incubation & Growth GmbH
Thanks for watching!
Andreas Schmidt@aschmidt75
www.linkedin.com/in/aschmidt75
Jörg [email protected]
www.linkedin.com/in/jelzer
www.cassini.de
iot.cassini.de
@cassinigmbh
www.thingforward.io
@thingforward
Andreas Schmidt, Digital Incubation & Growth GmbH
Jörg Elzer, Cassini Consulting GmbH
Alle Angaben basieren auf dem derzeitigen Kenntnisstand. Änderungen vorbehalten.
Dieses Dokument von Cassini Consulting ist ausschließlich fur den Adressaten bzw. Auftraggeber
bestimmt. Es bleibt bis zu einer ausdrucklichen Übertragung von Nutzungsrechten Eigentum von
Cassini.
Jede Bearbeitung, Verwertung, Vervielfältigung und/oder gewerbsmäßige Verbreitung des Werkes ist
nur mit Einverständnis von Cassini zulässig.
22 25.04.2018 -