With DevOps’ core goal of putting applications in users’ hands more quickly, it’s no surprise that many enterprises have started to release and deploy software up to five times a month, instead of their earlier once-a-quarter schedule. Everest Group research suggests that over 25% of enterprises believe DevOps will become the de-facto application delivery model.
However, there continues to be a disconnect between what business users want and what they get. To be fair to developers and IT teams, this disconnect is due, in part, to end-users’ difficulty in articulating their needs and wants.
Enter AI Systems
AI Systems have strong potential to help product management teams cut through the noise and zero-in on the features their users truly find most valuable. Consider these areas of high impact:
- Helping developers at run time: Instead of developers having to slog through requirements, feature files, and feedback logs – and likely miss half the input – AI-led “code assister” bots can help them, during the actual coding process, to ensure that the requested functionality is created
- Prioritizing feedback: Rather than wasting time on archaic face-to-face meetings to prioritize features requested in the dizzying amount of feedback received from users, enterprises should build an AI system to prioritize requests from high to low, and dynamically change them as needed based on new incoming data
- Stress testing feedback: After prioritization, AI systems should help enterprises segregate the features users really want, versus those they think they want. AI can do this by crunching the massive volume of feedback data though machine learning and finding recurring patterns that suggest consensus. The feedback data should also be fed back to business users to educate them on market alignment of demanded and desired features
- Aligning development, QA, and production: Through its inherently neutral perspective, an AI system can smooth through the dissonance among the different teams by crunching all the data across the feedback systems to outline disconnects and create the alignment needed to satisfy end-user needs
- Predicting features: While this is still far-fetched, enterprises and technology vendors should work toward AI solutions that can predict features that will be requested in the next sprint based on historical data. In fact, AI systems should be able to analyze data across other enterprises as well to suggest relevant features to developers. The predictions could then be validated with real feedback from beta users, and the AI system further trained based on the validations
There are multiple other areas in which AI can potentially assist in understanding what the users want. For example, as we discussed in earlier research, AI can help developers create secure, performance-tuned, and production-ready code without being bogged down by typical feedback on features from the field.
What about Budget?
The good news is such an AI system will not burn a massive hole in enterprises’ budgets and should not require the zillions of data points that most typical, complex AI systems do. I believe these systems can be based on simple log data, performance feedback cycles, feature files databases, requirements catalogues, and other already existing assets. If that’s the case, they have great potential to help enterprises develop software their end-users really want.
Have you deployed AI in your Agile DevOps delivery cycle? I’d love to hear about it at [email protected].