CAT 2 IoT
CAT 2 IoT
• 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?
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 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.