Before the shift in software methodologies, the application life cycle was fairly simple—or at least straightforward. Now, contextual elements of ALM have changed drastically because of the evolving nature of the industry. Where the old ALM process was all about managing application development, today’s faster pace of delivery and more complex applications are forcing companies to create a new model that works with current practices.
ALM started in the “waterfall” age, but now it has a close relationship with Continuous Delivery, DevOps and agile. Releases that used to take weeks or months now only take a few days. The entire software development industry has experienced a huge shift in culture, and the role of developers (along with their tools) has modernized.
ALM’s value is that it gives insight to the teams that are doing development and testing, and the scope of ALM has been broadened to include capabilities around collaborating, getting feedback from customers, and having some sort of strategic plan in place. It’s hard to imagine doing DevOps or agile without ALM, but perhaps with this shock to the system, it’s time to rethink the application life cycle.
Embrace the culture shock
The waterfall culture of an organization is in the past for ALM processes. Large organizations that were siloed experienced many problems that could have been solved by tapping into the right tools. Often, teams in different silos would blame others when things went wrong, and that’s when big projects would fail.
“In many cases this became part of the enterprise ALM culture,” said Flint Brenton, CEO of CollabNet. “However, in healthy collaborating organizations, this was never part of ALM practice. [But] I have heard war stories of badly behaving organizations that played this out in the context of a painful ALM experience.”
Before agile, there were a variety of these barriers. The siloed teams were certainly part of the problem, but most of the roadblocks of ALM were cultural. Removing these barriers has allowed software development to become a cohesive unit with other parts of the organization.
(Related: ALM can keep your apps in play)
“I personally think the best thing that ever happened to the ALM was agile and the DevOps movement,” said Paula Rome, senior product manager at Seapine Software. “That really brought into focus [that] it’s not the tool, it’s the process and the people and how you are working with each other.”
Organizations realized there were practices that could get their teams to collaborate together. The variety of tools helped with consistency and allowed ALM to overcome process, technology and functional barriers, and ALM really gave opportunities to organizations to communicate effectively, according to Tye Davis, senior product marketing manager at Hewlett Packard Enterprise (HPE).
The integration of things such as agile and DevOps, QA, development and product management has resulted in a wider team responsible for delivering software. The challenge is that the old tools can’t handle the scale of collaboration and visibility needed, said Brenton. Companies must use a comprehensive platform that provides a way to show different stakeholders the big picture, while also allowing the flexibility of different source-control systems, DevOps tools, and tracking systems that the individual teams are currently using, he said.
While some define agile as a culture and some call it a movement, the change the industry has been experiencing has been brought about by new principles and procedures, not by a strict set of rules.
“This means that every organization adopts agile at its own pace and with its own twists, and so the application life-cycle management also must be adopted to each individual organization,” said Alex Haiut, vice president of R&D at BlazeMeter. “I do not see any solution that gets closer to a one-size-fits-all. If someone looks at ALM in a few different organizations, the steps and stages might be the same or similar, but the flow and tools are different.”
Developers and ALM
The new development world has changed ALM, but it’s also changed the role of the developer. The environment looks and feels different, and for someone who has been coding for a long time, this new way of working can come as a struggle.
Kelly Emo, director of life-cycle and quality product marketing at HPE, said that developers want to become more successful and do their jobs better, but they don’t want additional overhead. Developers want to focus on the tools they want to work in, and focus on their code. ALM can help developers ensure that what they are developing is better, but if additional steps are being created for them before they can even code, she said this is considered to be just more roadblocks.
“As organizations embrace DevOps, code becomes everyone’s problem, and so developers are starting to care more about ensuring that what they are contributing to the business and that the application is going to give them amazing user experiences and have that great quality,” said Emo.
ALM was never intended to be static or inflexible, said Brenton, so developers need to start thinking about ALM as building “more collaboration”—not simply with other developers, engineers and project team members, but with teams working on corporate plans, broader portfolios and business owners. Visibility and transparency are two key buzzwords that will help organizations that want truly fast-moving ALM teams.
“When they are partnering in the selection of an ALM solution, [developers] should insist on a platform that allows them to use their tool set as it exists today or that allows the to migrate to different tools, or adopt new tools as they change the way they operate,” said Brenton.
It’s no longer a world where a developer throws code over the wall to someone to deploy it. Now, the world developers live in is one where they invest in deployment channels and deployment pipelines themselves.
As a developer writes code, they are thinking about where the code is going to run and how it’s going to be maintained or supported. According to Aaron Bjork, principal group program manager at Microsoft, developers need to invest in deployment and understand it because it’s their job now.
“Developers are very interested in technologies that allow them to write once and target many platforms, so that’s what many developers are paying attention to these days,” he said. “We want code reusability and we want to make sure the investments we are making from a tech standpoint are going to stand the test of time across a breadth of platforms.”
While organizations are becoming more agile, developers still need to make sure that they are keeping track of their deliverables and making sure that they match what customers’ expectations are, according to Jason Hammon, director of product management at TechExcel.
He said that with agile development, some people moved away from ALM and had gotten less formal in their requirements tracking or test management. This, he says, is great because of the flexibility. But, in the end, you aren’t tracking what you are supposed to be doing and validating what you’ve actually done.
Speed of delivery
Fast delivery is a driver in this movement because that’s what application users demand, and it’s how companies remain competitive. But Continuous Delivery requires better and more timely visibility into the engineering team’s efforts, not only for operations but also for other stakeholders in the organization so they can understand what the business is delivering and when. This allows them to coordinate on time to market, sell it, and support it, said CollabNet’s Brenton.
“This requires your ALM platform to handle the speed of delivery, provide visibility into every step of development for quick escalation, impact assessment, and problem resolution, and provide traceability and accountability for compliance and security practices—all across an increasingly heterogeneous and quickly changing toolset,” he said.
“In the old ALM world, we celebrated your birthday, and in the new ALM world we celebrate every day,” said Microsoft’s Bjork. “It’s a mindset shift; when you have a practice like Continuous Delivery or Continuous Deployment, you’re thinking about incrementally getting to the finish line instead of getting there in big jumps.”
It’s more important than ever to find an ALM process or solution that is lightweight and easy to use, according to Hammon. He said that because of the faster release cycles, if people feel that documenting or validating those requirements are a burden, then they’re not going to do it. There is a need to keep a close connection between what the desired project is and what is actually being created, and ALM provides a mean of doing that, he said.
“That’s still a very important project in terms of connecting what the business analysts and the marketing folks are expecting to see in the product and what actually shows up when it’s released,” said Hammon. “With the shorter cycles, it’s more important to get it right.”
Tools, methodologies and rules of ALM
Rethinking ALM in this modern software development world means keeping those same steps and building on top of them as the company moves toward a more agile way of operating. Hammon said that there are examples of people losing their way in the sometimes chaotic world of shorter release cycles. Formally documenting requirements and having a validation step to them is one rule companies should be concerned about.
While there are many rules or best practices of ALM, there are a few crucial components that testers or project managers should follow. Emo said companies must maintain visibility as they progress through the life cycle, ensuring consistent continuous quality. She said that one of the ways to get continuous quality, security and performance is by making sure you have those ALM capabilities built in and engineered into the DevOps pipeline.
In terms of methodologies, more and more organizations are paying attention to lean principles and their workflow, said Bjork. He said that streamlining methodologies is the next big movement. Since Scrum and many agile methodologies taught companies to work faster, now they can learn how to do that at scale while also eliminating waste.
When it comes to choosing the right ALM tool, Haiut said to think about what integrates well into your company. He said everyone hates surprises, especially stakeholders who are outside of the development team. The best tools are not only what’s comfortable for the team, but what can also provide transparency for the stakeholders, management, and other team members, he said.
One principle to follow is to define a cadence that fits the culture that’s been established, and have it fit into the delivery pipeline, said Bjork. “If you want to move quicker, you’ve got to be able to deploy quicker, and you’ve got to be able to deploy with confidence,” he said.
And while companies might have their Dev and Ops teams working closer, the modern software development world allows companies to constantly stay engaged with its customers. Customers are the people that will give feedback on what you are and are not doing well, said Bjork, so it’s healthy to have a channel to talk to customers.
What’s in the future for ALM?
Tools are more flexible and can add value to ALM, but with the new pace of technology and innovation, the industry is rapidly approaching the point where the amount of information that gets generated through ALM is both valuable and a problem, said Emo. She said that because of this, there are going to be Big Data problems and solutions for ALM, sparking a huge jump in efficiency and effectiveness.
ALM will also need to become more strategic as teams leverage the flexibility to securely adapt and adopt what is best for their team, said Brenton. It will have to work best for the team so they can deliver quality at speed, and the ability to deliver working software products rapidly is a “critical weapon for a company to be successful in fast-changing markets,” he said.
If companies are rethinking the way they are doing ALM, Rome suggests thinking about what the company actually needs instead of what it wants. She said there is no need to be locked into a vendor—that’s in the past. Now, companies have more choices, and they can keep their goals in mind while they pick a solution or tool.
Rome also said that in the past, companies would pick a vendor, and it would be like “signing up for a mindset.” She said that today, customers and the industry need to have a conversation of what they need, and that as an industry, she said they should be doing a better job at supporting where that wants to go.
Microservices with ALM
Microservices are applicable in the modern ALM world as they are helping teams deliver products faster. Microservices introduce some challenges, and yet simplify the life cycle at the same time.
“Microservices do introduce challenges as integrated testing, and deployment become more complex and requires automation,” said Flint Brenton, CEO of CollabNet. “Poorly designed microservices can shift what were previously monolithic applications into the network, but the problem still exists in the form of data marshaling, load balancing and latency issues, and availability and fault tolerance of those services.”
ALM can solve this complexity problem by making it easier to find the DevOps pipeline, said Kelly Emo, director of life-cycle and quality product marketing at Hewlett Packard Enterprise. She said that when you have a microservice that is contained, it’s really focusing on a specific function or user story.
Instead of having a monolithic application with multiple requirements, there are now pipelines that can manage these specific services to give you clear visibility on how it’s progressing.
“You’re going to have a lot more data points going into the system, and you’re going to have all these pipelines managing these different services,” said Emo.
There will be so many data points that the team won’t be able to absorb them all, she said. This is where ALM is really aggregating that data. It’s been integrated with development, build and Continuous Integration tools, and all that data is flowing into ALM, she said.
Emo said that ALM solutions could start to apply analytics to that data, and that there’s a lot of innovation in the industry around analytics already.
“I think it’s exactly what the industry needs to support Microservices,” she said. “So yes, in the beginning it could make things more complex. But I think we as the industry have the opportunity to use analytics to simplify that and then it becomes much more seamless in terms of Continuous Delivery.”
Is it time to rethink ‘ALM’?
The traditional application life cycle is no more. Past ALM processes were created in the waterfall age, where large organizations relied on silos to deliver software in a slower fashion. This way of delivering software will no longer work, as there is an emphasis on fast delivery and less time to market. With this evolution, we asked some ALM experts what ALM looks like in the modern software development world, and if it might be time to rethink the definition of ALM.
Aaron Bjork, principal group program manager at Microsoft: “Yes, it’s absolutely time to rethink ALM. Why? Simply because the applications we ship today, and the environments in which we ship them, look substantially different from the era in which traditional ALM practices were first established. We ship more frequently: What used to take months, if not years, now happens continually. We ship to new environments: Instead of printed media, we’re often cloud-first. And we ship to a new customer: a customer who demands visibility into the road map and plan for the software they’re using or buying.
I don’t believe however that rethinking ALM means that we should abandon ALM. Instead, it means adjusting our approach to accommodate the needs of this new landscape. Every organization building software, regardless of size and shape, still has a need to gather requirements, plan for what’s next, write and share code efficiently, and release with confidence. Our approach to these activities (which are encompassed in ALM) should look and feel different from the approach of the past. If they don’t, I’d argue that an organization isn’t progressing and runs the risk of the software it’s producing suffering as a result.”
Alex Haiut, vice president of engineering at Blazemeter: “Yes, definitely. I am developing commercial software for over 20 years, and I have to admit that the user expectations for application stability, richness and performance are at their highest level these days. So is competition between the software vendors. All this makes us rethink everything related to application delivery and the entire application life cycle.
Agile Development, Continuous Delivery and other methodologies are here to help. But methodologies and practices don’t work well without tools supporting them. As anyone adopting these methodologies quickly realizes, there’s no ‘one size fits all’ in these things. Each process and methodology must be carefully adjusted to fit the team skills and culture. So are the ALM tools; they should be carefully selected (or crafted) to match the company, team, procedures and culture again.
Experience shows there’s rare chance one tool will satisfy all organizational ALM needs; most of us will end up with a tool chain containing multiple tools, each one helping specific parts of the process or team. Therefore, if I should pick one criterion to pick the tools, I’d go with integration capabilities. And if we are going to add another one, it’d be reporting capabilities.
Smart, well-developed APIs and other integration features will make multiple tools play well together. Reporting will make the process clear and transparent to all stakeholders, which is an essential part of its success.”
Flint Brenton, CEO of CollabNet: “Yes. ALM is a technology category that dates back more than three decades. It is time to rethink it because major contextual elements that shaped our understanding of ALM have changed considerably in the last 10 years. Material changes have taken root in the operational environment, development tools, engineering best practices, and application development methodologies.
So, whether we realize it or not, we are always rethinking ALM. The tools shape the daily activities, the activities shape the culture, the culture shapes the practices and force the previously established processes to find a new model that works to explain, support or inspire practices and promote more collaboration with the extended team members. But some organizational structures are supporting a specific ALM practice as a static model, and they may have forgotten about the original roots of ALM and the adaptive ‘change’ nature of software development practices.
Major, unexpected change can be daunting for individuals, teams, careers and organizations that are not expecting it. The art of creating great software has always relied on a number of subjective decision-making and collaborative activities relative to the constraints, challenges and requirements of any individual project. Successful teams leveraging a legacy ALM platform have always understood this. But the efficiencies gained by a past generation’s centralized, inflexible and monolithic ALM platform that was optimized for a waterfall-only methodology, cannot cope with increasingly fragile and complex data centers, the emergence of global development teams, and limiting variables that complicate projects that we see today.
These past ALM offerings are now seen by many as limiting and a source of liabilities and constraints. They obstruct innovation in the current work environments where agile, cloud, open source, real-time collaboration tools and virtual teams have mainstreamed.”
Jason Hammon, director of product management at TechExcel: “Software development and delivery is changing rapidly with shorter cycles and quicker deliveries being the norm. These changes naturally lead to the question, ‘Is it time to rethink ALM?’
I think it actually is time to reexamine ALM. Specifically, it’s time to reassess the benefits of ALM and why we use it. Only then can the decision be made as to whether these benefits still apply for software development today.
The primary benefit of application life-cycle management is to ensure that the software delivered matches what was intended. By linking requirements, dev tasks and test cases we can increase the chances that all of the stakeholders are on the same page.
With the increase in the speed of delivery and the complexity of software, it’s more important than ever to closely track and validate software deliverables. The challenge is to find a process and/or solution that allows teams to manage the software life cycle efficiently so that it doesn’t add additional complexity or delay.”
Kelly Emo, director of life-cycle and quality product marketing at Hewlett Packard Enterprise: “Application Lifecycle Management as a process and as reflected in software tooling is evolving to support the aim of high-quality delivery at high velocity. As more organizations adopt agile development and DevOps delivery methodology, the patterns and way that their ALM processes and tools interpret their activity and the data that results from the delivery of software will evolve. First, we will see more ALM tools evolving their user experience and architecture to deliver functionality to manage Continuous Integration, Continuous Testing and Continuous Delivery, the key elements of an integrated DevOps pipeline. In addition, ALM software will make use of the data that is created in the life-cycle process as well. ALM will act upon the life-cycle data by applying analytics, leveraging the vast array of life-cycle data created in the software delivery process to deliver insight to planning, dev, testing and readiness activities.
ALM tools, looking forward, will integrate tools widely used by developers and testers such as Git for source-code management and Jenkins for Continuous Integration, and interpret and deliver data from those tools with data created within the life cycle itself, to deliver insights to users in ways that enable app development and test teams to predict outcomes, optimize resources and remove latency from key decision making. ALM is rapidly becoming a Big Data challenge, but when leveraged to deliver life-cycle insights, ALM will become pivotal to increase overall quality, reduce rework and grow trust and interaction between Dev and Ops. ALM tools will become the window of insight into high-speed delivery and facilitate the necessary and important closed loop processes that support DevOps.
Paula Rome, senior product manager at Seapine Software: “Companies should rethink ALM in terms of what they want versus what they actually need—both now and as they grow. Too often, companies only focus on the now. They find a low-cost ALM tool that is actually one part of the tool chain—issue management, for example. It meets their core needs, even though it has a weak workflow, no triggering capabilities, no traceability, can’t merge defects, etc. They reason that if they need more functionality down the road, they’ll cross that bridge when they come to it.
And then their growth explodes or they win a project that requires more stringent auditing and compliance, and suddenly their low-cost tool isn’t up to the task.
At this point, most companies start adding on other tools to fill in the gaps. It seems cost-effective, because they’re only paying for what they need when they need it, right?
The problem with this a la carte approach is that it creates a patchwork ALM solution with multiple points of failure, multiple versions of the same information, and no one to help when the system breaks. The longer they continue down this path, the harder it is for them to find tools that integrate with all the others they’ve pieced together.
Additionally, patchwork ALM solutions, by their nature, lack end-to-end artifact linking and traceability. Without these capabilities, real-time access to critical relationship information is unavailable, and quality-specific analysis techniques, such as impact analysis, are tedious, time consuming, and often inaccurate.
In the end, they wind up paying more for all the disparate tools they had to cobble together than they would have paid for a single, flexible tool that covers their application life cycle from end to end.”
A guide to ALM suites
Atlassian: Teams use Atlassian tools to work and collaborate throughout the software development life cycle: JIRA for tracking issues and planning work; Confluence for collaborating on requirements; HipChat for chat; Bitbucket for collaborating on code; Stash for code collaboration and Git repository management; and Bamboo for continuous integration and delivery.
Blazemeter: BlazeMeter ensures delivery of high-performance software by enabling DevOps teams to quickly and easily run open-source-based performance tests against any mobile app, website or API at massive scale to validate performance at every stage of software delivery. The rapidly growing BlazeMeter community has more than 100,000 developers, and includes prominent global brands such as Adobe, Atlassian, Gap, NBC Universal, Pfizer and Walmart as customers. Founded in 2011, the company is headquartered in Mountain View, Calif. and Research & Development in Tel Aviv.
Borland: The development/test arm of Micro Focus that creates solutions that help organizations leverage existing IT investments, enterprise applications and emerging technologies to address complex, rapidly evolving business requirements while protecting corporate information at all times. Products such as Caliber, StarTeam, AccuRev and Silk make up a comprehensive ALM suite that provide precision, control and validation across the software development life cycle, and are unique in their ability to integrate with each other—and with existing third-party tools—at an asset level.
CollabNet: CollabNet offers enterprises and government organizations of all sizes the platform to accelerate development and delivery of quality software at speed with its flagship product TeamForge. CollabNet is a pioneer in open-source, agile and collaborative solutions for large, distributed software environments. It provides innovative development tools at enterprise scale and agile consulting and training services. CollabNet services more than 10,000 customers, supporting 6 million users in more than 100 countries. It has been recognized for the past 12 years as a SD Times 100 industry innovator in the ALM & Dev Tools category.
HPE ALM Software: HPE ALM, HPE Agile Manager and HPE Quality Center provide a software platform and open integration hub to accelerate delivery of high-quality software at scale. Manage requirements and user stories, developer changes, builds, tests and effects and share and reuse asset libraries and workflows across projects. Support scaled agile with insight and visibility from Scrum team to enterprise agile release. Deploy flexibly on premise or as a service in the cloud.
IBM: IBM’s Rational Collaborative Lifecycle Management is designed to deliver effective ALM to agile, hybrid and traditional teams. It brings together change and configuration management, quality management, requirements management, tracking, and project planning in a common unified platform.
Inflectra: SpiraTeam is an integrated ALM suite that provides everything you need to manage your software projects from inception to release and beyond. With more than 5,000 customers in 100 different countries using SpiraTeam, it’s the most powerful yet easy-to-use tool on the market. It includes features for managing your requirements, testing and development activities all hosted either in our secure cloud environment or available for customers to install on-premise.
JetBrains: JetBrains offers tools for both individual developers and teams. TeamCity provides Continuous Integration and Deployment, while YouTrack provides agile project and bug management, and Upsource facilitates code review and repository browsing. Tools for individual developers include IDEs for the most popular programming languages on the market, as well as .NET tools for boosting one’s productivity, profiling apps and more. Altogether, JetBrains offerings cover most of the needs of software development houses moving toward a fully integrated solution.
Kovair: Kovair software specializes in the domain of integrated application life-cycle management. Our objective is to make the software development process better, faster and collaborative in a synchronized tools environment. Kovair provides multiple solutions to the market such as the Kovair ALM Studio, Kovair Omnibus Integration, Kovair iTM—the Integrated Test Management Solution, and most recently Kovair QuickSync for data migration between multi-vendor tools when tool changes are essential but legacy data must be migrated.
Microsoft: Visual Studio Team Services (VSTS), Microsoft’s cloud-hosted ALM service for teams to share code, track work, and ship software for any language and any platform, all in a single package. It’s everything you need to run your agile teams, Kanban boards, sprint planning tools, version control with Git, hosted build and release management, manual and automated testing tools and more. It connects to IDEs such as Eclipse, IntelliJ and Visual Studio and code editors like Visual Studio Code. It works with other tools across your software lifecycle via extensions, so you can create your perfect development environment
Orasi: Orasi is a leading provider of software testing services, utilizing test management, test automation, enterprise testing, Continuous Delivery, monitoring, and mobile testing technology. The company is laser-focused on helping customers deliver high-quality applications, no matter the type of application they’re working on and no matter the development methods or delivery processes they’ve adopted. In addition to its end-to-end software testing, Orasi provides professional services around testing, processes and practices, as well as software quality-assurance tools and solutions to support those practices.
Polarion: Polarion ALM is a unifying collaboration and management platform for software and multi-system development projects. Providing end-to-end traceability and transparency from requirements to design to production, Polarion’s flexible architecture and licensing model enables companies to deploy just what they need, where they need it, on-premise or in the cloud.
Rommana ALM: Now available in the Cloud for free, Rommana ALM is a fully integrated set of tools and methodologies that provides full traceability among requirements, user stories, scenarios, test cases, issue reports, use cases, timelines, change requests, estimates and resources; one common repository for all project artifacts and documentation; and full collaboration for all team members around the globe 24×7.
Seapine: Seapine Software’s integrated hybrid-agile ALM suite enables product development and IT organizations to ensure the consistent release of high-quality products, while providing traceability, reporting and compliance. Featuring TestTrack for requirements, issue and test management; Surround SCM for configuration management; and QA Wizard Pro for automated functional testing and load testing, Seapine’s tools provide a single source of truth for project development artifacts, statuses and quality to reduce risks inherent in complex product development.
Serena Software: Serena provides secure, collaborative and process-based ALM solutions. Dimensions RM improves the definition, management and reuse of requirements, increasing visibility and collaboration across stakeholders; Dimensions CM simplifies collaborative parallel development, improving team velocity and assuring release readiness; and Deployment Automation enables deployment pipeline automation, reducing cycle time and supporting rapid delivery.
Sparx Systems: Sparx Systems’ flagship product, Enterprise Architect, provides full life-cycle modeling for real-time and embedded development, software and systems engineering, and business and IT systems. Based on UML and related specifications, Enterprise Architect is a comprehensive team-based modeling environment that helps organizations analyze, design and construct reliable, well-understood systems.
TechExcel: TechExcel DevSuite is a product development life-cycle platform that automates and streamlines requirements, development and QA processes for faster, more frequent release of high-quality products. Whether your process is agile, traditional or hybrid, DevSuite ensures your most current requirements are built and tested. With dynamic linking of requirements to all development artifacts, DevSuite enables full bidirectional requirements traceability from product design through development, testing, bug fixing and release. DevSuite also allows you to completely customize development environments to increase the speed and efficiency of your teams, including custom workflows and rules, personalized page layouts, tailored workspaces with defined access control, specification reports for instant project status, and more. DevSuite also enables you to leverage TechExcel strengths and plug it into existing third-party applications using RESTful APIs. With DevSuite, you’ll more quickly deliver finished products that are bug-free and include the most current features, functionality and user experience customers require.