There are various models of software development processes such as waterfall, iterative and agile. We are currently focusing on nature of agile development methods and processes, especially about iterations and workshops for learning agile principles.
Estimating Appropriate Iteration Length in Agile Development
Agile development is aimed at minimizing overall risk and encouraging rapid and ﬂexible response to speciﬁcation changes by using an iterative process. Despite its iterative feature, studies on the eﬀects of iteration length have been lacking. Currently, there is no established method to quantitatively determine the appropriate iteration length, and abortion of projects with an inappropriate iteration length has been reported. We therefore create a model of agile development that focuses on iteration length, and propose a method of simulating a particular project to estimate the appropriate iteration length. Furthermore, we simulate diverse situations using various parameters to understand the relationship between the iteration length and project constraints. Our results show that the appropriate iteration length depends on the condition of the project constraints; the larger the amount of uncertainty, the shorter the appropriate iteration length, while the higher the complexity of the project, the longer the iteration length should be.
- Ryushi Shiohama, Hironori Washizaki, Shin Kuboaki, Kazunori Sakamoto and Yoshiaki Fukazawa, “Investigating the relationship between project constraints and an appropriate iteration length in agile development by conducting simulation,” International Journal of Computer Applications in Technology (IJCAT), Vol.XX, No.YY, pp.XX-YY, 2013. (to appear)(PDF)
- Ryushi Shiohama, Hironori Washizaki, Shin Kuboaki, Kazunori Sakamoto and Yoshiaki Fukazawa, “Estimate of the appropriate iteration length in agile development by conducting simulation,” Agile 2012, August 13-17, 2012.(PDF)
- 塩浜 龍志, 坂本 一憲, 久保秋 真, 鷲崎弘宜, 深澤良彰, “アジャイル開発における適切なイテレーション期間のシミュレーションによる推定”, ソフトウェアエンジニアリングシンポジウム2011 (SES2011), 2011. (PDF)
Analyzing effectiveness of workshops for learning agile development
Workshops are sometimes known as effective ways to learn the human and social factors of software engineering. However, their effectiveness in learning agile development principles in particular has not yet been determined, despite the fact that numerous agile development workshops have been held over the years. In this paper, we analyze the effectiveness of agile development workshops through an experiment, and show that one of representative workshops is indeed effective at learning agile principles. Self-study is another commonly used method to learn something new. Therefore, we compare the effectiveness of workshops with that of self-study to better illustrate the effectiveness of agile development workshops. In our experiment, we examine 7 workshop subjects and 8 self-study subjects, and compare their scores on the agile mind check, which is a method used to measure their degree of mastery of agile principles. As a result, we demonstrate the effectiveness of agile development workshops, especially those that simulate actual experiences. We also show that one of workshops is more effective than self-study regarding the agile mind check score.
- Shota Suzuki, Hironori Washizaki, Ryushi Shiohama, Masashi Kadoya, Yoshiaki Fukazawa, “Analyzing effectiveness of workshops for learning agile development,” Proceedings of Agile 2013 Conference (AGILE 2013), pp.XX-YY, Nashville, August 5-9, 2013. (PDF)
We propose a technique for establishing process lines, which are sets of common processes in particular problem domains, and process line architectures that incorporate commonality and variability. Process line architectures are used as a basis for deriving process lines from the perspective of overall optimization. The proposed technique includes some extensions to the Software Process Engineering Metamodel for clearly expressing the commonality and variability in the process workflows described as UML activity diagrams. As a result of applying the proposed technique to hardware/software co-design processes in an embedded system domain, it is found that the proposed technique is useful for defining consistent and project-specific processes efficiently.
- Hironori Washizaki, “Building Software Process Line Architectures from Bottom Up,” Proceedings of 7th International Conference on Product-Focused Software Process Improvement (PROFES 2006), pp.415-421, 2006. (washizaki-Profes2006.pdf)