System Development Life Cycle (SDLC)

Introduction

The State System Development Life Cycle (SDLC) is a framework intended to reduce the risk of project failure through the application of incremental and iterative solution delivery. This approach focuses on the benefits of agile to improve the delivery of, not only major IT development projects, but all information technology projects. Aligning our work with the Governor’s priorities and agency missions, breaking work down into loosely-coupled components or services, and delivering iteratively in rapid learning cycles, delivers more value in less time and saves many millions of taxpayer dollars. A lean-agile approach forces delivery of value more frequently, allowing us to detect small failures early and treat them as learning opportunities leading to an improved product.

Agile SDLC Policy

1.0  Purpose

To establish an agile System Development Life Cycle (SDLC) as the standard for the State of Maryland’s executive branch agencies. The intent is to promote agility in a pragmatic, not dogmatic, way as it pertains to delivering extreme value to our end users and the people of Maryland.

2.0 Scope

This policy applies to all information technology development as defined in Maryland Annotated Code, State Finance & Procurement sec. 3A-301 et seq.

3.0  Policy

3.1  State of Maryland Executive Branch agencies must adopt an SDLC which adheres to agile values and principles, outlined in section 4 of this policy.

3.2  The “Waterfall” SDLC is no longer a supported methodology.

4.0  Agile Values

The following values shall be applied to all IT solution implementations:

4.1  End-to-end value stream alignment over the silo mindset

4.1.1  Strategic alignment to the established Governor’s priorities, State IT Master Plan, and agency missions

4.1.2  Cross-agency collaboration and cooperation

4.1.3  Measureable, data driven decision making and prioritization

4.1.4  Optimizing the end-to-end customer experience

4.2  Agile delivery over large batch, sequential processes

4.2.1  Cross-functional small team-based execution

4.2.2  Frequent, incremental delivery of modular solutions

4.2.3  Visibility and lean management of work in process

4.2.4  Intentional, continuous improvement through rapid learning cycles

4.3  Modern development over outdated approaches

4.3.1  Innovation with modern technology and consideration of open source options

4.3.2  Ongoing development and technical debt management of production systems

4.3.3  Built in security, accessibility, quality, and compliance

4.3.4  Maximum integration of systems and data (with appropriate governance)

5.0  Exceptions

Exceptions to this policy or parts herein may be granted at the discretion of the DoIT Secretary if an unavoidable impediment to agility prevents adoption.

6.0  Enforcement

The DoIT Secretary will exercise the authority granted under the Maryland Annotated Code, State Finance & Procurement sec. 3A-301 et seq. in order to enforce this Policy.

The SDLC webpages will continue to be updated to incorporate the agile SDLC. For additional questions or comments, please contact the Enterprise Program Management Office (EPMO) at: epmo.doit@maryland.gov