Today’s application development is a complex landscape of services, integrations and architectures. In fact, most developers today spend more time writing API calls and finding open-source projects – and maintaining those applications once they’re created – than they do writing code for innovative new features.
It looks nothing like “your father’s app dev,” which involved a code editor, compiler, and few other tools. In today’s world, we see developers struggling under the weight of an ever-expanding toolbox now required to bring products to life.
According to Andrew Manby, VP of Product Management of HCL Volt MX, among the drivers behind modern development are the needs of business to satisfy customers, and overcoming the effects of the COVID-19 pandemic to be able to continue to deliver fixes and new features at speed.
“We did a survey late last year with Forrester, and in our survey, 78% of respondents said they’re prioritizing improving the ability to innovate and really reach their customers,” Manby said. And for businesses to survive the pandemic, businesses had to rely on that old Yankee spirit and ingenuity, he said. “I think businesses could make do or innovate. Almost like having their own Apollo 13 moment, to fix the problem, to be able to continue to reach the customer, adding buy online, pick up in store, things like that. It was that sort of duct tape and air filter moment, for a lot of organizations.”
Piecing together tools for collaboration, development and deployment to a remote workforce has been made a lot easier with cloud computing – no more creating VPNs, unless organizations have specific regulations or security needs they must follow. However, the cloud doesn’t really help address issues such as culture change and the move towards delivering products instead of projects.
Agile and culture change
Agile development is one of those areas where scaling up has been a thorny issue for many organizations. Agile, according to Forrester vice president and analyst Diego Lo Giudice, is not “just a bunch of practices.” Some think going to Scrum training and bringing what you know back to the organization will have everyone working in an Agile way. But Lo Giudice said shifts to Agile and other methodologies require a cultural and behavioral change. “Think about your IT that has been owning the projects, and now suddenly they say we’re going to move to products and you’re going to have a product owner from the business side. And he or she is going to tell you what are the most important things you need to implement. It’s kind of losing power for project managers that used to manage these … projects.”
Another issue Lo Giudice pointed out is integrating all of it throughout the organization. “Everybody thinks SAFe is saving the world. I get lots of clients who tell me, ‘we’re replacing the old bureaucracy with a new type of bureaucracy here.’ Cultural and behavioral change is really tough for organizations.”
Further, he said, these product owners from the business don’t have the skills to think in terms of how project managers in modern development think about minimum viable features and minimum viable products. “They still think in terms of big releases,” he said. Also, he added, business-side product owners “are not even committed to Agile. It’s like, ‘We want to do Agile, but you do it, I’m not going to get involved.’ But that’s not the way agile works.”
But because of this drive to modern application development, organizations are starting to think seriously about what agility, responsiveness and velocity really mean to them. “It comes down to the business problem,” HCL’s Manby said. “I think CIOs are still faced with the same thing – at the end of the day, they still need to modernize their application inventory, they need to move to the cloud because they want to obfuscate some of the risks that they have in their data center. And they want to move that off to other vendors, they want to make the portfolio of applications more modern.”
Another aspect of modern development to think about has nothing to do with tools or programming languages. It’s the difficulty organizations are having in attracting and retaining developer talent. “People, given this day and age, are more mobile – not in the physical sense, but more willing to swap” one job for another, Manby said. “Developers want to do meaningful work, they want to be in an engaging work environment, and they want to use the cool tools. But they also want to use the stuff they learned in college, or in their experience. But there’s the old guard who know how to do things in a certain way. They’re used to using WebSphere and db2 and Oracle, and Siebel. And the new generation is coming in, and they’re all React and Angular and all container ready and Git friendly. It’s not the culture clash, but the organizations that haven’t shifted are finding it more difficult to get to containers and the cloud. The smarter organizations are bringing in more of the influx of those newer developers and the new-wave IT people to help push that acceleration along, to use those new types of tools.”
A place for low-code tools
With different languages and platforms for creating or importing pieces of code to create modern applications, Manby said “we’ve probably got as much fragmentation now from an application developer standpoint as we’ve ever had.” He went on to say that the rate of change has gotten faster as well. “Angular 1, Angular 2, React, Flutter. It’s almost like there’s a faster inertia,” he said. “And there’s a concern about obsolescence. If you have to look after a piece of code that’s got Dojo in it, when you give that to a new developer, they say, what’s this stuff? That’s a challenge. But at the same time, in its day Dojo was modern and exciting for folks.”
This, Manby believes, is where low code is trying to come from. “The appeal of the platform is, whatever framework you may be using, if we as a vendor do this the right way, then whether it’s Angular or React or whatever, we’re going to insulate you from those sorts of challenges,” he said. “But we’re still going to give you something that’s not going to dumb down the skills that you’ve learned but also allows you to be a superhero, and do some cool stuff without boxing you in.”
Low code has become a modern de rigeur term, and represents a way to apply rigor to development and deployment, Manby said. “Low code is applied to DevOps pipelines, it’s applied to data integration. You could apply the principles of anything, which gives you a visual model, a model-driven approach. You can say that no code or low code makes [development] go faster, when it comes back down to pure developer productivity.”
When it comes to professional development, low code is not removing tools, Manby said. “It’s providing pieces to try and make those developers’ lives simple. If you can simplify how you aggregate data across multiple systems, or provide you with an orchestration layer so you can orchestrate a series, a more complex workflow with parallel looping. Do you want your developers to create that from scratch, and then have to maintain it? Or do you want to use a tool to enable you to do that?”
As for testing, Manby said a low-code tool can generate the test case automatically and continually test the applications as they evolve, which saves developers time. “It’s not about removing things,” he said. “It’s just trying to make you more productive.”
MAD about development
The baseline activities of modern application development, as defined by research firm Forrester, are ideate, design, build and deliver. According to an August 2021 report on MAD, Forrester said organizations augment these activities with value stream management, collaborative work management, low code and continuous testing.
The design phase includes developing a prototype, then a minimum viable product. In its report, Forrester notes that experimentation can begin in this phase, using feature management (such as flags) to let developers turn those features on or off as the product makes its way toward full release.
But at the core of all this is business value, and Forrester’s MAD model says that everything developers create must “ultimately be in service of value streams.” Value streams and management of those streams is how organizations can raise their Agile and DevOps practices by gaining insights into the processes used to create and deliver quality software that customers want. Determining what the business wants, and why, should be the first step in the process of creating software products.
Collaborative work management, according to Forrester, “supports the confluence of project and process work by allowing users to create personal and team workspaces,” according to the report, while low code expands development outside of IT.
Meanwhile, continuous testing is required to ensure the accelerated pace of software creation and delivery does not impact the quality of the product.