Benefits of IoT on hardware product maintenance is well known. Devices sending information via internet to data centers and receiving inputs which help product companies support customers facing difficulty in usage of products like cars, laptops or any machine. The information received and analyzed can be used for improving the product. But can this be extended to software development or is it applicable only to hardware development?
Software product development teams typically get requirements from both internal and external sources. Internal sources include teams like R&D, presales, implementation, and compliance. External sources include direct interaction with customers or hiring consultants who have diverse market, industry, customer experience. Additionally if we get requirements from the software itself based on actual customer usage of product features in terms of performance, security, usability, APIs, and digital tutor, we can incorporate those feedback to improve the product.
IoT via Internet of Services (IoS) will prove very valuable and address many concerns with respect to how software interacts with other software applications and hardware devices thus becoming an effective source of requirement gathering. Information will get communicated faster and will be available to product teams for analysis, and obtain faster response for critical items. Thereby time to market for new versions will be reduced.
Applications in IoT will understand issues in application based on customer’s usage, interact with multiple versions so that patches available in one version get automatically deployed in other version, thus leading to support effort reduction. Applications are connected to the Web in order to transmit, receive and communicate with other applications with or without interference from humans. Security and privacy issues need to be taken into account in this interaction.
Technical backlog (in certain cases functional) can be created based on real time inputs received – based on software usage. Combination of multiple sources of inputs will add value at various stages of software development. Additionally we can look at automating impact analysis (functional, design, test plans, test execution) for software development so that it is not person dependent. The groomed (frozen requirement, design, test plan) items will be available to any team to deliver based on priority.
Clearly IoT systems are capable of transforming the way we gather information, analyze and further decision making. It also presents opportunities to create smarter applications to be run efficiently and automate many routine tasks.