A Case For Agile Software Development

Read Complete Research Material



A Case for Agile Software Development

EXECUTIVE SUMMARY

Introduction

This study is concerned with the case of Agile Software Development. In this study I will discuss The Waterfall method and then implementation of Agile methodology in software development process.

Table of Contents

EXECUTIVE SUMMARY2

1. Background4

1.1. Assumptions and Implications5

1.2. Explanation of New System6

1.3. General Requirements6

2. Statement of Need6

2.1. Statement of Objectives7

2.2. Significance of the Study7

3. Methodology7

3.1. Research Design7

3.2. Method of Data Collection8

4. Time Scale8

Bibliography11

1. Background

Agile Software Development “is basically an alternative approach to the software project management that is quite different from the traditional waterfall model” (Kanjilal, 2008). The Waterfall method is a structured process where requirements are elicited from business owners, the processes and details are formally documented, the requirements are then transitioned to development resources for coding, the completed software functionality is tested, identified defects are fixed and retested, and finally released into the production “live” environment. In contrast, “Agile methods are based on real time communication between the programming team and its customers” (Kanjilal, 2008). Documentation is minimal and often nonexistent. The idea is that the team members work together through the User Stories to define what functionality is required over the course of the project rather than all at beginning. Continuous involvement is required of everyone in order to deliver smaller iterations of functionality. This continuous involvement allows decisions to be made quicker and based on current scenarios instead of scenarios months ago. Once the first iteration of the functionality is released the customer they likely to make better informed decisions for future iterations. Seeing functionality in action makes all the difference.

The implementation of an Agile methodology is not a “cure all” for your software development pain points. Despite its praises “Respondents to the SearchSoftwareQuality.com survey cited communication as the top Agile challenge (52%), followed by documentation (48%). Resistance to change and tool integration were also cited as challenges (both by 24% of respondents” (Frye 2008). Communication is a challenge in many development organizations. I don't believe this is because people don't want to talk to one another about what is being built; but because current development methodologies don't encourage open communication and collaboration like Agile through the life cycle of the project. Teams are organized into their specific job responsibilities - business analysts, developers, and testers. Communication happens during the transition points and when there are issues. Culturally, communication is the biggest challenge to the successful implementation of Agile. In praise of Agile, “Results from SearchSoftwareQuality.com's, 2008 Agile Trends survey found that 67% of Agile practitioners have seen process improvements” (Frye 2008).

1.1. Assumptions and Implications

A number of assumptions of my study must be mentioned. These assumptions also provide avenues for further research. A major assumption is that Agile Software Development can really make a difference in the coming future. In future studies a number of Software Development techniques can be selected to improve generalisability. It is plausible that Agile Software Development has a direct effect on cost savings and market-related performance. Therefore, its implications are still useful for me and ...
Related Ads