What is agile software development?

0 votes
in Computers & Internet by

4 Answers

0 votes
by
Agile software development is a conceptual framework for undertaking software engineering projects.

There are a number of agile software development methods, such as those espoused by The Agile Alliance. Most agile methods attempt to minimize risk by developing software in short timeboxes, called iterations, which typically last one to four weeks. Each iteration is like a miniature software project of its own and includes all of the tasks necessary to release the mini-increment of new functionality: planning, requirements analysis, design, coding, testing, and documentation. While an iteration may not add enough functionality to warrant releasing the product, an agile software project intends to be capable of releasing new software at the end of every iteration. At the end of each iteration, the team reevaluates project priorities.

Agile methods emphasize real-time communication, preferably face-to-face, over written documents. Most agile teams are located in a bullpen and include all the people necessary to finish software. At a minimum, this includes programmers and their "customers" (customers are the people who define the product; they may be product managers, business analysts, or actual customers). The bullpen may also include testers, interaction designers, technical writers, and managers.

Agile methods also emphasize working software as the primary measure of progress. Combined with the preference for face-to-face communication, agile methods produce very little written documentation relative to other methods. This has resulted in criticism of agile methods as being undisciplined.
0 votes
by
Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development, and delivery, a time-boxed iterative approach, and encourages rapid and flexible responses to change. It is a conceptual framework that promotes foreseen interactions throughout the development cycle.

A good example of an agile software development outsourcing company is Ajoft Technologies.
Source(s): http://www.ajoft.com/
0 votes
by
Adopting Agile development methodology is like adapting the ‘Each-task-at-a-time’ approach. This is an inventive approach against a traditional Software development approach.

Agile methodology offers to resolve development issues, which can’t be done by implementing the traditional processes. With this solutions are developed through communication and collaboration across various functional teams. It resolved issues with adaptive planning, evolutionary development, and constant improvements and considers flexible changes.

Many pioneering projects, demanding a high frequency of iterations tend to take this route to be more innovative in their approach.  It seems a lucrative approach for projects where client’s specifications differ constantly.

It involves prioritizing activities and tasks depending on the iteration cycle, by completing small tasks of the project and then proceeding to the next. Each iteration is reviewed and assessed by the development team and client. The learnings from the assessment are used to determine the next step in development. The team discusses detailed goals during each iteration meeting such as; expected changes, time estimates, priorities and budgets and proceed with the project.
0 votes
by
"Agile Development" is an umbrella term for several iterative and incremental software development methodologies. The most popular agile methodologies include Extreme Programming (XP), Scrum, Crystal, Dynamic Systems Development Method (DSDM), Lean Development, and Feature-Driven Development (FDD).
...