An Intro Guide to Agile Software Development and Project Management - Part I

This series is on Agile and won't talk specifically of any implementation. For more information on particular methodologies, follow also our series on Scrum here.

Agile (pronounced with emphasis in the first syllable in US and in the second in the UK) is defined in the dictionary as the ability of quick moving or thinking. In the fields of Software Development and Project Management, Agile refers to the Values and Principles used to build the team Beliefs used into making decisions that will issue a better result. Many previous iterative and incremental software development methods (such as RAD, XP and SCRUM) had an influence in the birth of Agile and are now considered agile software development methods.

The term Agile comes from the Manifesto for Agile Software Development, a very concise document signed by seventeen software developers in 2001 and based in these twelve principles:

1. Customer satisfaction by early and continuous delivery of valuable software

2. Welcome changing requirements, even in late development

3. Working software is delivered frequently (weeks rather than months)

4. Close, daily cooperation between business people and developers

5. Projects are built around motivated individuals, who should be trusted

6. Face-to-face conversation is the best form of communication (co-location)

7. Working software is the primary measure of progress

8. Sustainable development, able to maintain a constant pace

9. Continuous attention to technical excellence and good design

10. Simplicity — the art of maximizing the amount of work not done — is essential

11. Best architectures, requirements, and designs emerge from self-organizing teams

12. Regularly, the team reflects on how to become more effective, and adjusts accordingly

In the Manifesto, these twelve principles led the signatories to stress their values:

- It is more important to have competent people working together effectively than focus on tools and processes;

- Development should focus on creating software as a priority over comprehensive documentation;

- Customer collaboration is more valued than contract negotiation;

- The project plan should not avoid responding to changes (either in the technology, the environment, or others).

Some years after the publication of the Manifesto, some of the signatories and other people published the Declaration of Interdependence (later changed to The Declaration of Interdependence for Modern Management), that intended to stress that project team members are part of an interdependent whole and not a group of unconnected individuals. The document presents these further principles related to software project management: 

1. Focus on Value (increasing return on investment);

2. Engage Customers in frequent interactions and shared ownership, thus delivering reliable results;

3. Expect Uncertainty which is to be dealt with by iterations, anticipation and adaptation;

4. Unleash Creativity and Innovation by creating an environment where individuals can make a difference;

5. Group Accountability for results and Shared Responsibility for performance and effectiveness of the team;

6. Improve Effectiveness and Reliability through situationally specific strategies, processes and practices.

Project Management when done the Agile way should reduce complexity, avoiding the months-long cycle of requirements, implementation and validation. Small and usable segments of the product are specified, implemented and tested in cycles of few week

First-hand information on Agile exists in the site of the Agile Alliance, formed to promote agile processes in the industry. This includes the Agile Glossary, a compendium of terms, practices and elements of Agile.

This series on Agile continues with Part II.

To view or add a comment, sign in

More articles by Laercio Cruvinel Júnior

Others also viewed

Explore content categories