This proposal has been approved and the Eclipse Duttile project has been created.
Visit the project page for the latest information and development.

Eclipse Duttile

Sunday, June 4, 2017 - 12:47 by Felice Pescatore
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Project
Parent Project
Working Group
Proposal State
Created
Background

An IoT solution belongs to different technological domains, with their own rules and specifications related to different aspects: The Hardware, with strong and predictable processes, the Software, where the complexity and the change is always present, the Cloud and Big Data with its own rules and risks.

Today, typically, hybrid software and hardware solutions are developed in a parallel way with synchronization meetings useful to start the integration process and, subsequently, to the test process.

This is a typical Big Bang Integration approach, with different critical issues:

  • Development efficiency is heavily penalized as different teams don’t constantly communicate with each other, without sharing their knowledge;

  • Issues are discovered in the late solution development phase, with high fixing problems, mostly due to the hardware fixing;

  • As of the need of shortening / respect the time-to-market, the final product, often, has a compromised solution to problems (based on software workaround, wherever components cannot perfectly integrate with each other), thus lowering the global product quality.

Eclipse Duttile affords all this aspects in a holist mode to best perform different goals typically annexed with a professional marketable IoT Solutions. Eclipse Duttile is based on the Philosophy, Values and Principles of the AgileIoT Manifesto, that you can find at: agileiot.org

 

Scope

Eclipse Duttile produces a shared Agile/Lean methodology that links the tools and utilities available in the Eclipse IoT ecosystem.

People that use Eclipse Duttile form a full delivery team that follow the AgileIoT manifesto philosophy, principles and practices, working in Agile and Lean manners to improve the efficacy and efficiency of their daily actions.

Description

Eclipse Duttile looks at the world of the Internet of Things in a holistic manner, suggesting an approach in which the various elements are part of a single integrated process. It proposes a new cross-domain methodology that aims to provide adequate tools for the governance of the IoT projects, building the experience gained until now, in a jointly and reasoned way. The core approaches became from the world of software and hardware development, both different but always complementary.

Eclipse Duttile defines a rich process based on three different well-defined steps:

  • Prototype Phase (timing: typically, 2-4 weeks). It’s the first phase of the process. There’s the Vision definition, Fast Prototyping and Product Backlog definition using a specific planning phase;

  • Engineering Phase (timing: time needed for reaching the Value). In this step, the solution is engineered and developed. It’s, as one could deduct, the most important and complex phase of the whole process;

  • Workout Phase (timing: Typically, 1-2 weeks). It’s the last phase, focalized onto the Deployment, Support and the Continuous Improvement of the product.

 

The intrinsic complexity assigns an important role to the Solution Definition of Done (sDoD): it is the way to explicitly define WHEN the various Ceremonies and Artifacts of Duttile can be marked as “completed”.

Every phase has its own specific goals:

supported by several business objectives of growth and management, defined Cross Phases Goal:

  • Team Improvement, team operates in such a way to improve itself constantly, both from a technical and methodological point of view;

  • Company Improvement, the development of the solution should bring to the company an enrichment of know-how in combination with the improvement of internal processes;

  • Company Agility, business processes must become flexible and break down bureaucracy barriers;

  • Buffer Budget, the importance of identifying all stages, especially on the hardware, leading to the need for a budget for the "daily expenses". Consider buying a small resistor to the EVK (Evaluation Kit) for the cost of a few euros: for this activity, it is unthinkable that we should complex procurement processes that lead to weeks of waiting.

 

Prototyping Phase

The Prototyping Phase is the phase in which the company decide to create a new solution and, starting from an idea or an initial need, defines the Solution Vision. With the Solution Vision the company highlights the specific objectives related to the customer needs, going to define the Solution Goals and the validation metrics.

This phase is a "discovery" and "validation" phase and it is essential to address elements related to the solution functionality and company organization to support the delivery.

To do this, you need to validate the hypothesis underlying the Vision, structuring teams and corporate assets to be sure that the product is achievable. All these actions are made with the make-measure-learn loop.

Solution Big Picture and the reference Product Backlog are the primary artifacts.

In detail, for the prototyping phase, you have the following Goal:

  • Vision Definition, here we define the Vision of the solution, identifying needs to satisfy and the reference market;

  • Fast Prototyping Team, the Fast Prototyping Team is created, getting needed roles externally;

  • Full Eclipse Duttile Team, the complete Eclipse Duttile Team is created;

  • Solution Definition of Done, creation of the initial reference document for the Definition of Done;

  • Similarity Search, as consequence of the Vision and the solution coming from it, the market is analyzed to verify if equivalent proposals are already present. In the case some others exist, we proceed by qualitative comparison to understand how our product could be positioned in the market to differentiate from them.

  • Hypothesis Validation, hypothesis is validated using the Fast Prototyping ceremonies;

  • Set Work Environment, the work area is arranged or created. This aspect is relevant for the development of an IoT solution as the need of hardware prototyping requires properly equipped dedicated spaces;

  • Define Product Backlog, the Product Backlog is defined on the base of prototyping results.

These goals allow to achieve the Solution Vision, and to create the Intentional Architecture, to start the Vision Fast Prototyping and create the Product Backlog.



 

Engineering Phase

With the Engineering Phase the implementation of the solution goes live. At this stage, most of the emphasis is placed on product development, but an attention is put on support aspects that must be supported by all the company.

This phase start with the definition of the Mid Picture by the team (if there is more than one team, each team defines its Mid Picture). The Mid Picture defines the goal of the iteration in relation to the reference Goals:

  • Full Deployable Solution, the objective is the creation of a ready-to-use solution for the final customer;

  • Reduce uncertainty, reduce to the bare minimum the uncertainty, particularly those related to the hardware and the firmware of Smart Things, services and Cloud aspects;

  • Bill of Materials (BOM), Smart Thing Bill of Materials is defined;

  • Verify Full Solution, establish and validate objective elements to assess the actual adherence to stakeholders specific expectations;

  • Testing Strategy, identify and implement appropriate testing strategies, functional and qualitative ones;

  • Coordinate External Manufacturing, managing the relationship with the external manufacturing team responsible for implementing the Smart Things:

  • Packaging Verify, implement packaging validation actions of the Smart Things and the whole solution.

The Mid Picture is based on a set of Value Stories during the Makers Backlog Planning owned by the Product Owner. Team define working tasks and locates them into the Makers Board.

When all works are completed, team do the Solution Overview, Technical and Methodology Retrospective.

 

Workout Phase

The Workout Phase is focused on putting into operation (deployment) and all the services needed to support the customer are activated.

In detail, you have the following phase Goals:

  • Deployment Strategy, it is defined the deployment strategy for the whole solution;

  • Solution Continuous Improvement, after the release, the solution is constantly improved, mainly with continuous firmware update, services update and cloud aspects update;

  • Remote Improvement, implement technical and technological solutions that allow to update as much as possible directly from remote;

  • Solution Support, it is produced all that is necessary to drive the use of the solution (for example, user manuals) and optionally activated a customer-care support;

  • Retreat Strategy, choose the appropriate actions to retreat the solution at the end of its functional life or in case of serious malfunctions.

When the solution is working, it’s time to support the customers and to constantly improve the solution itself, implementing updates on the firmware, services and cloud with continuous improvement & integration practices.

The hardware items will be update rarely (especially due to high costs), unless a new release is needed. It’s mandatory to apply a set of tools for the remote deployment, especially when the number of the Smart Things is very large and geographically distributed.

 

Why Here?

The value of Eclipse Duttile is to support a business focus in delivery marketable IoT solutions through the tools and the projects part of the Eclipse IoT ecosystem.

 

Future Work

The Eclipse Duttile Team will update the framework with suggestions, extensions and evidences coming from their implementation on the ground.

Project Scheduling

Eclipse Duttile is in a consistent status, and the roadmap to release version 1.0 is:

  • 2 months for get all contributions for the communities to review all the main aspects of the framework, including terminologies, poster and all the other aspects;

  • 1 months to general review and contributor approvals;

  • Version 1.0 release;

  • Proposal of new modify based on case study and adoption feedback.

Project Leads
Committers
Alessandro Alpi (This committer does not have an Eclipse Account)
Vincent Thavonekham (This committer does not have an Eclipse Account)
Mentors
Initial Contribution

Eclipse Duttile is in a mature state after more than one year of work. There is no code, but it is based on:

  • Poster (psd format)

  • Mind Map (mac format)

  • Full framework description (open format, git, docx, pdf)

  • Logo (pdf & psd format)

Source Repository Type