Решения для управления жизненным циклом приложений (Application Lifecycle Management, ALM) иногда сравнивают с ERP для компаний, специализирующихся на разработке программного обеспечения. Системы ALM автоматизируют процессы промышленной разработки, от определения требований к программному продукту до сопровождения готового решения. Сходство с ERP распространяется и на процессы выбора и оценки эффективности внедрения систем ALM, а текущая экономическая ситуация требует подходить к принятию решений об их использовании с особой тщательностью. Одним из производителей таких средств является корпорация IBM, российский партнер которой, компания «CМ-Консалт», провела семинар, посвященный программному семейству IBM Rational.
По словам руководителя отдела консалтинга «СМ-Консалт» Александра Новичкова, решения класса ALM, к которым относятся продукты семейства Rational, помогают выстроить прозрачный процесс создания ПО. Этот процесс обеспечивает стабильную повторяемость результатов с заданным качеством, позволяет снизить квалификационные требования к участникам проектов и добиться высокого качества с использованием разработчиков средней квалификации, а также дает возможность уменьшить сроки разработки за счет применения типовых технических решений.
Одним из ключевых процессов ALM, оказывающих влияние на все этапы разработки, является процесс управления требованиями. По данным аналитиков Standish Group, 40% всех ошибок в программных системах — это ошибки в требованиях. Главный специалист отдела внедрения «СМ-консалт» Александр Байкин дал несколько «антикризисных» рецептов реализации управления требованиями, среди которых сопоставление требований с известной моделью зрелости CMMI, использование метрик качественных требований, таких, например, как количество ошибок или частота изменений в требованиях, умелое сочетание в применении к требованиям полномасштабных процессов управления и «скорых» методик.
Байкин призвал создавать отделы аналитики, если их еще нет в компаниях, поскольку без них трудно на должном уровне формулировать требования к ПО, вести планирование разработки на их основе и управление изменениями в требованиях, а также осуществлять другие элементы процесса управления требованиями.