Facilitating Agile Software Development with Lean Architecture in the DCI Paradigm
Tomohiro Hayata, Jianchao Han, Mohsen Beheshti · 2012
Both agile software development and lean architecture have been studied in the software engineering field. Combining these two approaches has also been investigated. However, the existing research and practices only present the principles but fail to develop a framework of the software development for practitioners to follow. In this paper, a framework about how naïve agile practices could be fulfilled by introducing "lean" practices under the DCI (Data-Context-Interaction) paradigm is proposed. Lean practice is an end-user-focused and value-centric system design. In the proposed framework, lean architecture is complementary to agile principles and disciplines and supports agile development. This paper is exploring the possibilities of how agile methods can restore its lost insights and possibly be reinforced by lean thinking. Meanwhile, it is also examined what lean can do "beyond" agile. A new lean approach to building domain architecture comes from Data-Context-Interaction (DCI) paradigm which facilitates to represent the domain architecture intuitively. DCI approach allows us to successfully decouple between domain and business-logic features and provides an approach for lean practitioners to design system architecture much closer to the real-world domain. It is claimed that the investment into lean and agile methodologies go hand in hand from organizational to technical aspects by tying up with lean concepts as the backbone for agile methods. How lean makes it right and how agile makes it fast with the DCI paradigm will be demonstrated with an example. The main contribution to the software development will be presented.