Agile Software Development: Novel Approaches For Software Engineering
Agile Software Development: Novel Approaches For Software Engineering
Agile Software Development: Novel Approaches For Software Engineering
www.theijes.com
The IJES
Page 36
www.theijes.com
The IJES
Page 37
www.theijes.com
The IJES
Page 38
Figure 1: Customisation of Software to create an agile form Measuring Agility While agility can be seen as a means to an end, a number of approaches have been proposed to quantify agility. Agility Index Measurements (AIM). Score projects against a number of agility factors to achieve a total. The similarly named Agility Measurement Index, scores developments against five dimensions of a software project (duration, risk, novelty, effort, and interaction). Other techniques are based on measurable goals. Another study using fuzzy mathematics has suggested that project velocity can be used as a metric of agility. There are agile self-assessments to determine whether a team is using agile practices (Nokia test, Karlskrona test, 42 points test). While such approaches have been proposed to measure agility, the practical application of such metrics is still debated. There is agile software development ROI data available from the CSIAC ROI Dashboard [6]. Suitability Large-scale agile software development remains an active research area. Agile development has been widely seen as being more suitable for certain types of environment, including small teams of experts.Positive reception towards Agile methods has been observed in Embedded domain across Europe in recent years. Some things that may negatively impact the success of an agile project are: Large-scale development efforts (>20 developers), though scaling strategies and evidence of some large projects have been described. Distributed development efforts (non-collocated teams). Strategies have been described in Bridging the Distance and Using an Agile Software Process with Offshore Development. Forcing an agile process on a development team. Mission-critical systems where failure is not an option at any cost (e.g. software for air traffic control).
www.theijes.com
The IJES
Page 39
Table 1. Suitability of different development methods IV. CONCLUSION Agile methodologies can also be inefficient in large organizations and certain types of projects. Agile methods seem best for developmental and non-sequential projects [10]. Many organizations believe that agile methodologies are too extreme and adopt a hybrid approach that mixes elements of agile and plan-driven approaches. The term "agile" has also been criticized as being a management fad that simply describes existing good practices under new jargon, promotes a "one size fits all" mindset towards development strategies, and wrongly emphasizes method over results [11]. Alistair Cockburn organized a celebration of the 10th anniversary of the Agile Manifesto in Snowbird, Utah on February 12, 2011, gathering some 30+ people whod been involved at the original meeting. A list of about 20 elephants in the room (undisguisable agile topics/issues) were collected, including aspects: the alliances, failures and limitations of agile practices and context (possible causes: commercial interests, decontextualization, no obvious way to make progress based on failure, limited objective evidence, cognitive biases and reasoning fallacies), politics and culture. Agile development paradigms can be used in other areas of life such as raising children. Its success in child development might be founded on some basic management principles; communication, adaptation and awareness. The basic Agile Development paradigms can be applied to household management and raising children. [12]. In some ways, agile development is more then a bunch of software development rules; but it can be something more simple and broad, like a problem solving guide.
REFERENCES
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Abran, Alain; Moore, James W.; Bourque, Pierre; Dupuis, Robert; Tripp, Leonard L. (2004). Guide to the Software Engineering Body of Knowledge. IEEE. ISBN 0-7695-2330-7. Sommerville, Ian (2008). Software Engineering (7 ed.). Pearson Education. ISBN 978-81-7758-530-8. Retrieved 10 January. Manifesto. Principles behind the Agile Manifesto. (2001) [cited 2011 August]; Available from:http://agilemanifesto.org/. Kar, N.J.(2006). Adopting Agile Methodologies of Software Development ; Available from:http://www.infosys.com/infosyslabs/publications/Documents/adopting-agile-methodologies.pdf. Ilieva, S., P. Ivanov, and E. Stefanova (2004). Analyses of an agile methodology implementation. in 30thEUROMICRO Conference. Rennes, France: IEEE Computer Society. Beck, K. (2000). Extreme Programming Explained: Embrace Change Reading, MA: Addison-Wesley. Cohn, M. (2009). Succeeding with Agile: Software Development Using Scrum. Redwood City, CA:Addison-Wesley Professional. Gall, N. and A. Bradley. (2009) Best Practices for Dividing Developer and Architect Responsibilities to Achieve SOA-Based Agility. Gartner. Ghezzi, Carlo; Mehdi Jazayeri, Dino Mandrioli. (2003). Fundamentals of Software Engineering (2nd (International) ed.). Pearson Education @ Prentice-Hall. Jalote, Pankaj (2005) [1991]. An Integrated Approach to Software Engineering (3rd ed.). Springer. ISBN 0-387-20881-X. Pressman, Roger S (2005). Software Engineering: A Practitioner's Approach (6th ed.). Boston, Mass: McGraw-Hill. ISBN 0-07285318-2. Sommerville, Ian (2007) . Software Engineering (8th ed.). Harlow, England: Pearson Education. ISBN 0-321-31379-8.
www.theijes.com
The IJES
Page 40