Software Engineering comprises different disciplines along its life-cycle:
Business Modelling – The goal of this discipline is to understand the business of the organization, the problem domain being addressed by the project, and to identify a viable solution to address the problem domain.
Project Management – The goal of this discipline is to direct the activities that takes place on the project. This includes managing risks, directing people (assigning tasks, tracking progress, etc.), and coordinating with people and systems outside the scope of the project to be sure that it is delivered on time and within budget.
Information Management – The goal of this discipline is address the value, usefulness, accessibility, and security of an organization’s data and information assets. It includes tasks related to data and information requirements, standards, management, and security and controls.
Requirements Management – The Requirements discipline outlines the processes that support the planning, development and management of a project’s requirements. Requirement activities should begin after the Project (Charter) is approved and the project has begun.
Technology Environment – The goal of this discipline is to support the rest of the effort by ensuring that the proper process, guidance (standards and guidelines), and tools (hardware, software, etc.) are available for the team as needed. Technology defines the approach to design, develop, test, and operate the infrastructure and software components required for the system applications.
Development Management – The goal of this discipline is to transform your model(s) into executable code and to perform a basic level of testing, in particular unit testing. Development addresses the tasks for designing, developing, and testing the custom components of the software applications.
Quality Management – The goal of this discipline is to perform an objective evaluation to ensure quality. Quality Management includes tasks to plan and monitor for quality, verify and validate deliverables, and assess project processes and assets against organizational standards.
Deployment – The goal of this discipline is to plan for the delivery of the system and to execute the plan to make the system available to end users. Plan, communicate, manage, deploy, and confirm the system transition to the live environment while maintaining the integrity of existing system(s). Deployment will include activities related to the migration of code and/or configuration across the non-production as well as to the final production systems/ clients
Configuration Management – The goal of this discipline is to manage access to your project work products. This includes not only tracking work product versions over time but also controlling and managing changes to them.
Testing – The Testing discipline outlines the tasks that support the planning, creation, and execution of Test Cases to verify that an application meets the requirements of the identified project. This discipline, which is tasked with finding and exposing weaknesses in the software product, focuses primarily on evaluating or assessing product quality.
Organizational Change Management – Organizational Change Management addresses adoption and sustainability of the change initiatives. It encompasses an integrated approach to communications, stakeholder engagement and preparation, training, and organizational alignment and transition.
Value Management – The goal of this discipline is provides an approach to identify, measure, and track expected implementation benefits. It includes tasks to identify, prioritize and quantify improvement opportunities, develop the business case, measure potential value impact, and develop an approach to track benefits realization.