Agile , which means “the quality of being agile, readiness for motion, mibleness activity, dexterity in motion” is an alternative to conventional project management providing solution for light and fast software development required by business community, especially with rapidly developing Internet and mobile software areas (Abrahamsson et al. 7-17). Agile movement in software development possesses four core values. First, close relationship in a team of developers is much more important than processes and tools. Second, the most important goal for software developers is regularly release tested and improved software. Third, the emphasis is put on cooperative relationships between developers and customers rather than harsh contracts. Finally, developers team and clients’ representatives should have enough information, knowledge, and authority to deal with changes and adjustments that arise during the work. For the methodology to be agile it should be incremental, cooperative, straightforward, and adaptive.
There are manifold agile methodologies and most popular are Extreme Programming (XP), Scrum, Crystal Methods, and Feature Driven Development (FDD) (Livermore 31-32). XP focuses on including client into the team of developers, pair programming, and ownership of the code by all members of the team. Moreover, it requires preparing test before starting software development, daily meetings, refactoring of the code, and limits working week hours to 40 hours. Scrum is the methodology more for management than for technical aspects of software development and is suitable for projects of different scales. Scrum divides process into sprints which continues from one to four weeks at most. Crystal Methods focus on people as a main influence on development process rather than tools and techniques. FDD consists of five stages: first, model of product should be developed, second, set of desired features and functionalities should identified, third, the priorities should be defined and plan developed, two final steps are where iteration occurs and deliverables for clients are produced. This methodology organizes the process such that development team works on features according to their priority for the customer.
Agile movement in academics
Beyond software development agile methodology is also successfully used in academics by several practitioners as teaching and learning migrates from teacher-centered approach and passive acquiring of information to student-oriented and active learning (Dewi and Muniandy 255). Agile principles are extensively used in instructional design where all participants of educational process have roles (teacher, parent, student, etc.) and tasks (lecturing, discussion, problem solving, presenting, etc.). Furthermore, Argentinian educational practitioner Alvaro Soria (qtd. in Dewi and Muniandy 257) introduced agile management for Software Engineering class to connect academic and professional aspects. German Dagmar Monet (qtd. in Dewi and Muniandy 257) proposed and used agile methods for project-based class to make it possible for student to go through more realistic tasks. Another practitioners John C. Stewart et al (qtd. in Dewi and Muniandy 257) use Jigsaw methods of organizing classroom activity where students’ successful performance depends on collaboration. They demonstrated that Jigsaw methods are very close to agile XP and Scrum in a sense of dividing roles and flexibility of the process. Agile methodology was also proposed for e-learning by Tesar and Sieber (qtd. in Dewi and Muniandy 257). Furthermore, City University of Hong Kong developed The Agile Teaching and Learning Methodology (ATLM) which is undoubtedly learner centric and representing instructor is a guide and facilitator.
Agile compared to Waterfall
According to CHAOS report 2011 provided by Standish Group “software applications developed through the agile process have three times the success rate of the traditional waterfall method and a much lower percentage of time and cost overruns” (Standish Group). Moreover, it is stated that agile methodology is a universal solution for avoiding failure in software development. Standish Group conducted study based on CHAOS project database from 2002-2010 that revealed 42% of projects that were developed according to the agile occur to be successful compared to 14% resulted from the implementation of waterfall. The chart comparing findings for two methodologies is shown in Figure 1.
The report provides ten points due to which agile projects are successful. These are:
Iterative: The key of software development project are iterative stages with small team working on them.
Steppingstones: Iterative approach to the development comprises small projects called steppingstones. Steppingstones are efficient as they allow to make more deliverables, obtain rapid feedback, and notice when the project progress is in the wrong direction.
Time Boxing: This means that deadlines are set to complete an iteration or steppingstone.
Elastic: Plan for completing project should be flexible enough to set strategies to accomplish the goal and in case of changes adapt them accordingly.
Interaction: Interaction among team members and users should be established which agile does through meetings, conversations and demonstrations.
Agile style: Agile provides different methodologies that can fit to various project types, for example, socially oriented Extreme Programming, engineering oriented Scrum, and tool and management oriented RUP.
Rapid Feedback: Getting feedback quickly is essential for success as improvements are better to make by small steps.
Retrospective: Looking back at completed steppingstones allows to learn ways to improve process and strategies for next project steps.
Merciless Pruning: Unnecessary features should not be included. “A clip in time saves nine, or, when in doubt throw it out.” (Standish Group 27).
Pipeline: It is better to create “resource and budget pool” (Standish Group 27) rather than to try to estimate project expenditures.
Figure 1: Findings of study on waterfall and agile methodologies (Standish Group 25)
Agile principles that can be applied to all types of projects
Dan X. Houston (Houston 68) proposes a list of agile characteristics derived from agile principles and values that can be applied to areas beyond software development. These characteristics are:
Interpersonal interaction
Working service or product
Ability to response to changes
Continuous delivery of the product to satisfy the customer
Self-organizing teams and multifunctional collaboration
Provide leadership to motivated individuals
Technical excellence and simplicity
As agility was initially developed for software development this set is essential to apply agility to other fields such as systems engineering and program management.
Personal experience and opinion
I used agile methodology for one of the course projects. To organize the work of the team consisting of 5 people and to deliver the project on time we used Scrum agile methodology. We divided the work into sprints and defined deadlines for them. The most experienced student in our team was product owner who closely collaborated with course instructor who was in the role of stakeholder. In order to let each group member to learn we assigned everybody to be Scrum master for particular time. We learned through experience and, undoubtedly, faced a lot of problems and challenges such as not setting correct deadlines for sprints and useless meetings. For me, the most difficult part was to work on improving team effectiveness.
Works cited
Abrahamsson, P et al. "Agile Software Development Methods: Review And Analysis". VTT Publications 478 (2016).
Dewi, D.A., and M. Muniandy. "The Agility Of Agile Methodology For Teaching And Learning Activities". Software Engineering Conference (Mysec), 2014 8Th Malaysian. 2014. 255-259.
Houston, Dan X. "Agility Beyond Software Development". International Conference On Software And System Process. New York, NY, USA: N.p., 2014. 65-69.
Livermore, Jeffrey A. "Factors That Significantly Impact The Implementation Of An Agile Software Development Methodology". JSW 3.4 (2008).
Standish Group,. The Chaos Manifesto. 2011. Web. 6 Feb. 2016.