Supporting Agile Practices for CMS
To apply the principles and meet the desired outcomes outlined above, teams are expected to employ commonly accepted Agile practices. Many Agile frameworks and processes are commonly used within industry and government, including Scrum, Kanban, Scaled Agile Framework, Disciplined Agile Delivery (IBM), eXtreme Programming (XP), Feature Driven Development, and others. Each of these Agile frameworks have an appropriate place in the catalog of enterprise solutions to address the wide array of enterprise challenges. The process that one would use for a small, reactive, O&M support effort for a legacy system would and should be quite different from the process one would use for a large enterprise-scale greenfield effort involving new architectures and technologies. However, all good Agile frameworks share common practices, and we focus our Agile definition for CMS on those practices. Regardless of the effort or the specific Agile framework followed, Agile efforts at CMS will leverage the following practices in support of meeting the overall objectives outlined previously. The practices below are grouped into foundational practices and advanced practices. Foundational practices are the baseline practices that should be adopted by all agile teams and programs. More advanced practices can and will be added as the teams and programs mature and gain experience with agile methods.