Why Angry Birds Is Like Agile Software Development
This is a post from an old website of mine that I thought I'd lost, but I rediscovered it thanks to the Internet Archive!
--
It struck me earlier (while achieving 3 stars on 939/939 levels across Angry Birds & Angry Birds Seasons!) that playing Angry Birds is actually a lot like Agile Software Development. Here's why:
Planning: you're best off taking a good look at the level as a whole and thinking ahead to future bird throws, but it's not worth trying to plan them all out in detail right at the start.
Accepting change: unexpected events happen; you can't know exactly how the structures will fall in advance.
Iterative & incremental progress: you should take each bird in turn and keep re-assessing the situation after each one.
Prototyping: throwing out a quick bird or two can help you gain a better understanding of the problem.
Adaptability: sometimes you may be best off rethinking your strategy, even midway through a level.
Retrospectives: if you take a look back at what went well and what didn't go so well, you'll be able to rethink the bird throws that didn't score many points and turn failed levels into completed levels.
Craftmanship: tricky levels will always be difficult to get right first time, but improving your skills through practice and gaining experience helps.
Pairing up: sometimes having another pair of eyes on the problem can help to provide an idea for a solution that you never would've thought of on your own.
Keeping track of progress: it's important that the game tells you how many levels you have completed versus how many are left to do, or else you would feel lost and unmotivated.
And finally: sometimes it's really difficult, but it's a great feeling when you finally get it right!
So now that I've realised this, I don't feel quite so bad for having devoted countless hours of my life to this game! ;-)