Sunday, April 25, 2010
How to select software development methodology
There is no single software development [6] that can solve all software projects. Selecting software development methodology can use [7] selection framework based on four underlying principles and two other factors affecting what methodology is appropriate to be used in software project. The four principles [7] are “A larger group needs a larger methodology”, “A more critical system; one whose undetected defects will produce more damage; needs more publicly visible correctness (greater density) in its construction”, “ A relatively small increase in methodology size or density adds a relatively large amount to the project cost”, The most effective form of communication (for transmitting ideas) is interactive and face-to-face, as at a whiteboard”. The combination of four principles in selecting software development methodology will determine the size of formed software development organization. Mapping environment and organisation of the project to agile and plan-driven home ground [8] [9] makes selection of software development methodology adaptive to its internal and external factors in order to address software project risk.
Reference
[1] R. Ramsin and R.F. Paige, “Process-centered review of object oriented software development methodologies,” ACM Comput. Surv., vol. 40, 2008, pp. 1-89.
[2] S. Nerur, R. Mahapatra, and G. Mangalaraj, “Challenges of migrating to agile methodologies,” Commun. ACM, vol. 48, 2005, pp. 72-78.
[3] M. Lindvall, V. Basili, B. Boehm, P. Costa, K. Dangle, F. Shull, R. Tesoriero, L. Williams, and M. Zelkowitz, “Empirical Findings in Agile Methods,” Extreme Programming and Agile Methods — XP/Agile Universe 2002, 2002, pp. 81-92.
[4] O. Salo and P. Abrahamsson, “An iterative improvement process for agile software development,” SOFTWARE PROCESS IMPROVEMENT AND PRACTICE in Wiley InterScience, 2006.
[5] T. Dybå and T. Dingsøyr, “Empirical studies of agile software development: A systematic review,” Information and Software Technology, vol. 50, Aug. 2008, pp. 833-859.
[6] F. Brooks, “No Silver Bullet Essence and Accidents of Software Engineering,” Computer, vol. 20, 1987, pp. 10-19.
[7] A. Cockburn, “Selecting a project's methodology,” Software, IEEE, vol. 17, 2000, pp. 64-71.
[8] B. Boehm and R. Turner, “Observations on balancing discipline and agility,” Proceedings of the Agile Development Conference, 2003. ADC 2003., 2003, pp. 32-39.
[9] B. Boehm and R. Turner, “Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods,” IEEE Computer Society, 2004, pp. 718-719.
Wednesday, January 06, 2010
Selecting the best Software Development Methodology
Understanding my research interest makes me to write and simplify ideas and concepts in my research areas.
One interesting area about software process is software development process.
Here is my note on selecting the best software development methodology. I am sorry i can not give complete reference in my citation because this is my progress report and i hope that i can publish it one day.
Let's start .....
Software development process, “a framework for applying software engineering practices” (Ramsin & Paige 2008), can be classified into plan-driven or traditional software development and agile software development. The former (Nerur et al. 2005a) (Mikael Lindvall et al. 2002) (Nerur et al. 2005a)(Salo & Abrahamsson 2006) emphasizes stability, repeatability and predictability, a defined incremental process, extensive documentation, up-front system architecture, detailed plans, risk management, verification and validation. In contrast, the latter process (Dybå & Dingsøyr 2008) (Mikael Lindvall et al. 2002) (Nerur et al. 2005b) (Salo & Abrahamsson 2006) embraces and responds to changing environment and changes in user requirements. The initial success of software project is determined by selecting the correct software development process.
There is no single software development (Brooks 1987) that can solve all software projects. Selecting software development methodology can use (Cockburn 2000) selection framework based on four underlying principles and two other factors affecting what methodology is appropriate to be used in software project. Combined with mapping environment and organisation of the project to agile and plan-driven home ground (B. Boehm & R. Turner 2003) (Barry Boehm & Richard Turner 2004) makes selection of software development methodology adaptive to its internal and external factors to address software project risk.
In conclusion, recent research and reports state (Fuggetta 2000) that software development is a complex process because it is a joint, sophisticated and creative work so me wust consider people, organization, culture, technology, economic factors and procedures used in software development process (Fuggetta 2000).