InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

How Agile Benefits the Individual

Posted by Chris Sims on Dec 01, 2008

Sections
Process & Practices
Topics
Agile Techniques ,
Agile
Tags
Continuous Improvement

A recent discussion on the ScrumDevelopment list shed light on the ways in which agile development practices directly benefit the individuals involved. The consensus was that an environment ideal for individual growth can be created by the implementation of agile practices such as inspect-and-adapt, pair programming, test driven development, and constant collaboration and communication.

Arturo Perez started the discussion by asking: "What does Scrum (or other Agile umbrella method) offer to an individual seeking improvement?" It didn't take long for the responses to start coming in. Roy Morien got things going:

Scrum, and other agile approaches, put great store in collaboration, communication and knowledge sharing. So every day you can learn a little more from the experience of others, as well as your own. At the end of every sprint there is an opportunity for reflection and review.

Angela Druckman wrote that working on a team that relentlessly inspects and adapts gives one the ability to see things as they really are and then make plans for the future based on this truth. She notes that people tell themselves lies all the time, about why they didn't get promoted, their level of skill, or perhaps the security of their current position. The real trouble starts when people then use these lies as the assumptions upon which they base their future actions. Contrast this with a person who has learned to inspect their current situation looking for the reality, and then making plans to adapt based on that reality.

Brian Bozzuto wrote about the value to the individual of working in an environment that values learning. The agile ideals 'fail early', 'inspect and adapt', and 'spike solutions' are all focused on learning. In such an environment, an individual is much more likely to learn and grow themselves. Not only that, but Brian feels that such a work environment will be healthier and happier, which certainly benefits the individual.

Alan Atlas commented on the expanded opportunities for mentoring that agile development provides:

For the less experienced or less expert folks on the team, interactions with the more experienced and more expert people will happen much more often than they would on a more traditional team. The benefit can and should be enormous for those that want to or need to learn a lot....

...Added to that is the general scrum imperative of spreading knowledge and reducing specialization and you have what seems to me to be an ideal learning environment at work.

In a related post on his blog, Theodore Nguyen-Cao pointed to the first of the four values in the Agile Manifesto "Individuals and interactions over processes and tools", and said:

While being exposed to version control, bug tracking, and continuous integration systems is great for a resume, working with other human beings is much more rewarding and fun. You develop strong relationships and you are able to learn so much from other people's experiences and perspectives. Pair programming has helped me develop a better understanding of what I don’t know and an even stronger understanding of what I already know...

...Most importantly, I still feel I’m growing as a developer. I honestly believe the best thing a developer can do in their career is to always be learning. Everything else will follow.

Theodore compared his experience working in an agile environment to one that was more traditional, and found that he learned much more when he worked in an agile way.

What work environments have fostered or inhibited your own growth and development? Have you found agile to beneficial? Leave a comment and share your experience.

Related Sponsor

In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!

What's in it for experienced developers? by Kunal Shah Posted
10 reasons by JM Beas Posted
  1. Back to top

    What's in it for experienced developers?

    by Kunal Shah

    I have used scrum for almost two to three years. I agree with everything and will always follow it for development. But looking at the overall process there are a very few things for the experienced developers. The good part is that the overall job becomes easier for them e.g. the maintenance isn't carried by him alone, code is clean etc.

    The team will always do good with "fine" experienced developers. But what's the ROK (return on knowledge) for them? When to reward them?

    Thanks.

  2. Back to top

    10 reasons

    by JM Beas

    In the original thread there is a message with a list of 10 reasons that I've found very wise:
    groups.yahoo.com/group/scrumdevelopment/message...

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.