ALM: Drive Innovation By Being Predictable and Boring
ALM: Drive Innovation By Being Predictable and Boring
If you’re reading a review of the summer blockbuster you’re about to invest $15.50 in, “exciting” and “unpredictable” are encouraging words.
If you’re discussing the progress of your critical software development project, not so much.
Without proper Application Lifecycle Management (ALM), excitement and unpredictability may be exactly what you’re used to getting from your software development processes.
By providing clear, controlled processes and tools for designing, testing, and deploying software, ALM can replace excitement and surprises with predictability and repeatable, successful results. By making your software development process less “exciting,” you free up the mental and emotional capacity of your organization to stop stressing over the process and start envisioning the innovations that can drive your business forward.
Software engineering has evolved as a discipline over the past 70 years, and modern ALM is the end product of that evolution. By leveraging the lessons learned and best practices encompassed in ALM, your business will simply see better and faster software development, but will also gain some perhaps unexpected additional benefits.
1. Breathing Room for Innovation
If IT spends too much time on maintenance and project overruns, it can only focus on co-developing a handful of innovative technologies or projects with other business units. Worse, it could be forced to deal with more projects than it can realistically handle, and all of them will suffer as a result. With the poor planning and requirements that result from such an environment, you’ll get stuck in a continual game of catch-up, putting innovation on the back burner.
Innovation starts when your key people have time to explore original ideas — nobody envisions a beautiful new addition to a house that is currently on fire. A good ALM process provides the breathing room that is essential for fostering collaboration and enables a focus on innovating for the future rather than scrambling to fix the mistakes of the past.
2. Maximized Efficiency
When everyone is on the same page, projects run more smoothly. Time spent rewriting software because of misunderstood requirements is time wasted — and that time loss leads to frustration for both your development teams and your business stakeholders. Applications implemented without an ALM process frequently don’t sufficiently involve end users and other stakeholders in the process, which can lead to features that aren’t aligned with user needs, time-consuming re-releases, delays, and unnecessary maintenance requests. With appropriate ALM processes, requests can quickly be gathered and integrated into the product as it evolves, reducing excessive back-and-forth discussions and the delay between envisioning a feature and seeing it as a working reality. Misunderstandings of requirements or goals are caught earlier in the development process before they can do damage to the project timeline and your team’s mental health.
The efficiencies that ALM brings aren’t isolated to IT; these benefits also spread to other business units that interact with IT (in other words, all of them). Developers spending time re-engineering code that was based on missed requirements are unhappy and wasting time — but so are business stakeholders who are re-explaining requirements they thought they’d made clear in the first place. Driving an effective software development process makes effective and efficient use of everyone’s time.
Change is inevitable in both business and technology. Today’s cutting-edge software is tomorrow’s obsolete legacy system. In this environment, it is critical to have a consistent process for dealing with change. Although specific applications, technologies, and business requirements will always be changing, the procedure for successful implementations doesn’t have to. With this stability of process, you’re building a solid foundation for innovation and for delivering what is promised when it was promised.
4. Continual Improvement
As with any process, both quality and speed can increase with experience. Mature ALM processes are easier to follow, and experienced analysts, project managers, and trainers can guide new team members once the initial adoption curve of ALM is overcome. ALM is not a one-time benefit; it is an approach that builds continual improvement directly into your software development, ensuring that your processes continue to evolve and improve alongside your business.
5. Enhanced Talent Recruitment and Retention
When best practices have been laid out and people have well-defined roles, friction is minimized. Your software development teams can get their excitement from working on (and envisioning) new innovations for your business, not from panic attacks about whether production will go down again today. This environment creates a network for referrals and enables key contributors to be happy and satisfied with their output and work. With ALM as a focus, top talent will be drawn to your organization — and will want to stay.
And key talent is the cornerstone of innovation. That’s why Apple and Tesla spend massive sums of money trying to bring in the right people. It’s why Facebook and Google fight over the top talent in the San Francisco Bay Area. As your ALM maturity improves, a virtuous circle is created in which a healthy and creative development environment attracts top talent — and those talented team members apply their expertise to evolve your processes even further.
Innovation occurs when IT is working as a well-functioning machine, not as a source of drama. Give your team members the tools and processes they need to make the software development process predictable and “boring.” They — and your business stakeholders — will be able to focus on creativity and innovation for your business, leaving the explosive excitement to Michael Bay.