TODO: INTRO PARAGRAPH

An agile, iterative approach to software.

Agile is not a process, rather it is best embodied through a series of values and principles.

Why Agile?

Humans have the ability to focus on a task and get it done. Humans also have the ability to think big; to have a vision that they are working towards. However, the middle ground between immediate tasks and grand scale vision is often difficult for humans to think about and plan for.

I can picture in my mind the list of projects I have to do around the house (it’s a long list!). I can also look at each individual item and quickly figure out whether each individual task is a weekend job, an afternoon, or perhaps an hour in an evening. However, if you asked me to put together an estimate for a few of the tasks, and try to schedule them out, the accuracy of the estimate would (based on my experience) not be very good.

This is where, in many ways, the agile approach fits in.

Agile does not automatically lead to better software. Rather, applying the agile values and principles provides a means by which better software can be made. Applying the agile values and principles is not an automatic path to better software.

References