Agile (Protototyping)#
In response to an increase in the control of project managers and creativity crippling documentation requirements in software development at the turn of the 21st century, programmers developed a series of methodologies which were united under the manifesto of agile software development (Beck et al. 2001). The story of the development of Agile is well documented as are the techniques to employ it (Martin 2003). Agile is often compared to the more traditional ‘waterfall’ model (figure 2) wherein each of the main tasks are completed sequentially and are all planned up front. In Agile development, the design progresses in sprints and the tasks are reviewed on a daily basis. These ideas were incorporated in the four values of the Agile Software Development Manifesto (Beck et al. 2001).
Figure 2. Waterfall vs. Agile development. (McGinley et. al. 2017)
Values of Agile Software Development#
Agile Software development as defined in the Agile Software Development Manifesto has the following 4 principles:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Agile Prototyping Principles#
Agile development covers a range of approaches including, XP (extreme programming), Scrum, (Erickson et al. 2005) as well as others. Droste (2010) describes a process of applying agile development methodologies from computer science in the architectural design process that we could use in architetcural engineering. However the limitation of Droste is that it focusses on XP rather than more broadly on the principles of Agile development. This is important because there is much discussion in computer science about the most appropriate method of agile development. Therefore, this course follows the principles of agile prototyping (McGinley et. al. 2017). These were adapted from the original 12 priniciples of agile software to be relevant to architectural engineering.
Based on the experience of developing the Agile X Pavilion we distilled these down into Seven Agile Prototyping Principles (McGinley et. al. 2017). They are summarised here as:
Maintain a constant sustainable pace (avoid burn out) It is necessary to take frequent breaks and adjust project constraints and load if required in order to main-tain the health of the team.
Encourage face-to-face conversation and colocation wherever possible and facilitate close, daily cooperation between stakeholders and designers. Barriers to collaboration and communication should be reduced.
Build projects around motivated individuals, trust and support them to selforganize. Encourage and support flat hierarchies where in tutors and participants are on the same team - learning and solving problems together. The flat hierarchy means that any participant can suggest changes to both the design work and the facilitation of the workshop at any point.
Satisfy clients by early and continuous and frequent delivery of valuable designs. An aim for agile design systems for architecture is to support parallel systems and meaningfully involve the client early in the design process. Agile focusses on using technology to support collaboration with clients. In this wayit is the collaboration and the constant testing and exploration of the design toolsthat enable the design to progress.
Maximise the amount of work not done and measure progress on working interoperable design systems. This does not mean that everyone needs to be an expert, but some do. This should not be confused with reducing the exploration of the opportunity space, but focus on minimizing redundancy in the exploration.
Welcome changing requirements, even in late development. Close collaboration with the clients is not sustainable without high value design solutions to offer. To support this, it is important that the design systems are not only interoperable but can be reconfigured to support alternative design systems.
Focus on technical excellence and good design whilst reflecting continuously on how to become more effective and adjust behaviour accordingly. This provides an opportunity to capture and reuse valuable design tools and processes to extend exploration of the opportunity space and focus on how to do things better next time.
References#
Droste, S.: 2010, Extreme Designing: Proposal for the transfer of concepts from the agile de-velopment to the architectural design process, Proceedings of eCAADe 2010.
Erickson, J., Lyytinen, K. and Siau, K.: 2005, Agile Modeling, Agile Software Development,and Extreme Programming, Journal of Database Management, 16(4), 18-100.
Martin, R.C.: 2003, Agile Software Development: Principles, Patterns, and Practices,, Pearson