Cinders: The continuous integration and delivery architecture framework

Context: The popular agile practices of continuous integration and delivery have become an essential part of the software development process in many companies, yet effective methods and tools to support design, description and communication of continuous integration and delivery systems are lacking. Objective: The work reported on in this paper addresses that lack by presenting Cinders — an architecture framework designed specifically to meet the needs of such systems, influenced both by prominent enterprise and software architecture frameworks as well as experiences from continuous integration and delivery modeling in industry. Method: The state of the art for systematic design and description of continuous integration and delivery systems is established through review of literature, whereupon a proposal for an architecture framework addressing requirements derived from continuous integration and delivery modeling experiences is proposed. This framework is subsequently evaluated through interviews and workshops with engineers in varying roles in three independent companies. Results: Cinders, an architecture framework designed specifically for the purpose of describing continuous integration and delivery systems is proposed and confirmed to constitute an improvement over previous methods. This work presents software professionals with a demonstrably effective method for describing their continuous integration and delivery systems from multiple points of view and supporting multiple use-cases, including system design, communication and documentation. Conclusion: It is concluded that an architecture framework for the continuous integration and delivery domain has value; at the same time potential for further improvement is identified, particularly in the area of tool support for data collection as well as for manual modeling.

[1]  Ade Miller,et al.  A Hundred Days of Continuous Integration , 2008, Agile 2008 Conference.

[2]  Eray Tüzün,et al.  Using continuous integration and automated test techniques for a robust C4ISR system , 2009, 2009 24th International Symposium on Computer and Information Sciences.

[3]  Jan Bosch,et al.  Automated software integration flows in industry: a multiple-case study , 2014, ICSE Companion.

[4]  Olivier Barais,et al.  Improving Reusability in Software Process Lines , 2013, 2013 39th Euromicro Conference on Software Engineering and Advanced Applications.

[5]  Christian Berger,et al.  Visualizing Testing Activities to Support Continuous Integration: A Multiple Case Study , 2014, XP.

[6]  Stevan Mrdalj,et al.  A comparison of enterprise architecture frameworks , 2006 .

[7]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[8]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[9]  Eun Ha Kim,et al.  Implementing an Effective Test Automation Framework , 2009, 2009 33rd Annual IEEE International Computer Software and Applications Conference.

[10]  Alan R. Hevner,et al.  Design Science in Information Systems Research , 2004, MIS Q..

[11]  Jan Bosch,et al.  Modeling continuous integration practice differences in industry software development , 2014, J. Syst. Softw..

[12]  Mike Roberts Enterprise Continuous Integration Using Binary Dependencies , 2004, XP.

[13]  Robert L. Nord,et al.  Applied Software Architecture , 1999, Addison Wesley object technology series.

[14]  Colin Robson,et al.  Real world research : a resource for users of social research methods in applied settings , 2011 .

[15]  Salvatore T. March,et al.  Design and natural science research on information technology , 1995, Decis. Support Syst..

[16]  Bernd Brügge,et al.  Introducing Continuous Delivery of Mobile Apps in a Corporate Environment: A Case Study , 2015, 2015 IEEE/ACM 2nd International Workshop on Rapid Continuous Software Engineering.

[17]  Jez Humble,et al.  Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation , 2010 .

[18]  John Vines,et al.  Software Process for Rapid Development of HPC Software Using CMake , 2009, 2009 DoD High Performance Computing Modernization Program Users Group Conference.

[19]  Alberto Sillitti,et al.  Using Metric Visualization and Sharing Tool to Drive Agile-Related Practices , 2009, XP.

[20]  Daniela Cruzes,et al.  Recommended Steps for Thematic Synthesis in Software Engineering , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[21]  Mike Elliott Object-oriented Software Considerations in Airborne Systems and Equipment Certification. DO-178C and Object-oriented Technology , 2011 .

[22]  T. Cook,et al.  Quasi-experimentation: Design & analysis issues for field settings , 1979 .

[23]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[24]  R. Owen Rogers,et al.  Scaling Continuous Integration , 2004, XP.

[25]  Hong Zhu,et al.  Software unit test coverage and adequacy , 1997, ACM Comput. Surv..

[26]  Nicolas Bonichon,et al.  Mixed Data-Parallel Scheduling for Distributed Continuous Integration , 2012, 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum.

[27]  Jan Bosch,et al.  Industry Application of Continuous Integration Modeling: A Multiple-Case Study , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C).

[28]  Roel Wieringa,et al.  Six strategies for generalizing software engineering theories , 2015, Sci. Comput. Program..

[29]  Eoin Woods,et al.  Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives , 2005 .

[30]  Stephan Krusche,et al.  Introduction of continuous delivery in multi-customer project courses , 2014, ICSE Companion.

[31]  Jan Bosch,et al.  EXPERIENCED BENEFITS OF CONTINUOUS INTEGRATION IN INDUSTRY SOFTWARE PRODUCT DEVELOPMENT: A CASE STUDY , 2013, ICSE 2013.

[32]  Stephen H. Kan,et al.  Metrics and Models in Software Quality Engineering , 1994, SOEN.