23

Possible Duplicate:
What good book shoud I buy to learn Agile from scratch?

It seem that Agile for the solo developer is a good idea.

But how to learn it?

Is there any good book, web reference or course that a solo developer could start from?

DavRob60
  • 3,286
  • 2
  • 31
  • 39
  • Just say "I'm driving" and start coding until your pair will not want to be the driver. – Wizard79 Sep 27 '10 at 13:49
  • 1
    @Lorenzo Pair? Which Pair? Being solo does not imply that I don't get any pair to argue with? – DavRob60 Sep 27 '10 at 14:00
  • 1
    I think the very nature of solo programming becomes an agile process. You are the sole developer, responsible for coding, testing, documentation, the works, so to keep up with the pace your development will need to be agile. Generally speaking agile is faster iterations, of the usual document, implement, test, push features, repeat until code base meets specifications. – Chris Sep 27 '10 at 14:08
  • @Chris I know all that, I'm (probably) doing some king of Agile development right now. What I'm asking for is some reference so I could review my current practices and improves them. – DavRob60 Sep 27 '10 at 15:27
  • Well any agile books would suffice, I doubt there is a agile development specifically geared towards individual developers. If there is I would be interested in reading it to see if there are any differences noted compared to agile development within a team environment. – Chris Sep 27 '10 at 15:40
  • @Chris Any agile books would suffice, but a good agile book would be better. That's why I'm asking. – DavRob60 Sep 27 '10 at 15:46
  • @DarRob60: it's a joke. You are a solo developer, so don't have a pair, so you'll never been stopped by your pair saying "I'm driving", so you will continue coding indefinitely. – Wizard79 Sep 27 '10 at 16:02
  • @Lorenzo My joke detector must be still waiting for the last condition to fulfill. – DavRob60 Sep 27 '10 at 16:17
  • @DavRob60: OK, maybe the joke wasn't that fun... – Wizard79 Sep 28 '10 at 16:08
  • @Lorenzo I didn't know Pair programming, so that why I did not catch that joke. – DavRob60 Sep 29 '10 at 13:44

6 Answers6

14

If you have to purchase only ONE book.

Buy Practices of an Agile Developer.

alt text

  • 3
    I love that cover! – Mongus Pong Sep 27 '10 at 16:19
  • 1
    pragprog needs customer reviews. I now fully refuse to buy books without a number of un-paid-for reviews for them. – Steven Evers Sep 28 '10 at 15:57
  • Read them on Amazon: http://www.amazon.com/Practices-Agile-Developer-Pragmatic-Bookshelf/dp/097451408X/ref=sr_1_1?s=gateway&ie=UTF8&qid=1285690138&sr=8-1 –  Sep 28 '10 at 16:09
  • (and you have mine too ;)) –  Sep 28 '10 at 16:09
  • 3
    Explain **why**. –  Oct 06 '10 at 00:10
  • 1
    Mark, I've been reading almost everybook on Agile, I did all certifications I could, I went to gatherings, conferences, etc. This is the only reference book that did the wow effect on me. It is complete, well written, easy to understand and read. The book is divided into small sections that describe one particular problem and how agile can help –  Oct 06 '10 at 07:23
12

Daily scrums can be lonely :(

Honestly, just be nimble. Agile has a heavy grounding in getting the most out of a team (standups, pair programming, etc). As an individual you're likely agile by your very nature - invent a process that works for you and go for it... just don't get entrenched by it. These development processes exist because managing IT projects across many functions is challenging... you're one man. You are the process.

I track my tasks using post-its, I have a CI server checking my code and I iterate until myself and (volunteering) testers are happy. I design first, code later. I try to set achievable goals for the week, and tend not to think about the project months in advance.

You'll get better results working in a way that you feel comfortable and have evolved into.

You'll be surprised how much of the agile process you naturally do.

dannywartnaby
  • 941
  • 7
  • 9
  • YUP YUP YUP a switch to agile is needed the most by IT behemoths. Many start-ups have no choice but to do it right or perish. – Job Dec 16 '10 at 17:44
2

I think Clean Code: A handbook of Agile Software Craftsmanship, is a great resource.

This book will make you a better developer, not only a better programmer. Surely a must read!

http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882

Martin S Ek
  • 482
  • 2
  • 5
2

You're going to have to adapt. I doubt there are any books that specify one developer or 100 developers. If you want to learn about Agile development, there's plenty on the internet. I browsed a few books at the local book store and didn't see the need.

Paired Programming - I happen to work at a firm with a lot of financial analysts that have been doing things in Excel that I convert to our application. I drag them over to look at my code occasionally and work through things with them. Saves a lot of back and forth.

We have plenty of people requesting software that can play all the other roles.

Stand Up Meeting - OK, this one freaks my coworkers out. Especially when I have to cut myself off for taking too much time. Just kidding, but I do keep a journal of what I did and what I'm going to do daily.

As far as the requirements gathering, planning, unit and acceptance testing, you can follow whichever methodology seems to make sense.

I tend to keep my 'sprints' to about a week.

JeffO
  • 36,816
  • 2
  • 57
  • 124
1

We use kanban at our work, and I've found it really useful - I think the idea of limiting yourself to a certain amount of work means you get more done.

One other thing kanban does well is categorizing where the work is up to - we use plan | build | test | distribute | done - each of these stages is defined and you need to work an item through the board - this helps to make sure that you haven't ignored testing, or that you've spent a bit of time planning and defining how to tests and demonstrate a completed feature.

One of the good things about agile is the accountability / transparency - so I'd let your clients know what you're working on, get them to agree to features they want added so that you keep yourself accountable to someone, even if they don't know the technical in's and out's.

Sam J
  • 748
  • 5
  • 8
0

If you want to practice Test Driven Development and Continuous Integration, which I find to be some of the best agile practices to follow I'd look at these books:

Brian D.
  • 131
  • 3