As the year 2016 draws to a close, it is time to reflect the quick and changing dynamics of the software application landscape. The following factors affect the software application landscape.
- Emergence of startups, hence software on the fly: Most of the software that are being written are by communities (like bitcoin) or by startups – assuming each software application becomes a business ( keeping the percentage of failure aside), there are millions of applications both in the application stores and on the cloud. Now, these applications are essentially built by software developers with neither a ‘process experience’ or ‘software architecture or integration’ experience. And these software applications become businesses.
- Disappearance of the Architect and the Analyst : In the waterfall software development approach, one used to follow a clear ‘blue book’ approach – the need of seeing a business process, a logical flow and a blue print before a code being written vanished. Essentially, agile methods have driven the software development approach into a trial and error approach, defeating the purpose of an architect, prima facie. While one may counter this point saying that enterprise still follow the playbook, by and large, community approach and low entry barriers have made business talk to the coder directly. While the roles of the business analyst and software architect have been cut off, and the coder and the business guy are more talking directly. In India, for example, startups have offered considerable equity to software developers and made them CTOs!
- Cloud and Open Source removes the entry barrier for a new software programs: Cut to the 90’s, writing a software code means that you had to have a compiler, a server hardware to host it. You need to find a service provider who would help you host. FTP was the in-thing to transport files from your desktop to the ISP Server. In the second decade of the 21st century, open source has made easy for any coder to learn the trick and write codes. Cloud based platforms have made hosting these software on the Internet so easily available. The glass ceiling of the three tier model has been broken. While this happened many years ago, 2016 saw the culmination of stable codes.
- Enterprise Security Disasters are waiting to happen: Increasingly more employees use their own devices for both enterprise and personal use. Each consumer application ( like a food-delivery mobile app), developed in such environment ( 1,2,3), is vulnerable to security attacks. The recent DDoS attacksare an example, that should prompt both startup enterprises and consumers to think. A simple attack has multiple manifestations and ramifications.
- Artificial Intelligence is the way to go: Most applications that have been developed are static. But in 2016, the concept of cognitive computing, or learning and self-healing applications are becoming prominent. Languages like python and R- combined with big data and analytics, enable software to acquire intelligence that help them learn and respond to possible situations. Machine Learning, Virtual Reality, Augmented Reality and Deep learning are creeping in.
However, the fundamentals of enterprise applications remain the same. If you cannot design, you cannot build. The software that is build in chaos, will be like the infrastructure of a fast developing country. When in trouble, we may not know where to start and where to end.
The benefits of low entry barriers, cloud, learning which provide agility to the business have to be combined with the age old learnings of enterprise architecture, security and business analysis. That is probably the way forward. This will demand a new generation of enterprise architects to come into the play. Will 2017, see the birth of the ‘AI Architects’?
Ashok Subramanian is a Business Strategist, Serial Entrepreneur and Technology Evangelist. He is the Managing Director of Amrocky Bueno Technologies, a Technology Solutions company.