By Sairam Bollapragada
The techniques and improvements in Software Engineering will never cease to challenge us enough! The thought process of having a better servicing capability leads us to ensure we are continuously innovating and serving the customers better each time as the fear of losing them lurks all the time.
On the other end, with the onslaught of IoT and Digital, the Customer connects have been peaking with personalization being major focus. The lives of mankind will never be the same again as technology is slowly inching to grab the driving wheel of the lifestyle. Let us begin with the following scenario :
I want to get the best of my weekend for my family where we would like to go to a movie of our choice, do some grocery shopping for the upcoming week, and also play with my kids at some gaming arena. Obvious choice seems to be a mall. However, I would like to make the best of the time available and hence not try to invest time on traffic. Hence the inputs I would like to have at my disposal would be where does this movie show with high probabilities of getting my tickets, in a place where I could also do a little bit of grocery shopping with my needs being available, and not too far (if not within the same campus) for the gaming. I cannot book a ticket for the movie since the mobile application for the same will tell me about the movie tickets availability but cannot help me to find out the status of the traffic to the place. It also cannot tell me if the grocery shops do have what I need as well as the rush at the gaming arena.
Imagine if all these data sets were being provisioned by different apps, I would keenly look at some ways to consolidate and help me with a decision…more so if these points were not all co-located. If there was an application which could cater to such consolidated needs, I am sure people would love to have them to help ease their decision making. I can foresee that in the no-so distant future where we would have predictive analytics and customized services being rolled out to help such needs.
This brings back to my another article (https://itservicesdelivery.wordpress.com/2016/05/05/digital-manufacturing-through-industrie-4-0-2/) where there is emphasis laid on growing needs for Value Added Services. Hence all the service providers above need to tie up with some service provider who can aggregate the needs from one single user to another user and provide the valued information about traffic times, service availability, any special attractions or sale or bargains (if that is what you are looking for), etc.
From a Software Engineering standpoint, while the process of developing such VAS starts with the developer-based challenges, the outcomes are more operational in nature. This is DevOps.
When the focus shifts with starting point being with the customer, the OpsDev come into picture. In the above case, the objectives of the customer (end result) is what will drive the requirement. The orchestration between different and disparate sources of data calls for an agreement between the data providers, their availability, their need to exchange the same in real time so that the best results can be provisioned to the end user. Hence the journey to reach through a maze of dependencies on what is needed when and how it gets into the stream to the end service point always plays on the mind. The parameters in crafting such a personalized that need to be taken care of like infra-security, infrastructure availability and SLAs, compliance, data privacy are given top priority. Modeled after simulated environments to create the feel of the entire development lifecycle with stubs instead of finished components, one can build an early patterns on target environment behavior (allowing automation of the same), all helping to auto-build-and-deploy mechanisms saving huge time in troubleshooting environmental dimensions while also getting in place the sync between pre-prod and prod environments. This can not only lead to better outcomes, the QA part is also taken care of saving cycles of back and forth.
The release pipeline orchestration between various environments acts as a catalyst enabling automation and move-in-parallel philosophy. Simultaneous pipeline releases comprising a major release with least error-prone move-to-production can be visualized and planned. The parallelism thus enabled comes with high quality throughput and interdependencies are taken care of through the commit pipelines. A QA gate to do your checks and validations can be built for releases that are appropriately approved by production co-ordinators to ensure right deployment schedules are adhered to.
The OpsDev production controllers can also ensure that the orchestrated releases are integrated with the ITSM and relevant monitoring processes through a change management process. The planned releases are published to all the IT application owners through the release dashboard which then follows through the request for review and approvals. The deployment is flagged off once all approvals are in place and falls into the normal ITMS cycle thereon.
Circling back to my movie and grocery and gaming, the smooth information provisioning will be an outcome of an impeccable orchestration between multi-channel, multi-device, multiple-needs at real-time helping to plan an effective weekend – following OpsDev principles – Outcomes upfront!