An agile process isn't just there to manage the developers, it's there to engage and manage the customer as well.
In my experience, customers rarely know exactly what they want out of a software project, large or small. Complicated documents, produced up front get ignored because of TL;DR and projects start on faulty specifications that describe a solution to illusory requirements. So, inevitably, there will be a disparity between documented requirements and the desired outcome.
Iterative delivery - a key feature of agile as I have experienced it - gives the customer multiple chances to try-out and feedback on working software along the way. Furthermore, by making the customer part of the solution early they are as instrumental as the implementers in ensuring the validity of the software and - therefore - the success of the project.
Incidentally, I think this is why many customers (internal and external) are suspicious of and hesitant to engage in a truly agile process. That is, they would become equally liable for the success of the project because of the decisions they are required to make. They are part of the solution and therefore potentially party to the blame for any failures. It's much safer for them to be more likely to fail and avoid the blame than it is to risk complicity in a failure, however less likely that failure might be as a result of the process.
What agile does that the author missed (or at least declined to mention) is that it gives a name to and formalises an approach that attempts to manage the customer as well as the implementers. It compensates for the fact that customers can't always be expected to fully understand their own requirements and for the inevitability that they change their minds.
Specific Media are recruiting TDD evangelists and clean code junkies to help create the next generation of social entertainment - Myspace TV. Would you like to discuss what you're watching in real-time on your iPad? Browse music on the Web and throw it to your TV? Invite your friends to watch the same sports games? Pause that film and carry on watching it on your mobile? You get the idea.
What's even better is that (with the help of the creative talents like Justin Timberlake) you get to use this great technology to help transform Myspace. Your code being used every day by tens of millions of users worldwide.
Here at Specific Media, you will work in truly Agile, small teams using Scrum, working in short iterations. You will have unparalleled opportunity to contribute your ideas and have real influence over how we work and on the awesome applications we create. If you're a passionate software developer who is interested in software development both inside and outside work; and you want to be part of the most exciting software projects currently happening in South Wales... Myspace needs YOU!
More details are available if you send me an email at emalethan [at] specificmedia dot com
I figured out you could use the space bar to advance through the "slides", which made the presentation just about usable. I then instinctively - and possibly stupidly - tried to use backspace to go back a slide. Obviously, I arrived back at HN. I didn't go back to finish reading.
I had the same problem as other posters--this presentation more or less breaks scrolling (it still works, but is very awkward).
Using the left/right arrow keys to navigate the presentation works quite well. To bad that navigation tip isn't included on the first slide or on that persistent gray bar or something. It makes a huge difference.
I'm pretty sure not all deaths are featured on this map. I checked stretches of road where I know there have been deaths near my spot of rural North Wales. Those deaths weren't on this map for some reason.
This is a common misconception. TDD does not 'espouse' in any way that you write all your tests first. Nothing I have read suggests so.
For me, TDD, in practice means switching back and forth between writing tests and production code. That is, write some test code, run, fail, fix the production code, write some more test code. It is incremental.