One such was IoT – or Internet of Things. I was amused by the nomenclature when I first heard of this – why ‘things’ – usually, to me, a thing is inanimate, that we use. While it can do something, I wouldn’t call it a friend or guide or assistant.
The IoT devices are different. Essentially they are sensors. Extending the human capability to capture what is happening around, and, based on intelligence, possibly trigger some action. These are more than just ‘things’! I am digressing..
In terms of applied technology, wearables became feasible, with the smart watches from differnt vendors. These took the earlier versions of such devices – such as simple trackers of activity [walking, exercising, running etc] to become more integrated with our ways of life. Their ability to sense our activities, interpret the data gathered in the context of our own personalized parameters and preferences made them significanly more useful. An associated discussion on aspects of privacy was also active and strong through the year.
A closely related technology, to analyze, interpret and possibly extrapolate the data sensed, was AI or artificial intelligence.
The ability of these algorithms to ‘learn’ or be trained using huge amounts of data made them suitable to delivery personalized recommendations and actions.
Looking forward to 2016, I see these two aspects playing an even larger role.
In terms of applications, there could be an explosion of apps that work with engines such as Google Now, Microsoft Cortana etc or the likes of IBM Watson, to crunch the data received through sensing, into something actionable for the individual [or teams]. These could address risk prevention, proactive wellness etc.
From a software or solutions engineering and delivery perspective, we should be able to adopt some of these in our own software lifecycles [intentionally, I am not saying SDLC – to not limit it to only the development aspects of life cycle]
Let me briefly talk about four significant ideas that you can consider for adoption in 2016, to accelerate your improvement initiatives.
Doing things faster – right from requirements to deployment has a potential disruptive or destabilizing impact on aspects related to security, performance and stability of applications in the enterprise.
With an increase in regression testing load, the only way to keep up with these expectations of shorter deployment life cycles is to automate. Solutions exist today to run automated tests, but the creation of these tests is still predominantly a manual activity. This is an area that the delivery teams can focus on. Challenges in capturing business context and requirements and ensuring that these are implemented correctly has led to approaches such as BDD. A quantum jump in the benefits would be seen in enterprises when such approaches are extended even to currently running applications.
With DevOps approaches becming more popular, the emphasis on automation covers the productipon related tasks as well.
On a lighter note, you may want to read about the programmer wrote scripts to secretly automate a lot of his job – and email his wife and make a latte! to get an idea of the extent of automation through scripts!
Automating individual steps in the life cycle is the first step towards building an ALM – which is the next significant idea.
First, the definition of the lifecycle has been extended to include the production aspects as well.
The second, is the expectation of a feedback loop also as part of the lifecycle management.
For the first point, it starts right from the way the requirements are managed. With a focus on business value, the technical and non functional [prefer to call it operational] requirements also ned to be managed together with the functional requirements. The end to end integration or rather inter-operation of various practices and tools is better enabled by automation of various steps along the process and also having a way to look at the progress and dependencies collectively.
To ensure that the ‘status’ of various activities and the application in production are available in an integrated dasboard requires the activities and their implications sensed in a continuous manner.
There are many vendors who provide integration platforms that can connect various point tools and also enable the workflows to be synchronized.
Here, some of the concepts from the next idea – IoT, come in handy
As mentioned earlier, one of the significant blocks in an IoT solution is the ‘sensing’ part. While in the real world applications, these are typically hardware devices that can respond to external stimuli or conditions.
Each of these sensors might specialize in tracking one or a few parameters. Take, for instance, the gyroscope or the touch screens that we find in the smart phones. Independently, they track parameters related to the movement of the phone as well as the actions to be performed, based on touch. With pressure sensitive touch screens, it is also another dimension that may be interpret by the applications.
This video provides a quick overview of what is IoT and some of possibilities of creating connected, comprehensive solutions for society.
The interpretation of pretty much real time stimuli requires complex algorithms, that can also handle some amount of ambiguity and that is where the fourth significant idea comes in.
While AI has been around for more than 4 decades, increasing computing power in even small devices and the ability of these devices to be connected to a larger data source have made practical applications of AI techniques possible in almost all areas.
If we abstract these techniques, they would be applicable even in the ways of working for teams and organizations, where collective wisdom is an essential element for the succes of the business.
The ability to discover patterns, apply guesses to reduce the options and narrow in on a solution greatly help the software development and deployment life cycle.
An interesting exampe of this is about self healing or automated code fixing! This article based on some work done at MIT, could be of interest.
In your transformation initiatives, these four approaches can help accelerate the progress.
Do share your experience with any of the above, or any other technology trends that you are considering to adopt in the coming months.
lead image: https://unsplash.com/photos/NuE8Nu3otjo
robot image : https://openclipart.org/user-detail/max_risers
life cyle example : https://openclipart.org/user-detail/laurent
cloud network : https://openclipart.org/user-detail/GDJ