This article discusses the practices and workflows in the Watson IoT Platform teams to orchestrate IBM design thinking with Agile development practices.
The benefits of early establishing and hardening the agreed design concepts has been observed. The approach also ensures that design is not performed in isolation of the delivery team, with a high risk of trash and rework of an assumed design.
Stages of Concept Design and Development
The Watson IoT Platform team is using an agile way-of-working to design, develop and deliver new capabilities for the IoT Platform service in Bluemix. Such new major capabilities are identified as market or customer need, specified as requirements using Rational Doors NG, and managed as a ranked backlog. The team is delivering the backlog using an agile 3 week sprint heartbeat.
The sprint objectives and outcome is varying depending on the phase in the design – develop – deliver lifecycle for a new capability. The initial phase defines the concepts and scope of the design. Later phases hardens the UX design and delivers front-end and back-end implementations of the design.
A key success factor is the teaming across the disciplines across offering management, design and development. And the right-sizing and right-staffing of the sprint teams. The concern and issues addressed by this practice is to ensure that the teams are engaged, right-staffed and committed to the delivery. It avoided a situation where design is executing in as plan vacuum with major trash and rework as the development teams get engaged.
Let’s start and explore the expectations, inputs and outcomes of each sprint type and the team personas participating. The phases, roles, dependencies and outcomes in figure 1 below are discussed.
Concept and Plan
The first stage is a Concept and Plan sprint focusing on the product definition. A sprint team is formed by Design lead(s), Architect(s) and Offering Manager(s).
The concept and plan sprint requires strong offering management and design lead participation. To ground the concept in the existing solution architecture there is a requirement of lead architect participation. A core team is formed that is responsible for defining and delivering the concept and the delivery sprint plan. The playback of the outcome is a driver and a forcing function by schedule to get early agreement on the concept scope and objective. The core team stays as a governance body for the later phases to manage and approve changes to the concept and plan.
For this concept and plan stage the inputs are:
- High level market and offering requirements on the new capability
- Design Thinking user research artefacts, e.g. stakeholders, and stakeholder needs
- Existing Hills where the new capability may be a new sub-hill
The outcome of this concept and plan stage is:
- An approved set of requirements capturing the Minimal Viable Product, MVP.
- Hills defining the user value through statements of Who, What and WOW.
- The Epics that will deliver the hills. The hill is complete when the epics are delivered.
- The Stories that deliver the Epics. A story is delivered in one sprint.
- An end-to-end high level scenario that can be played back as a statement of the hills
UX and APIs
The second stage is focusing on exploring the User Experience and the APIs for the new capability. The objective is to harden the MVP by validating the concept in context of the IoT Platform.
For this stage a sprint team is formed with UX Designer(s) and Architect(s). UX playbacks are demonstrating the capability experience. Any updates and additions required to the solution architecture are identified. The stories in the plan and broken down into actionable tasks.
The outcome of this state is:
- Validation that requirements can be met
- Elaboration of the Stories and breakdown into actionable RTC work items or GutHub issues.
- UX designs (LoFi) for the scenarios
UX, Front-end and Back-end development
The following stages are focused on delivering one or more stories in each sprint. UX design is leading and handing off to front-end and back-end development. The sprint teams are formed with UX and Visual designer(s), Frond-end and Back-end developer(s).
The outcome of this sprint is:
- Completed work items or issues
- Completed UX designs (HiFi)
- Playbacks of UX designs or running code
Summary and Conclusions
The Watson IoT Platform team is using an agile way-of-working to design, develop and deliver new capabilities for the IoT Platform service in Bluemix. The benefits are:
- Embedding design thinking practices into the agile development process
- Cross discipline teaming
- Right-timing, Right-sizing and Right-staffing the agile sprint teams
- Early delivery and hardening of design concepts
The workflow as been successfully established and used for the design of new Watson IoT Platform capabilities, like design and delivery of Risk and Security Management and Information Management.