Converting a successful, ongoing project with 2M lines of code to agile presents unique challenges that are not covered in most books and courses on agile; this talk describes successful strategies used on the FBI CODIS project. This is an up-to-the-minute account of our (continuing) experiences instituting agile practices, paying down technical debt, and addressing the concerns of skeptical governance and oversight groups.
We have heard the reports of unsuccessful programs "rebooted" and rescued through the use of agile software development models. And there is a wealth of information available on how to institute agile practices such as test automation and refactoring into Greenfield projects. But what about a highly successful, longstanding, waterfall-based government program with over 2 million lines of code and 15 years of history? How do you institute DevOps practices on a project that uses 100% Microsoft platforms? How do you write automate tests and refactor mercilessly on a project where the majority of the business logic is written in SQL? How do you deliver valuable software when the oversight framework requires you to maintain over 50 separate documents? How can we institute Scrum while simultaneously undergoing CMMI level 3 certification?
This experience report describes specific practices that we adopted during our two year (and counting) experience transforming the FBI CODIS project to Agile. Many topics will be discussed including sprint length, “technical” sprints, technical user stories, story point budgeting, paying down technical debt, instituting agile practices such as pair programming, responding to unexpected events, and others. Each practice will be analyzed in terms of the cost versus benefits and when and how it may be most beneficial. This talk attempts to provide context and insight into when and how specific approaches might provide the most benefit for legacy modernization projects or projects answering to skeptical oversight groups.