Recently, I took part in an online presentation which gave an overview of Microsoft Visual Studio 2010. It was presented by Richard Erwin, a Developer Tools Technology specialist at Microsoft UK. One of the concepts integerated into this presentation was how Visual Studio 2010 supports Agile Software Development.

A Typical Application Lifecycle
Agile Software Development is “a conceptual framework for software engineering that promotes development iterations throughout the life-cycle of the project.” (JetBrains Development Academy).
Some of the well known Agile Software Development methods include:
Many people seem to have a perception of ASD in the sense that there is no planning involved, things can change quickly and no targets are set or kept to. This isn’t necessarily true as whilst targets and plans can continously change or re-evaluated, an overall end target is always set. Tasks are split into iterations in which a full software development lifecycle is carried out. These iterations are still kept to time scales and deadlines.
Team collaberation is always another issue raised with ASD. In ASD, a team will do everything together with an active user always being involved too. This way, each team member will know about all aspects of the project at any time and the user (or client) can constantly ensure that the team are delivering the results that they are after. In a team like this, a union is formed with everybody almost thinking as one with a great desire to complete a project which is their creation alone.
Manifesto and the 12 Principles
A manifesto for Agile Software Development has been created. It reads:
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
Source: Agilemanifesto.org
Also, 12 principles behind the Agile Manifesto have been created. They are:
- Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.
- Welcome changing requirements, even late in
development. Agile processes harness change for
the customer’s competitive advantage.
- Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.
- Business people and developers must work
together daily throughout the project.
- Build projects around motivated individuals.
Give them the environment and support they need,
and trust them to get the job done.
- The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.
- Continuous attention to technical excellence
and good design enhances agility.
- Simplicity–the art of maximizing the amount
of work not done–is essential.
- The best architectures, requirements, and designs
emerge from self-organizing teams.
- At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behaviour accordingly.
source: Agilemanifesto.org
Postives and Negatives
In a report titled “Usage and Perceptions of Agile Software Development in an Industrial Context: An Exploratory Study” (source), a survey was conducted to discover what developers thought were the top 10 positive and top 10 negative aspects of Agile Development. Here is what they found:

Benefits to Agile Development Methodologies

Problems with Agile Development Methodologies
Source: Microsoft Research
From these tables, I would say that the benefits have far better substance than the problems. This also depends on how a team or indiviual person works. For example, a negative in the table says that their are too many meetings. This is due to ASD’s method or being more face to face than documentation oriented. On the other hand due to these meetings, mass amounts of documentation are not needed and this could be seen as a positive. It can really only be down to the team working on a project, to decide which type of methodology would suit them best.
Developers
If you are developing in Microsoft Visual Studio and using Team Foundation Server, Microsoft offer Microsoft Solution Frameworks for Agile Development.
They can be downloaded from the following links:
MSF for Agile Software Development Process Template
MSF for Agile Software Development Process Guidence
Students can also download Microsoft Visual Studio for free via their universities MSDNAA or by signing up to Dreamspark.
If you would like to look into Agile Software Development more, you may wish to check out the following links: