Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Everything I've been reading and researching up to this point describes how Agile/Scrum works great with teams of about 4 to 6 members, maybe even more.

In my current shop, we have about 8 developers or so, but given the nature of the volume of projects and the number of departments we support, we never have more than 1 or 2 folks assigned to a given project.

Can I still use Agile/Scrum with a team of 1 or 2 developers? I'm working on making the pitch to my manager to start working with this methodology, but I need to be able to explain how to scale things back for a small developer crew, or convince them to make sure we get more members on a given project.

share|improve this question
19  
I failed to apply pair programming to a team of 1 developer –  flybywire Sep 10 '09 at 19:34
4  
Playing planning poker by myself is no fun. –  Tomas Sep 10 '09 at 19:43
2  
@flybywire: Try to develop multiple personality syndrome and make sure the mentally-new-person is a good developer. Then, you can pair program. –  Phil Mar 8 '11 at 18:47
    
Take a look at this interesting experiment with a 1 man scrum I found when researching this exact question for a samll 2 man team. 21apps.com/agile/doing-agile-in-a-team-of-one –  AudioDan Apr 27 '12 at 2:02
add comment

migrated from stackoverflow.com Mar 9 '11 at 5:10

This question came from our site for professional and enthusiast programmers.

10 Answers

You sure can use certain agile principles in your projects, you don't have to use scrum, use whatever will work best for you. You can definitely benefit from some of XP methods and some scrum practices. But probably not "by book", 1-2 person team is just too small even for that little overhead scrum brings, start with what book says and then drop whatever you'll feel irrelevant after some time. Just don't drop retrospectives, it sure is worth the time spent discussing the problems you have, and finding solutions for them.

share|improve this answer
3  
absolutely. The keyword is 'agile'. The book 'practices of an agile developer' (assets1.pragprog.com/titles/pad/practices-of-an-agile-developer) may be helpful to pick the tools useful for you. –  Adriaan Sep 29 '09 at 12:19
add comment

Yes you can use the principles of Scrum/Agile for 1 person. If you want personal productivity look at the Pomodoro technique or GTD.

Agile techniques are suited to smaller teams as with larger teams it becomes more difficult to manage communication. With 1 or 2 people developing a project (and a customer) you should be able to work in an agile manner very easily. i suggest you read the agile manifesto as a good start to agile. For scrum, I'd suggest you look at Scrum from the trenches. Kanban seems to be in fashion now and there is a personal Kanban too!

share|improve this answer
    
Lovin' that personal Kanban! Getting my own board here shortly! –  Dillie-O Sep 11 '09 at 18:18
add comment

Absolutely and without question. Checkout the book Pragmatic Programmer for more information on how individual developers can work Agile. Scrum resources for individual work are harder to come by, however the primary notion of iterative development can be applied to any size work group.

http://www.pragprog.com/the-pragmatic-programmer

share|improve this answer
add comment

I would say that you can use agile methods, but you can't formally use Scrum as you can't fill the roles, and from what I know, Scrum is designed for teams of 7-10 people, perhaps slightly larger. But many of the agile methodologies, including Scrum, can provide you with a starting point.

I would suggest looking into the Personal Software Process. I'm learning about it now, on my own, and once you get good at it, you can apply it to both plan-driven and agile environments.

share|improve this answer
add comment

If I were you I'd manage and visualize my tasks and priorities using Kanban, and I'd adopt some of the XP practices: Test-driven development, retrospectives and time-boxing are probably good to start with. Later on, during retrospectives, you can identify more practices that you feel you need.

Kanban is very non-prescriptive. All it really requires is that:

  1. You visualize your workflow
  2. You limit your work in progress (especially useful in your case)

The idea is that you latch on other practices which you find useful, and XP is an excellent source for these practices.

Disclaimer: I have never tried this, but it would be at the top of my list of things to try if I were in the same position.

share|improve this answer
    
The only issue I see is getting a product owner to fully participate. Someone with the authority to prioritize the development outputs needs to join in and have high availability. –  user5467 Feb 23 '10 at 19:01
1  
I jumped into Personal Kanban about 3/4 months ago and I really like it! I think it is a springboard in the right direction for others in my group. Thanks! –  Dillie-O Feb 24 '10 at 15:26
add comment

Yes, you can use agile methods with only two developers, but you always need a dedicated customer/product manager. With only one developer, I would say no mostly because I personally like to work in teams, but also because you cannot really pair program, and thus miss all code sharing opportunities. Four to six developers + one product manager is the perfect size for an agile project. More than that, and sub-teams tend to form which kinda defeats the purpose.

I don't know your exact situation of course, but it seems to me that you are running to many projects as the same time. My suggestion is that you should try to pitch the idea of lowering the amount of concurrent projects, and instead have, say, two teams working on one project each. That would be the first step to improve your situation and make it easier to apply an agile process.

There is much to be said about the badness of task-switching and project-trashing, but really, nothing good comes out of it. Ever.

share|improve this answer
add comment

I think 2 developers instinctively default to a system like agile, even if they don't set out to explicitly do it. They'll naturally be talking to each other and iterating with their PO.

share|improve this answer
add comment

Looking at it another way:

Why don't you consider all 8 developers members of the same Scrum team? That way you get the crosstalk effect between projects. Maybe you don't even have to commit people to specific projects??

When more people are added to your shop, you can possibly divide the team into two smaller ones.

share|improve this answer
add comment

I recently read this book about scrum: Agile Project Management with Scrum

For me it was my first book about scrum, and did it for me, it really focusses on what underlying principles are important. I think that some of these principles could apply to and help 1-2 person teams.

share|improve this answer
add comment

I agree with Dustin. Scrum is a kind of system that needs a minimum of people, otherwise it is not Scrum. Can be agile or what so ever, but not Scrum. If you are only in 2 or 3 you will not be able to follow all Scrum rules, but of course you can use the principles, best practices and the ideas behind Scrum to work better.

Have fun Doro

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.