10–14 Oct 2016
San Francisco Marriott Marquis
America/Los_Angeles timezone

Evolution through revolution - A 2-year Agile experience with the Indico Team

11 Oct 2016, 15:30
1h 15m
San Francisco Marriott Marquis

San Francisco Marriott Marquis

Poster Track 5: Software Development Posters A / Break

Speaker

Adrian Mönnich (CERN)

Description

Over the last two years, a small team of developers worked on an extensive rewrite of the Indico application based on a new technology stack. The result, Indico 2.0, leverages open source packages in order to provide a web application that is not only more feature-rich but, more importantly, builds on a solid foundation of modern technologies and patterns.

Indico 2.0 has the peculiarity of looking like an evolution (in terms of user experience and design), while constituting a de facto revolution. An extensive amount of code (~75%) was rewritten, not to mention a complete change of database and some of the most basic components of the system.

In this article, we will explain the process by which, over a period of approximately two years, we have managed to deliver and deploy a completely new version of an application that is used on a daily basis by the CERN community and HEP at large, in a gradual way, with no major periods of unavailability and with virtually no impact in performance and stability. We will focus particularly on how such an endeavor would not have been possible without the use of Agile Methodologies of software development. We will provide examples of practices and tools that we have adopted and display the evolution of development habits in the team over the period in question, as well as their impact in code quality and maintainability.

Primary Keyword (Mandatory) Software development process and tools
Secondary Keyword (Optional) Collaborative tools

Author

Co-authors

Adrian Mönnich (CERN) Alejandro Avilés (CERN) Florian Vessaz (Ecole Polytechnique Federale de Lausanne (CH)) Ilias Trichopoulos (CERN) Michal Kolodziejski (Lodz Technical University (PL))

Presentation materials