Agile Manifesto Principles

Posted on by Tim Rosenblatt

If you've never read about the Agile manifesto, you should. It represents the absolute cutting edge of the software development industry.

I'm starting a 12-part series of blog posts on the Agile Principles, discussing what they mean, and what they look like in the real world. It'll be like an Agile dodeca-thalon.

Welcome to #1 of 12.

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

What we mean by this is that above anything else we do -- above code formatting, testing, meetings, planning, sometimes breathing -- our #1 goal is valuable software. If we're not delivering value, we have no reason for existing. "Business value" we often call it. We always focus on delivering the most business value possible given the amount of time we have. Sure, the spinning cornflower blue logo is hot stuff, but we're going to focus on the authentication system first.

One of the nice parts of this is that since the biggest features go first, you start using your application sooner. If we were making a word processor, the first things you could do would be open, edit, and save text. You can test (and use!) that functionality while we add spell check, fonts, or colors, in the order of what you want and need most. We're not going to make a spell check module first, unless there's a way to get words to spell check, right?

As a client, this is good for you, since you can start playing with a prototype, and possibly change some features later. You can sometimes even start working with the prototype. Plus, sometimes you'll find that features you thought you wanted aren't actually important -- that means you save money. You stay in control with prototyping. Prototyping is a huge part of R&D in building anything, and the way we develop software means that you get prototyping free. It's part of how we roll.

"Continuous delivery? What's that? A stream of FedEx guys walking into my office?"

By continuous delivery, we mean frequently giving you the results we keep talking so much about. It takes about a day to add a single feature, and after each feature, we to deploy the code to a server for you to play with. You can see the progress, you get value for your dollar, and the developers get to feel accomplished and loved. Sometimes, we even give them beef or chicken-flavored treats. They love those things.

One great thing is that because our deployment is totally automatic, it's really easy to push new features to you. Only takes a minute while we go get some more coffee ("coding fuel"), and you get new stuff.

I hope this has given a bit more insight to Agile. This is the overriding principle above all, and in the coming days, I'll lay out more detail about the other principles, and how they tie together.

 
comments powered by Disqus