Nowadays, pretty much anyone who is anyone in the world of application software development is familiar with the concept of DevOps. It’s about bringing together development and operations to facilitate continuous integration, application monitoring and the automated, frequent delivery, testing and updating of app portfolios: agile methodology at speed.
But while speed of application delivery is important, it isn’t everything. At the end of the day, the big question is whether a project can be considered a success in terms of delivering business benefit.
New application software development can be a tricky nut to crack though, and in many organisations has a sad history of failure. IDC analyst Stephen Elliot estimates that 30 to 35% of IT projects fail. Other studies put the figure higher, approaching 50 per cent. And many projects need massive reworking before they can be considered worthy of deployment. Why?
>See also: What are the best DevOps security practices?
Across the board, one of the reasons for custom application development project failure is a misalignment between what the business needs and what the development team delivered.
The reasons for this often stem from poorly defined requirements and a lack of communication between developers, users and other stakeholders. In a 2017 survey by PWC, 35% of respondents said that a lack of collaboration between IT and the business was an existing, or emerging obstacle to achieving expected results from their digital technology initiatives. Addressing this need for better IT/business collaboration is the driver behind the emerging concept that is ‘BizDevOps’.
Quite clearly, business teams (Biz), development and operations (DevOps) teams need to talk with one another more often. They need to share ideas and engage in feedback loops throughout the project lifecycle, from application conception to release and continuously thereafter. The objective of BizDevOps is to facilitate this collaboration and steer projects towards not just a speedy and efficient outcome, but a successful conclusion from a business value perspective.
Of course, there are challenges to enabling business stakeholder/developer collaboration. The fact that few business stakeholders understand application software code, the language of developers, is a significant hurdle. But there’s an answer and it’s to consider that rather than using traditional code-based application development approaches, a ‘low-code’ platform approach might be taken instead.
On average, enterprises that leverage a BizDevOps approach in conjunction with a low-code development platform realise 10x productivity over traditional development approaches. But it’s not just speed.
Low-code platforms like Mendix employ visual, model-driven development techniques for defining an application’s user interface (UI), data model, and logic. Because these visual models are easily understood by the entire team, they facilitate frequent, ongoing collaboration. People can design a visual workflow together, exchange ideas easily, work creatively and experiment together.
A developer can sit with an end user to discuss and review functionality, validate assumptions and identify improvements. Indeed, many low-code platforms allow apps to be previewed instantly, allowing developers to make changes in real time based on user feedback, and iterate continuously toward the desired results.
Also, a DevOps engineer who has identified an issue with a production app can work with the developer and business stakeholder to identify and implement a fix that balances both technical and business needs.
When developers use a low-code platform, users can provide instant feedback directly within an application. Feedback can be categorised as ideas, bugs, or enhancements, and can include commentary from the user. User feedback can carry snapshot screen images of what the user is looking at, at that time. This, along with metadata captured by the platform, tags the feedback precisely to the element of the app requiring further iteration. Feedback can be made available to the product owner to be turned into user stories for the next iteration.
It should be flagged that while many hundreds, possibly several thousands of organisations have adopted low-code platforms for high productivity and increasingly BizDevOps environments, there is a notion amongst some (who haven’t actually experienced low-code), that it can mean low control. But this isn’t true. High productivity platforms don’t have to forfeit high control. It’s possible to have both high productivity and high control capabilities in a single application development platform.
As with most new initiatives in IT, the best way to get started with BizDevOps is to start small, learn then grow. Perhaps have a business oriented developer and a technically oriented business team member partner to trial building apps using a low-code platform. Grow this small ‘innovation group’ to a couple people and tackle some slightly more challenging applications, promoting and celebrating good outcomes. Then look to structure your processes, formalising your team, methods and strategy. Finally you can plan how to scale to realise success across hundreds of applications.
Like agile software development and DevOps, BizDevOps requires people, process, and cultural change. But get it right and before long, you’ll be engaging the principles of BizDevOps across a portfolio of digital initiatives, including for the development of innovative products and services, portals and mobile apps to engage customers and partners in new and meaningful ways.
You’ll soon be developing digital applications to relentlessly streamline and automate internal operations too, combining the speed of DevOps with business objective alignment by putting custom software development at the core of your business to achieve a competitive advantage for your organisation.
Sourced by Nick Ford, technology evangelist, Mendix