Connectivity forces you to upgrade your organizational operating system
IoT is coming to life
The buzz about Internet of Things and connected products is peaking, and traditional product companies are investing in connectivity and digital services like never before. Gartner says 8.4 Billion connected devices will be in use 2017, a 31% increase from 2016.
As a consultant, I've had the opportunity to work with a handful of traditional product companies taking the leap into the connected world. The introduction of connectivity has in all cases led to a change of focus - from left to right in the figure below.
This transformation forces you to re-think your ways of working.
Software development goes agile, but what about the rest?
A typical IoT project has work packages within hardware, embedded software, cloud back-end, mobile apps and web solutions.
The most common way to handle the combined product and digital development seems to be WaterScrumFall, i.e. driving the overall development as a traditional waterfall project but the software parts are developed with Scrum. This way of working certainly has its credits, but it is kind of like running Windows 3.1 and Mac OS X Sierra on the same machine - it might work but it isn't really optimal…
WaterScrumFall can be an acceptable starting point for your connectivity journey, but it has several major limitations. Here are a few examples of the drawbacks:
- Requirements are regarded as fixed by parts of the organization, but flexible by others.
- Product Management believe they know their customers' needs, even though connectivity turn upside down on a lot of the old beliefs.
- The release frequency is limited by the waterfall big bang delivery mindset.
- You continue to work in organizational silos ending up in the typical waterfall "handover hell".
- Managers are not forced to adhere to an agile mindset.
- R&D develops the system and then handover to Operations, instead of building cross-functional DevOps teams.
- The speed and flexibility of the project is limited by the overhead and administration that comes with a typical waterfall project.
Beyond WaterScrumFall
WaterScrumFall might be a pragmatic way to get going with your IoT development, but to be successful in the long run you need to upgrade your organizational operating system.
There are particularly two capabilities that are critical to establish:
- Continuous Product Discovery
- Continuous Product Delivery
Continuous Product Discovery
Get away from the 5 years at a time, Soviet-style planning. These plans are usually based on opinions and guesses, rather than facts. But even if you have done your homework, facts are best served fresh. Put them in a drawer (or a business plan) and they will rot!
Instead, plan and develop in short iterations, deliver fast and often, learn and adjust. Work continuously with understanding the customer needs, get out of the building and meet your users IRL.
Form cross-functional Product Discovery teams with representatives from product management, design and technology. Define and test hypotheses and ideas, and populate the development backlog with validated and valuable epics/features/user stories.
Continuous Product Delivery
Continuous delivery is all about getting changes into production and into the hands of the users as fast and smooth as possible. Achieve this by establishing cross-functional DevOps teams responsible of implementing, improving and operating your IoT system.
Get away from the yearly big bang releases and make it your goal to make deployments predictable, undramatic, routine affairs that can be performed on demand - regardless of whether it includes changes to the embedded software, cloud back-end, mobile apps, web or whatever.
The components of an IoT system obviously follow different life-cycles - or have different clock speeds.
You can't make daily deliveries of the hardware, but you can strive to move the core of your value proposition to the software and see the hardware more as a platform to run your software on.
Wrap-up
Whether you like it or not, connectivity forces you to upgrade your organizational operating system. WaterFallScrum might be a pragmatic starting point, but you need to re-think your ways of working - at least if you want to be successful in the long run. So skip the patches and quick-fixes, and make a genuine upgrade of your organizational operating system - for example by establishing Continuous Product Discovery and Delivery.