ITIL v5 Compass
Management Practices
Software and Development Management

Software Development and Management

Definition

"Ensure that software products meet internal and external stakeholder needs, in terms of functionality, reliability, maintainability, operability, compliance, and auditability."

To fulfill the purpose, the practice needs to:

  • Agree and improve an organization's approach to development and management of software products
  • Ensure that software products continually meet organization's requirements and quality criteria throughout their lifecycle

Key Terms

Software: A set of instructions that tell the physical components (hardware) of a computer how to work.

Software development: Design and construction of software products according to functional and non-functional requirements and correction and enhancement of operational software products according to changing requirements.

Software quality: Capability of software product to satisfy stated and implied needs when used under specified conditions.

Technical debt: The total rework backlog accumulated by choosing workarounds instead of system solutions that would take longer.

Definition of Done: The agreed criteria for a proposed product or service, reflecting functional and non-functional requirements.

Development Approaches

ApproachCharacteristics
AgileIterative, incremental, adaptive; Scrum, Kanban
DevOpsCulture of collaboration between development and operations; CI/CD
WaterfallSequential, plan-driven; requirements → design → build → test → deploy
SRE (Site Reliability Engineering)Applies software engineering to infrastructure and operations

Processes

Management of the Organization's Approach

  1. Analyse organization's strategy, resources, and portfolios
  2. Develop and agree software development and management approach
  3. Develop and agree guidelines for different types of products
  4. Communicate approach and guidelines to key stakeholder groups
  5. Review and adjust the approach and guidelines

Software Development

  1. Review and prioritize software development tasks
  2. Design software
  3. Develop software unit
  4. Test software unit
  5. Integrate software units
  6. Test software system

Software Maintenance and Improvement

  1. Software system review
  2. Software improvement planning
  3. Software improvement initiation and control

Key Metrics

MetricWhat it measures
Satisfaction with development approachMethodology quality
Adherence to chosen approachProcess compliance
Satisfaction with rate of change enabled by the approachDelivery speed
Improvement initiatives throughputImprovement velocity
Compliance with internal/external policiesGovernance
Satisfaction with software productsProduct quality
Delivery frequency/reliability of new/changed functionalityRelease cadence
Development cost, technical debtFinancial health
Resource utilizationEfficiency
Software availabilityOperational performance
Security breaches and audit-related costsSecurity posture

Key Roles

  • Product owner/manager
  • Scrum master/agile coach
  • Delivery manager/lead
  • Solution architect
  • Software developer
  • UX/UI designer
  • Quality assurance engineer

Recommendations for Success

  • Clarify the expected value
  • Ensure that responsibilities are understood
  • Improve where improvement is felt
  • Always focus on the flow
  • Leverage automation opportunities

Software Tools

  • Analysis and reporting tools
  • CMDB tools
  • Collaboration and communication tools
  • Enterprise architecture management tools
  • External professional content libraries
  • Knowledge and document management tools
  • Learning Management System (LMS)
  • CI/CD tools
  • Monitoring and event management tools
  • Orchestration and integration platforms
  • Remote administration tools
  • Diagnosis, deployment, and other infrastructure and software management tools
  • Solution design and development tools
  • Workflow and task management tools