Tuesday, December 9, 2014

Agile Development for IoT Solutions

Development for IoT  will include multiple domains such as  green building, smart grid, industrial  monitoring, agriculture, smart cities, healthcare, connected homes, telematics and supply chain, safety and security, forest and wild life, automotive, natural disasters, etc. 

Agile development for IoT (Internet of Things) or Internet of Services (IoS) involve three distinct stages as below: 

1. Sensors which collect data (including identification and addressing the sensor/device)
2. Application to collect and analyze this data for further consolidation and,
3. Transmission of data to the decision support system. Agile Analytics may be used for the development of decision making process.

Model Driven Architecture (MDA) can help accomplish agile development fulfilling the fundamental requirement of complex association between data collection points, iteratory / evolutionary development, change management, version control etc. which include modeling of standard interfaces associated with sensors.
For example IoT development for smart cities will include below list of entities
• Smart parking.  • Intelligent transport system.  • Tele-care.  • Woman Safety • Smart grids. • eHealthcare. • Smart urban lighting.  • Waste management.  • Smart city maintenance. • Digital-signage. • Water Management

The data collection point can be done using model for each aggregated entity using the entity model and association between the entities can be defined. Then using entity modeling tool the interface can be modelled using standard message, exception / error messages, events and protocol. This modeling will help to generate soap / REST specification using either XML / JSON / Text format as per convenience.

The entire process can be developed considering future requirement for change management, version control and other non-functional requirement such as single sign-on, caching, HA, event polling or pushing and other utility services which are applicable from case to case. The information flow can be designed using common data model, which will help the application to collect the data and process based on data structure, specific business policy and practices.

Following SOA principles of parallel development of system architecture and business process architecture will help achieve agile development of complete end to end IoT solution.  


Your comments and feedback on specific issues with aggregated entity and association between entities and agile development management are welcome.