Home  Software System Center  Bright Summer School 2017 on Software Engineering and IS  Software System Center  Summer School Program  Software System Center  Agile Software Development

Agile Software Development

Agile software development aims at setting up an environment to develop software based on the following values from the agile manifesto:

Individuals and interactions is valued more than processes and tools
Working software is valued more than comprehensive documentation
Customer collaboration is valued more than contract negotiation
Responding to change is valued more than following a plan

At the core of these values it the realization that changes are inevitable and the conclusion that change management needs to be integrated into the development process. Agile approaches promote iterative and incremental development by using a very tight design-code-test cycle.

In this interactive course, we will explore together how to apply these agile values and their accompanying principles to develop software and manage projects. In particular, we will discuss the following topics:
– No Big Upfront Thinking vs. Architecture and Requirements
– Implications of Continuous Software Engineering

Plan:
– Introductory lecture to set the scene
– Interactive session: Role and value of face to face communication
– State of research in agile
– Wrap-up and discussion

Reading Materials

Architecture:
[WNA2015]    Michael Waterman, James Noble, George Allan: How Much Up-Front? A Grounded theory of Agile Architecture. In: Proc. of 37th Int. Conf. on Software Engineering. (ICSE ’15), pg. 347-357, Florence, Italy, DOI: 10.1109/ICSE.2015.54; 2015.

Requirements:
[ISM+2016]     Irum Inayat, Siti Salwah Salim, Sabrina Marczak, Maya Daneva, Shahaboddin Shamshirband: A systematic literature review on agile requirements engineering practices and challenges. In: Journal Computers in Human Behavior archive, Vol. 51 (PB), pg 915-929,DOI: 10.1016/j.chb.2014.10.046, 2015

[KLK+2017]    Kasauli, R.; Liebel, G.; Knauss, E.; Gopakumar, S. & Kanagwa, B.: Requirements Engineering Challenges in Large-Scale Agile System Development. In: Proc. of 25th Int. Requirements Engineering Conf. (RE ’17), Lisbon, Portugal, 2017

Continuous Integration and Deployment:
[SB2017]     Daniel Ståhl, Jan Bosch: Cinders: The continuous integration and delivery architecture framework. In: Information and Software Technology, Vol. 83, pg 76–93; DOI: 10.1016/j.infsof.2016.11.006; 2017

[RHW+2015]     Rahman, A. A. U.; Helms, E.; Williams, L.; Parnin, C.: Synthesizing continuous deployment practices used in software development. In: Proc. of Agile Conference; pg. 1-10; DOI: 10.1109/Agile.2015.12; Washington DC, USA. 2015