Annotated Bibliography

Cao, T. C. a. D.-B., 2008. A survey study of critical success factors in agile software projects. Journal of Systems and Software, 81(6), pp. 961-971.

The researchers and authors from Capella University have gathered the information used in this paper from 109 agile projects from 25 countries of the world through online survey in order to test their hypothesis in order to decide the critical success factors in the adoption of agile methodology for software development. The study was conduct to testify all the success factors reported by agile methods and applied on four project success categories, only 12 success factors were chosen. These success factors were applied to 48 hypothesis and only 10 of them proved to be successful on the given hypothesis. It proved that the not all the critical success factors claimed by agile methodology are proven to be successful in the software development process. Agile methodology could be a success for the development process but on the other hand it provides a focus for the management. The critical success factors in agile methodology are correct delivery strategy, proper practice of agile software engineering technique and a high caliber team. It also highlights that all the projects are not suitable for agile method.

Dingsøyr, T. D. a. T., 2008. Empirical studies of agile software development: A systematic review. Information and Software Technology, 50(9), pp. 833-859.

The researchers have conducted an empirical studies on implication of agile methodology in software development process by considering papers up to and including 2005. The empirical study consisted of 36 papers extracted out of 1996 studies found to be empirical studies; moreover 33 studies out of 36 studies were found to be primary and remaining 3 were considered secondary. This article focused only on XP agile method however there are other methods being implemented in the software industry as well. Another limitation expressed in this article is that it only considered the papers and articles released till 2005, however, more research has been put in agile methodology in recent times. The article is also of the review that agile methodology is good enough for software development but needs more study. In contrast to previous cited study, it mostly focuses on empirical studies but with more emphasis only on one agile method that is XP.

Cockburn, J. H. a. A., 2001. Agile software development: the business of innovation. Computer, 34(9), pp. 120-127.

The writers of this article have given an introduction to implication of agile methodology and its contribution to the innovation of business by considering around 200 software projects. They have generally focused on the importance for adoption of agile software method in order to provide better and cost oriented software solutions. It means that they believe all the projects are suitable to be implemented with agile development method and have discussed different agile methods including, XP and SCRUM as well. The research is about general adoption of agile method rather than drawing lines between the projects that could be better implemented with or without agile method. They are more focused on involving and introducing innovation in business with the adoption of agile methods as it will help them grow faster and understand the customer needs as well. This article is merely an introduction of agile methods and rather it only emphasis on how the businesses should innovate in the coming times.

Reifer, 2002. How good are agile methods?. IEEE Software, 19(4), pp. 16-18.

Reifer has represented his research on 10 industry segments to focus on their technology transfer and the methodology adopted by firms. The writer is of the view that he contact 14 firms and out of these firms 5 responded that were involved in e-commerce and e-business. All these firms that responded also provided list of practices that they found in agile methodologies. The article shows the results obtained from the adoption of agile methodology by 14 organization while technology transfer that included productivity improvement, cost reduction, time to market compression and quality improvement.  This article is somewhat shows that the adoption of agile can be beneficial in number of ways for organizations in software development, but it also puts emphasis on defining basic motives and practices for agile method. It also means that this article recommends for the adoption of agile methods for software development process but does not distinguishes between the projects that can adopt agile.  Like the previous article, it is also of very basic level to the agile software development method.

Pekka Abrahamssona, et.al, New directions on agile methods: a comparative analysis. International Conference on Software Engineering (ICSE’03), pp. 244-254.

The researchers at Technical Research Center of Finland have obtained authentic information related to development of agile methodology through its different stages and procedures. The article is about the development of agile methodology in software development that how it has been developing through different times adopting changes in software development process. This article depicts a different picture about agile methods in software development that is; different agile methodologies are adopted at different stages in software development. It means it cannot be said that only one agile methodology is enough in the complete software development process. However it clears out the idea that agile method of software development can be applicable to all kinds of projects in one way or the other. As compared to the previous article; this one describes agile methodology in more details and offers a better comparative analysis to think how agile methodology can be applicable to all software development projects.

Bohner, M. C. a. S., 2005. The Impact of Agile Methods on Software Project Management. 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS’05), 363-370.

Michael Coram and Shawn Bohner have put an emphasis on the implication of agile method in the management of software projects and what could be the results. They have brought forward the agile methods that can be used in software project management and what should be considered before the adoption of agile method for a software. In this article they have highlighted that it is not mandatory to consider agile methods to be suitable for all the software projects, but the managers need to consider and analyze the requirements that call for adoption of agile methods. It clearly indicates that they are in favor of the fact that agile method is not for all the software projects, however it can vary from the requirements of every project. They do not deny with the benefits that agile methods to software project management and they also present how different agile methods can be implemented in the management of a single project. It is duty of manager to ensure either the software requires adoption of agile methodology or not. This article is best from other articles as it explains the facts about agile methods totally unbiased. It consider the benefits of its adoption and also warns about consequences if implemented in any project that does not require agile methods.

Maria Paasivaara, S. D. a. C. L., 2008. Distributed Agile Development: Using Scrum in a Large Project. 2008 IEEE International Conference on Global Software Engineering, 87-95.

The researchers from Helsinki University of Technology Finland had gathered the material by interviewing persons involved in the development of a large project using agile method SCRUM over two different countries Norway and Malaysia. The researchers claim that scrum had been used for a lot of small projects and other agile methods as well however there is very less empirical studies of application of agile methods on very large projects. In this article they only focused on one case study of development team of 40 people working on a project using agile methodology scrum and were able to interview 5 people involved in it. It also focuses on how the project description can be helpful in selecting the appropriate agile methodology for each project. As in previous articles we have seen that some projects require combination of agile methods while some projects may not be suitable for implementation of agile method; in the same way some agile methods can be applied to large projects. The case study discusses how Distributed Agile Development was carried out using scrum method containing meetings and discussions. This article puts emphasis on the fact that agile methods can also be implemented on the development of distributed and large projects.

Maria Paasivaara, S. D. a. C. L., 2009. Using Scrum in Distributed Agile Development: A Multiple Case Study. 2009 Fourth IEEE International Conference on Global Software Engineering, 195-204.

The study was done by the researcher and it can be said as a continuity of the previous article by the same researcher funded by Academy of Finland and Finnish Funding Agency for Technology and Innovation. In this study the findings were totally based on multiple case studies done on three organizations and by interviewing the people involved in software agile development and global software development. This article highlights that how different agile methods like scrum and sprint can be helpful in the global software development (GSD), but it always comes with number of drawbacks as well. The drawbacks of using scrum or other agile methods in global software development can be more challenging than in other development processes. This article also highlights some of basic needs for application of Scrum in software development process that is open communication and that is a challenge as to communicate with offshore employees and instruct them on phone, however this challenge is overcome with the use of internet and webcams. However this article also suggest not to implement Scrum in DAD if not needed. This article also provide one more classification on project management where agile methods should not be applied. It does not mean that agile methods will not work but it means that it can be challenging as well.

Fowler, M., 2006. Using an Agile Software Process with Offshore Development. [Online]
Available at: http://martinfowler.com/articles/agileOffshore.html
[Accessed 13 6 2016].

Martin Fowler has conducted this on Thought Works that had been operating its lab in India to support offshore software development process. This paper focuses on finding that he had considered while observing the application of agile software process with offshore development. He has brought into light that what should be considered while considering agile software process in offshore development process. Moreover, this article highlights the benefits of using agile software process with offshore development and appreciates this process as well; because he thinks that he can hire a professional developer in offshore countries. The article is basically about the benefits of implementing agile software process in Global software development that is much like the previous two articles. However this article is a little different from previous both because it only discusses about its benefits and how it can be implemented in other countries as well. Agile development adoption depends on the requirements of the project either to implement agile method or not.

Mikael Lindvall, et.al, 2002. Empirical Findings in Agile Methods. In: G. Goos, ed. Extreme Programming and Agile Methods – XP/Agile Universe 2002. Chicago: Springer, pp. 197-205.

The researchers in this chapter have clearly indicated the requirements that are necessary for the implementation of agile methodology in software development. Their key findings support the fact that agile methodology should not be implemented on all kinds of the projects but it should be limited depending on the requirements of the projects. The key points that are required for the selection of agile methodology are project size, personnel and criticality, reliability and safety issues. It means that before adopting agile methodology aforementioned requirements should be considered that would provide with a final decision either to implement agile methodology or not. This chapter from book is entirely different and much better to the topic as it clearly defines when to adopt the agile methodology. However it is also clear that it can be adopted for small to large projects but depending on nature and size of the project the implementation of methodology may differ as well.