This article includes a list of general references, but it remains largely unverified because it lacks sufficient corresponding inline citations . (September 2011) (Learn how and when to remove this template message) |
Enterprise release management (ERM) is a multi-disciplinary IT governance framework for managing software delivery and software change across multiple departments in a large organization. ERM builds upon release management and combines it with other aspects of IT management including Business-IT alignment, IT service management, IT Governance, and Configuration management. ERM places considerable emphasis on project management and IT portfolio management supporting the orchestration of people, process, and technology across multiple departments and application development teams to deliver large, highly integrated software changes within the context of an IT portfolio.
Just as traditional release management packages changes together for execution and delivery, so an enterprise release is a mechanism for integrating and managing multiple, independent programs and projects that impact the enterprise. ERM takes an end-to-end life cycle perspective addressing the (strategic) planning, execution and delivery of an organization’s entire change portfolio, even though in reality it is often confined to the latter integration, test and implementation stages of delivery.
An enterprise release consolidates and integrates the deliverables of multiple projects (or more generally, change initiatives) that have to be time-boxed or synchronised so they can be tested and released as a whole. By stressing the need for a cohesive release architecture, ERM aims to supplement portfolio prioritization with greater design governance that serves to improve productivity and reduce change disruption by executing related features together.
While traditional release management addresses fine-grained changes and provides technical support for the project, ERM supports enterprise portfolio/project management (PPM) and brings a pragmatic architectural and execution perspective to the selection and planning to an enterprise release.
Organizations practicing Enterprise Release Management often support software projects across a wide spectrum of software development methodology. An IT portfolio often incorporates more traditional Waterfall model projects alongside more iterative projects using Agile software development. With the increasing popularity of agile development [1] a new approach to software releases known as Continuous delivery is starting to influence how software transitions from development to release. With continuous delivery, transitions from development to release are continuously automated. Changes are committed to code repositories, builds and tests are run immediately in a continuous integration system, and changes can be released to production without the ceremony that accompanies the traditional Software release life cycle.
While continuous delivery and agile software development provide for faster execution on a project level, the accelerated pace made possible by continuous delivery creates challenges for less-agile components in an IT portfolio. ERM provides organizations with a comprehensive view of software change across a large collection of related systems allowing project managers and IT managers to coordinate projects that have adopted more continuous approaches to software delivery with projects that require a slower, more sequential approach for application development.
Enterprise Release Management provides enterprises with a model that can adopt the localized effects of both DevOps and Continuous delivery to the larger IT department.
In software development, agile practices approach discovering requirements and developing solutions through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s). It advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages flexible responses to change.
Capability Maturity Model Integration (CMMI) is a process level improvement training and appraisal program. Administered by the CMMI Institute, a subsidiary of ISACA, it was developed at Carnegie Mellon University (CMU). It is required by many U.S. Government contracts, especially in software development. CMU claims CMMI can be used to guide process improvement across a project, division, or an entire organization. CMMI defines the following maturity levels for processes: Initial, Managed, Defined, Quantitatively Managed, and Optimizing. Version 2.0 was published in 2018. CMMI is registered in the U.S. Patent and Trademark Office by CMU.
Enterprise architecture (EA) is "a well-defined practice for conducting enterprise analysis, design, planning, and implementation, using a comprehensive approach at all times, for the successful development and execution of strategy. Enterprise architecture applies architecture principles and practices to guide organizations through the business, information, process, and technology changes necessary to execute their strategies. These practices utilize the various aspects of an enterprise to identify, motivate, and achieve these changes."
ThoughtWorks is a privately owned, global technology company with 43 offices in 14 countries. It provides software design and delivery, and tools and consulting services. The company is closely associated with the movement for agile software development, and has contributed to a content of open source products. ThoughtWorks is a leader in Digital Product Development Services, Digital Experience and Distributed Agile software development.
Lean software development is a translation of lean manufacturing principles and practices to the software development domain. Adapted from the Toyota Production System, it is emerging with the support of a pro-lean subculture within the Agile community. Lean offers a solid conceptual framework, values and principles, as well as good practices, derived from experience, that support agile organizations.
Microsoft Solutions Framework (MSF) is a set of principles, models, disciplines, concepts, and guidelines for delivering information technology services from Microsoft. MSF is not limited to developing applications only; it is also applicable to other IT projects like deployment, networking or infrastructure projects. MSF does not force the developer to use a specific methodology.
Project Portfolio Management (PPM) is the centralized management of the processes, methods, and technologies used by project managers and project management offices (PMOs) to analyze and collectively manage current or proposed projects based on numerous key characteristics. The objectives of PPM are to determine the optimal resource mix for delivery and to schedule activities to best achieve an organization’s operational and financial goals, while honouring constraints imposed by customers, strategic objectives, or external real-world factors. The International standard defines the framework of the Project Portfolio Management
A project management office is a group or department within a business, government agency, or enterprise that defines and maintains standards for project management within the organization. The PMO is usually lead by the chief delivery officer (CDO) and strives to standardize and introduce economies of repetition in the execution of projects. The PMO is the source of documentation, guidance and metrics on the practice of project management and execution.
Application lifecycle management (ALM) is the product lifecycle management of computer programs. It encompasses requirements management, software architecture, computer programming, software testing, software maintenance, change management, continuous integration, project management, and release management.
In software engineering, a software development process is the process of dividing software development work into distinct phases to improve design, product management, and project management. It is also known as a software development life cycle (SDLC). The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.
Release management is the process of managing, planning, scheduling and controlling a software build through different stages and environments; including testing and deploying software releases.
DevOps is a set of practices that combines software development (Dev) and IT operations (Ops). It aims to shorten the systems development life cycle and provide continuous delivery with high software quality. DevOps is complementary with Agile software development; several DevOps aspects came from Agile methodology.
Lean integration is a management system that emphasizes creating value for customers, continuous improvement, and eliminating waste as a sustainable data integration and system integration practice. Lean integration has parallels with other lean disciplines such as lean manufacturing, lean IT, and lean software development. It is a specialized collection of tools and techniques that address the unique challenges associated with seamlessly combining information and processes from systems that were independently developed, are based on incompatible data models, and remain independently managed, to achieve a cohesive holistic operation.
Micro Focus Application Lifecycle Management (ALM) is a set of software tools developed and marketed by Micro Focus for application development and testing. It includes tools for requirements management, test planning and functional testing, performance testing, developer management, and defect management.
Continuous testing is the process of executing automated tests as part of the software delivery pipeline to obtain immediate feedback on the business risks associated with a software release candidate. Continuous testing was originally proposed as a way of reducing waiting time for feedback to developers by introducing development environment-triggered tests as well as more traditional developer/tester-triggered tests.
Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time and, when releasing the software, doing so manually. It aims at building, testing, and releasing software with greater speed and frequency. The approach helps reduce the cost, time, and risk of delivering changes by allowing for more incremental updates to applications in production. A straightforward and repeatable deployment process is important for continuous delivery.
UNICOM Focal Point is a portfolio management and decision analysis tool used by the product organizations of corporations and government agencies to collect information and feedback from internal and external stakeholders on the value of applications, products, systems, technologies, capabilities, ideas, and other organizational artifacts -- prioritize on which ones will provide the most value to the business, and manage the roadmap of how artifacts will be fielded, improved, or removed from the market or organization. UNICOM Focal Point is also used to manage a portfolio of projects, to understand resources used on those projects, and timelines for completion. The product is also used for pure product management -- where product managers use it to gather and analyze enhancement requests from customers to decide on what features to put in a product, and develop roadmaps for future product versions.
Agile Business Intelligence (BI) refers to the use of Agile software development for BI projects to reduce the time it takes for traditional BI to show value to the organization, and to help in quickly adapting to changing business needs. Agile BI enables the BI team and managers to make better business decisions, and to start doing this more quickly.
Disciplined agile delivery (DAD) is the software development portion of the disciplined agile toolkit. DAD enables teams to make simplified process decisions around incremental and iterative solution delivery. DAD builds on the many practices espoused by advocates of agile software development, including scrum, agile modeling, lean software development, and others.
The Scaled Agile Framework (SAFe) is a set of organization and workflow patterns intended to guide enterprises in scaling lean and agile practices. Along with large-scale Scrum (LeSS), disciplined agile delivery (DAD), and Nexus, SAFe is one of a growing number of frameworks that seek to address the problems encountered when scaling beyond a single team. SAFe is made freely available by Scaled Agile, Inc., which retains the copyrights and registered trademarks.