Application life-cycle management tools are not successful unless they can carry a software application from the idea stage to its retirement, according to industry analyst Theresa Lanowitz, founder of Voke, an independent research firm.
She added that ALM tool makers should not focus on one methodology or another, but instead focus on creating products that help software development teams work the way they want. The programs should be scalable, she said, and help teams deliver their own products to their clients in a timely fashion.
The recent rush by ALM tool providers to define their product sets under one methodology or another, such as Agile ALM, undermines the general concept of ALM, Lanowitz said. “There is a time and a place for each methodology. RUP works in some places, waterfall in others; ALM is about making sure you can deliver value and that end users get satisfaction from a product. Organizations have to be fluid enough to fit into whatever methodology works for their product,” she said.
The business of software, in Lanowitz’s opinion, is about delivering successful products instead of simply delivering one or two applications. Convergence (the blending of traditional IT and embedded systems) is the current trend in the ALM market, she added.
Lanowitz said companies beyond software application providers are being required to think about software requirements and how those requirements fit into their overall product. GM, for example, needs to take software life-cycle management into the creation of the Volt car, which has hundreds of requirements for software to be managed by GM and its development team, according to her.
Lanowitz said GM is now taking the time to understand requirements, and other companies will need to elevate requirements to strategic assets, making them an integral part of the process instead of just using them at the beginning of the process for initial ideas.
Making requirements part of the strategic planning process means extending the application life cycle beyond developers. Lanowitz said user interface experts, architects and project management roles will need to be included in the process in order to improve the “usability of software and the performance and security.” Convergence relies on secure software, she said.
Software developers will also be, according to Lanowitz, required to take data into account. She offered an example to explain the new applications that will be required by businesses as the software market continues to evolve.
“Take a retail example. A buyer buys fabric and then sends it out to be manufactured into sweaters. Each sweater is fitted with an RFID tag and then shipped to retail stores. The analytics associated with the RFID tags can tell buyers what colors and sizes they need to buy in the future,” Lanowitz said.
“All the systems are coming together. Developers are going to be asked to create more analytics-based solutions in the future and will be asked to look at the whole application life cycle in order to do that.”
Additionally, other team members, including software architects, operations, business analysts and QA professionals, will be included in this life-cycle evaluation, Lanowitz said.
“Teams will work cross-functionally, and [tools] should enable connectivity and conversations between team members,” she said, adding that although teams will be asked to work together, specialized skills will still exist in individual teams and employees.
ThoughtWorks Studios released a white paper entitled “Redefining ALM with Five Key Practices,” giving developers an idea of what it believes are the essential practices a development team should follow in order to practice agile application life-cycle management.
“We feel agile ALM is about using and applying tools to support people and teams and the way they work,” said Cyndi Mitchell, managing director at ThoughtWorks.
She said there are five key organizational practices that must be supported in order to create an agile application life-cycle management development process.
Mitchell said agile teams must be able to change on the fly and adapt quickly to new processes. She said tools, in order to be classified as agile ALM tools, should support this type of work.
“Companies need to get used to teams using a variety of methods. Every team needs to be able to create and define their own process and evolve as they grow,” Mitchell said. And added that this concept should be embraced on an organizational level.
Build the right product
Development teams need to organize around creating value, Mitchell said. Providing the right products, with the right set of requirements, is important to this concept. She said tools can bolster it if properly configured.
ThoughtWorks and its tools follow a continuous delivery methodology. These are new movements, Mitchell said, that call for “one-click, push-button, live deployment to remove barriers” between the development team and the testing teams. “ALM can break down these silos to support automation,” she said.
Orchestrate, don’t manage
“Leaders in agile need a tool set to understand what’s going to move barriers and to move best practices from one team to another,” Mitchell said, adding that management in agile ALM is really more of an overseer role instead of a strict manager.