0% found this document useful (0 votes)
40 views

CAT 2 IoT

The document discusses several key aspects of developing reusable IoT solutions: 1) Developers can benefit from reusable components in IoT frameworks to build systems more quickly and integrate new technologies with less effort. 2) The main types of functionality facilitated for reuse are identified as well as common reuse strategies and quality of reused components. 3) The three major tasks for reusing assets are to identify suitable assets, integrate them using black-box or white-box reuse, and evaluate assets based on extendibility, flexibility, reusability and other quality indices.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views

CAT 2 IoT

The document discusses several key aspects of developing reusable IoT solutions: 1) Developers can benefit from reusable components in IoT frameworks to build systems more quickly and integrate new technologies with less effort. 2) The main types of functionality facilitated for reuse are identified as well as common reuse strategies and quality of reused components. 3) The three major tasks for reusing assets are to identify suitable assets, integrate them using black-box or white-box reuse, and evaluate assets based on extendibility, flexibility, reusability and other quality indices.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Reuse potentials of IoT application

• Developers can benefit from IoT frameworks


by reusing their components so as to build in
Reusability of IoT Solutions less time and effort IoT systems that can easily
integrate new technologies
• (a) the types of functionality that are most
facilitated for reuse (b) the reuse strategy that
is most adopted (c) the quality of the reused
components.

Three major tasks that the reuser


needs to perform
• Identify the reusable asset
• Integrate the reusable asset
The reuser has to identify the most suitable
 The developer has to decide upon the strategy for
asset that implements the type of
integrating the reusable asset to the new system.
functionality she wants to integrate in the new
 There are several cases where the assets are
system
integrated in the new system simply as they are,
It is of paramount importance to define the indicating Black-box reuse [16].
reused functionality based on the application  In other cases, new functionalities must be
domain implemented on the reused components for
integrating them, indicating White-box reuse
• Evaluate the reusable asset Software Reuse
a) extendible so as to handle the variability of • Software reuse is a widely known and used
heterogeneous devices and technologies technique for the creation of a new software
product that is based on the adoption of existing
b) flexible so as to easily adapt to changes software components.
caused by the external environment and • Reusable components can bring many benefits in
implement new requirements the software development process some of them
c) reusable so as to allow further reuse in future being the reduction of cost and effort the
increase of productivity.
IoT applications, saving time and effort
• Research activities focusing on the advantages of
d) functional so as to offer several software reuse, have also pointed out that it has
functionalities through their public APIs. a positive impact in quality and maintainability
of the software.

• The first step, when it comes to the reusability


of components, is the identification of the Quality indices
appropriate reusable software component.
Research has focused on clustering techniques • Functionality indicates the level at which a class
in order to identify components of similar provides operations to other classes.
functionality and reusability. • Extendibility indicates the level at which code can be
expanded to accommodate new requirements.
• The next step, after identifying the suitable • Reusability indicates the level at which code can be
reusable component, is to integrate it into the applied to different contexts.
target software system • Flexibility indicates the level at which code can be
altered to be adapted into different contexts.
• The third step we need to consider, when • Understandability indicates the level at which code
creating reusable components, is to evaluate can be comprehended
the reused component in terms of quality. • Effectiveness indicates the level at which code can
perform specific operations successfully
Business Analysis Process Flow in IoT
Use case development
• What is the primary goal of the IoT solution? What • Approaches to gather business requirements,
processes and operations are you looking to automate?
• What type of a data capturing gadget are you going to use? • Defining problem statements
Is the gadget capable of running on a proper operating
system and processing sensor data locally or should the • Business requirements for use case
data be sent to a cloud solution for further processing?
• Where will the data be stored and analyzed?
development
• What data transfer technologies are best to use in the • Assets for development of IoT solutions.
solution?
• How can IoT-generated data be presented to end users?
What user interfaces should be implemented on the
device?

Use case development for IoT Projects Management System

•Management System •Project team and Stake holders


•Problem Statement
Group Strategy Model
•Value Statement and Desired Situation
•Solution Acceptance Criteria How to Manage
•Value Tracking Who are stake holders
•Adopt new solution in place of old process
•Defend solution development against existing
product
Management System Problem Statement

•Stake holders – plant operators •Define the process


•Predictive tracking for complaints asset •List out the flaws
depreciation - example •Financial Metrics – Revenue lost, Man power
• Why the pblm wasted etc
• Manual effort •Types of Problem
• Cost reduction

3 major learnings to help developing


5 Phases of IoT Solution Development
your IoT project business case
• Business Case Development • IoT Projects take much longer than anticipated
• Build vs. Buy and Vendor Evaluations • Organizational & cultural change is often
• Proof of Concept underestimated
• Initial Pilot Rollout • The necessary skills are often not available in-
• Commercial Deployment house
• Rethink the revenue and cost savings assumptions for • Developing a business case can be a lengthy
the IoT business case and plan for contingencies in case
of project hold-up. Work with partners that bring in endeavor dealing with different stakeholders,
experience from similar projects. business lines and end customers.
• Embrace new ways of crossdepartmental working and
introduce agile development processes. • Further challenges arise in quantifying costs,
• Map the IoT skill gaps, cross-train and upskill the business impact assumptions
workforce with a focus on new technologies unique to
IoT. Work with true IoT experts from different fields
with deep domain knowledge. Later on choose a
vendor that can bring in the missing skills either
directly or through a strong partner ecosystem.

• A medical imaging solutions company that • Reasons for prolonged project timeline are
wanted to offer a remote service solution for manifold including both business-related
their portable 3D CT-like scanning equipment issues (e.g., not having the buy-in from the
for hospitals, took just 6 months to get from right stakeholders) as well as technical-related
business case development to pilot.
issues (e.g., not working with an infrastructure
• But it took 4 more years to actually go to that supports scaling the solution in a
market due to the highly regulated medical
device industry that required additional commercial deployment scenario).
certification and additional testing.
• Rethink the revenue and cost savings • What end points will provide the data?
assumptions for the IoT business case and • What data points should be collected?
plan for contingencies in case of project hold- • Which analyses will generate strategic
up. Work with partners that bring in insights?
experience from similar projects.
• Which enterprise systems need to be
connected?
• What services do I need to offer?

• What is the primary goal of the IoT solution? What


processes and operations are you looking to automate?
• What type of a data capturing gadget are you going to use?
Is the gadget capable of running on a proper operating
system and processing sensor data locally or should the Software Development Life Cycle
data be sent to a cloud solution for further processing?
• Where will the data be stored and analyzed?
• What data transfer technologies are best to use in the
solution?
• How can IoT-generated data be presented to end users?
What user interfaces should be implemented on the
device?
Iterative Model - Design
Iterative model
• In the Iterative model, iterative process starts with a simple • Iterative process starts with a simple
implementation of a small set of the software requirements
and iteratively enhances the evolving versions until the implementation of a subset of the software
complete system is implemented and ready to be deployed. requirements and iteratively enhances the
• An iterative life cycle model does not attempt to start with evolving versions until the full system is
a full specification of requirements. Instead, development implemented.
begins by specifying and implementing just part of the
software, which is then reviewed to identify further • At each iteration, design modifications are made
requirements. and new functional capabilities are added. The
• This process is then repeated, producing a new version of basic idea behind this method is to develop a
the software at the end of each iteration of the model.
system through repeated cycles (iterative) and in
smaller portions at a time (incremental).

Iterative Model - Application


• Like other SDLC models, Iterative and incremental development has
some specific applications in the software industry.

• This model is most often used in the following scenarios −


• Requirements of the complete system are clearly defined and
understood.
• Major requirements must be defined; however, some
functionalities or requested enhancements may evolve with time.
• There is a time to the market constraint.
• A new technology is being used and is being learnt by the
development team while working on the project.
• Resources with needed skill sets are not available and are planned
to be used on contract basis for specific iterations.
• There are some high-risk features and goals which may change in
the future.
Iterative Model - Advantages
• Some working functionality can be developed quickly and early in the life
cycle.
Disadvantages
• Results are obtained early and periodically.
• Parallel development can be planned. • More resources may be required.
• Progress can be measured. • Although cost of change is lesser, but it is not very suitable for
• Less costly to change the scope/requirements. changing requirements.
• Testing and debugging during smaller iteration is easy. • More management attention is required.
• Risks are identified and resolved during iteration; and each iteration is an • System architecture or design issues may arise because not all
easily managed milestone. requirements are gathered in the beginning of the entire life cycle.
• Easier to manage risk - High risk part is done first. • Defining increments may require definition of the complete system.
• With every increment, operational product is delivered. • Not suitable for smaller projects.
• Issues, challenges and risks identified from each increment can be • Management complexity is more.
utilized/applied to the next increment.
• Risk analysis is better. • End of project may not be known which is a risk.
• It supports changing requirements. • Highly skilled resources are required for risk analysis.
• Initial Operating time is less. • Projects progress is highly dependent upon the risk analysis phase.
• Better suited for large and mission-critical projects.
• During the life cycle, software is produced early which facilitates customer
evaluation and feedback.

V-model
• The V-model is an SDLC model where execution of • V-Model - Design
processes happens in a sequential manner in a V-
shape. It is also known as Verification and Validation • Under the V-Model, the corresponding testing
model.
• The V-Model is an extension of the waterfall model and
phase of the development phase is planned in
is based on the association of a testing phase for each parallel. So, there are Verification phases on
corresponding development stage. one side of the ‘V’ and Validation phases on
• This means that for every single phase in the
development cycle, there is a directly associated the other side. The Coding Phase joins the two
testing phase. This is a highly-disciplined model and sides of the V-Model.
the next phase starts only after completion of the
previous phase.
• V-Model - Verification Phases
• There are several Verification phases in the V-Model, each
of these are explained in detail below.
• Business Requirement Analysis
• This is the first phase in the development cycle where the
product requirements are understood from the customer’s
perspective.
• This phase involves detailed communication with the
customer to understand his expectations and exact
requirement.
• This is a very important activity and needs to be managed
well, as most of the customers are not sure about what
exactly they need.
• The acceptance test design planning is done at this stage
as business requirements can be used as an input for
acceptance testing.

• Architectural Design
• Architectural specifications are understood and
designed in this phase. Usually more than one
• System Design technical approach is proposed and based on the
technical and financial feasibility the final
• Once you have the clear and detailed product decision is taken.
requirements, it is time to design the complete • The system design is broken down further into
system. The system design will have the modules taking up different functionality. This is
understanding and detailing the complete also referred to as High Level Design (HLD).
hardware and communication setup for the
product under development. • The data transfer and communication between
• The system test plan is developed based on the the internal modules and with the outside world
system design. (other systems) is clearly understood and defined
in this stage. With this information, integration
• Doing this at an earlier stage leaves more time for tests can be designed and documented during
the actual test execution later. this stage.
• Module Design • Coding Phase
• In this phase, the detailed internal design for all • The actual coding of the system modules
the system modules is specified, referred to designed in the design phase is taken up in the
as Low Level Design (LLD). Coding phase.
• It is important that the design is compatible with • The best suitable programming language is
the other modules in the system architecture and decided based on the system and architectural
the other external systems. The unit tests are an requirements.
essential part of any development process and • The coding is performed based on the coding
helps eliminate the maximum faults and errors at guidelines and standards.
a very early stage. • The code goes through numerous code reviews
• These unit tests can be designed at this stage and is optimized for best performance before the
based on the internal module designs. final build is checked into the repository.

• System Testing
• Validation Phases
• System testing is directly associated with the system design
• The different Validation Phases in a V-Model are phase. System tests check the entire system functionality
explained in detail below. and the communication of the system under development
with external systems.
• Unit Testing
• Unit tests designed in the module design phase are • Most of the software and hardware compatibility issues
executed on the code during this validation phase. Unit can be uncovered during this system test execution.
testing is the testing at code level and helps eliminate • Acceptance Testing
bugs at an early stage, though all defects cannot be • Acceptance testing is associated with the business
uncovered by unit testing. requirement analysis phase and involves testing the
• Integration Testing product in user environment.
• Integration testing is associated with the architectural
• Acceptance tests uncover the compatibility issues with the
design phase. Integration tests are performed to test other systems available in the user environment. It also
the coexistence and communication of the internal discovers the non-functional issues such as load and
modules within the system. performance defects in the actual user environment.
• V- Model ─ Application • V-Model - Pros and Cons
• V- Model application is almost the same as the waterfall • The advantage of the V-Model method is that it is very easy
model, as both the models are of sequential type. to understand and apply. The simplicity of this model also
Requirements have to be very clear before the project makes it easier to manage. The disadvantage is that the
starts, because it is usually expensive to go back and make model is not flexible to changes and just in case there is a
changes. This model is used in the medical development requirement change, which is very common in today’s
field, as it is strictly a disciplined domain. dynamic world, it becomes very expensive to make the
• The following pointers are some of the most suitable change.
scenarios to use the V-Model application. • The advantages of the V-Model method are as follows −
• Requirements are well defined, clearly documented and • This is a highly-disciplined model and Phases are completed
fixed. one at a time.
• Product definition is stable. • Works well for smaller projects where requirements are
• Technology is not dynamic and is well understood by the very well understood.
project team. • Simple and easy to understand and use.
• There are no ambiguous or undefined requirements. • Easy to manage due to the rigidity of the model. Each
• The project is short. phase has specific deliverables and a review process.

• The disadvantages of the V-Model method are as


follows − • The Big Bang model is an SDLC model where we
do not follow any specific process. The
• High risk and uncertainty. development just starts with the required money
• Not a good model for complex and object- and efforts as the input, and the output is the
oriented projects. software developed which may or may not be as
per customer requirement.
• Poor model for long and ongoing projects.
• This Big Bang Model does not follow a
• Not suitable for the projects where requirements process/procedure and there is a very little
are at a moderate to high risk of changing. planning required. Even the customer is not sure
• Once an application is in the testing stage, it is about what exactly he wants and the
difficult to go back and change a functionality. requirements are implemented on the fly without
much analysis.
• No working software is produced until late during • Usually this model is followed for small projects
the life cycle. where the development teams are very small.
• Big Bang Model ─ Design and Application • Big Bang Model - Pros and Cons
• The Big Bang Model comprises of focusing all the • The advantage of this Big Bang Model is that it is very
possible resources in the software development simple and requires very little or no planning. Easy to
and coding, with very little or no planning. manage and no formal procedure are required.
• The requirements are understood and • However, the Big Bang Model is a very high risk model and
implemented as they come. Any changes required changes in the requirements or misunderstood
may or may not need to revamp the complete requirements may even lead to complete reversal or
software. scraping of the project. It is ideal for repetitive or small
projects with minimum risks.
• This model is ideal for small projects with one or • The advantages of the Big Bang Model are as follows −
two developers working together and is also useful • This is a very simple model
for academic or practice projects.
• Little or no planning required
• It is an ideal model for the product where • Easy to manage
requirements are not well understood and the final
release date is not given. • Very few resources required
• Gives flexibility to developers
• It is a good learning aid for new comers or students.

• The disadvantages of the Big Bang Model are


as follows −
• Very High risk and uncertainty.
• Not a good model for complex and object-
oriented projects. Module:5
• Poor model for long and ongoing projects. Value engineering & Analysis
• Can turn out to be very expensive if
requirements are misunderstood
Value engineering/Value analysis
• Principles and phases of Value Engineering and Analysis, Frameworks • Value engineering is a systematic and organized approach to provide
for Value Engineering in IoT solutions, cost-function analysis of IoT the necessary functions in a project at the lowest cost.
solution components, action plans to incorporate Value Engineering, • Value engineering promotes the substitution of materials and
Data modelling requirements, Development models: Waterfall, Agile, methods with less expensive alternatives, without sacrificing
Spiral, V models, monetization models for IoT use cases - ‘Outcomes functionality.
As A Service’ model.
• It is focused solely on the functions of various components and
materials, rather than their physical attributes.

• Value engineering is the review of new or existing products during the


design phase to reduce costs and increase functionality to increase
the value of the product.
• The value of an item is defined as the most cost-effective way of
producing an item without taking away from its purpose.
• With value engineering, cost reduction should not affect the quality
of the product being developed or analyzed.
Step 2: Identification of key business
Step 1: Identification of key business initiatives
stakeholders
• organization might have business initiatives such as: • Once you identify the targeted business initiative, identify the
• Reduce inventory costs business stakeholders who either impact or are impacted by the
targeted business initiative.
• Improve supply chain reliability
• This should be at least four different organizations because you want
• Reduce unplanned operational downtime diverse perspectives on how these organizations plan to address or
• Improve customer retention support the targeted business initiative.
• Improve yield • We use personas (a design thinking tool) to help us understand the
• Improve “first-time fix” stakeholders with respect to their work objectives, work
environment, key decisions, questions, and impediments
• Improve supply chain reliability and quality

Step 3: Identify, validate, value, and prioritize


the decisions Prioritization Matrix
• Once we know the targeted business initiative and the key
stakeholders, then we want to drive facilitated collaboration across
the different stakeholders to identify, validate, value, and prioritize
the decisions that these stakeholders need to make in support of the
targeted business initiative.
• We use the prioritization matrix to drive consensus across the
different stakeholders on the top-priority decisions
Step 4: Identify supporting predictions
Transitioning Questions into Predictions
• For each of the top-priority decisions, identify the predictions that
each stakeholder needs to make in support of those decisions.
Sometimes it is easier, when working with the business stakeholders,
to ask them what questions they need to answer to support their key
decisions.
• Then it’s a simple process of converting those questions into
predictions. To help organizations frame or understand the potential
of data science

Step 5: Identify potential data sources and


instrumentation strategy • What will revenues and profits likely be next year, and what data
might you need to make that prediction?
• The next step is to work with the business stakeholders to identify • The data-source suggestions might include commodity price history,
what data might you need to make those predictions. economic conditions, trade tariffs, fertilizer and pesticide prices,
• The trick for fueling data brainstorming builds upon the “predictions” weather conditions, fuel prices, and more.
identified in Step 4. • How much fertilizer will you likely need next planting season, and
• The phrase “what data might you need to make that prediction? what data might you need to make that prediction? The data-source
suggestions might include pesticide and herbicide usage history,
weather conditions, crops to be planted, pest forecasts, soil
conditions, and more.
Step 6: Identify supporting architecture
and technologies
• Finally, a Big Data and IoT architecture and technologies upon which
we can build the solution that delivers the business value need to be
developed.
• For example, in an IoT architecture, one will need to consider the
architecture and technology choices at the edge, platform
(sometimes also referred to as “fog”), and at the enterprise (or cloud)
level.
• While the architecture and technology choices and integration are
never easy, at least we can understand what technologies we need
and what we won’t need.
References: https://www.digitalistmag.com/cio-knowledge/2019/08/27/value-engineering-
secret-sauce-for-data-science-success-06200202/

IOT Decision framework IOT Decision Framework


• With the ability to gather data after a product has been deployed, IoT
products provide a platform to generate new and innovative business
models
• A little engagement trick reinforced the fact that many companies are
jumping into the opportunity of building IoT products without a clear
monetization strategy, or put more simply, a strategy for how to make
money from IoT product.
Decision Area of the IoT framework.
• IoT Decision Framework when a company is: • User Experience (UX) Decision Area
• Data Decision Area
• Creating your business plan
• Business Decision Area
• Defining your MVP • Technology Decision Area
• Building and managing your roadmap • Security Decision Area
• Defining new features • Standards & Regulations Decision Area
• The choices the company make in each Decision Area and IoT Technology
• Considering a product line extension Stack layer will impact all of the other Decision Areas and stack layers.
• Evaluating potential partnerships • Using the IoT Decision Framework can help to organize thoughts, identify
opportunities and pitfalls, achieve consensus, and release the right solution
• Analyzing the risks of changing any area of the technology stack faster.

IOT Business models Subscription model


• Subscription model • One of the greatest benefits of a connected device is that it enables
recurring revenue.
• Outcome based model • Instead of having a one-time sale, using subscription model, the company
• Asset sharing model can charge its customer a fee for providing continuous value.
• A subscription model enables the company to implement many of the
• Razor blade model benefits available to software-only products within IoT solution.
• Monetize your IOT data • Basically, introducing an “as a Service” model but for a system including
both software and hardware. By using SaaS models as an example, there
• Pay per usage are many ways to monetize the product not only with a monthly
subscription, but also by providing paid upgrades, or even implementing a
• Offer a service model “freemium” model if the strategy supports it.
• Some common IoT applications using the subscription model include
“monitoring as a service” and “predictive maintenance as a service”
Outcome based model Asset-Sharing Model

• The outcome-based model is an example of an innovative approach • A big concern when buying expensive equipment is whether the
enabled by IoT products. customer will be able to utilize the equipment to its maximum
• The idea is for customers to pay for the outcome (or benefit) the capacity. This is where the idea of sharing assets comes into play.
product provides, as opposed to the product itself. • This IoT business model revolves around selling extra capacity back
• Companies can be creative with how to monetize IoT solutions as part into the market. The goal is to maximize the utilization of product
of an outcome-base model. If the customer is interested in the across multiple customers.
outcome, then they might not want to have a depreciating asset on • That way, each customer pays a reduced price and they are able to
their balance sheet. get faster market penetration, compared to when a single customer
has to pay for the complete product.

Monetize your IOT data


Razor Blade model
• IoT product can be a conduit for selling other products. In this model, • The value of IoT is in the insights you derive from the data you collect,
you might sell the IoT product at cost or even at a loss since the goal data has become the most precious resource.
is to get the product in the customer’s hands so you can start selling • Companies like LinkedIn or Facebook. They collect a huge amount of
your other products. data from all of us (often for free) and although they provide us (the
• This approach reminds me of the early strategy from Ford, where the user) with value for providing that data, the real value is provided to
plan was not to make money on the cars themselves, but on the parts advertisers and other third party companies that use that data to
and service. promote their products and services.

You might also like