It suddenly struck me today that I have never developed any large application or worked with a team of programmers, and so am missing out a lot - both in terms of technical knowledge and the social-fun part of it. And I would like to rectify that - an idea is to start an open source group by training college students (for no charge) and developing some open source application with them.

Please give me some basic advice on the whole process of how to (1) plan and (2) manage projects in a team. What new skill sets would you recommend?

(I have read joel on software and 37 Signals, and got many insightful tips from them. But I'd like a little more technical knowledge ...)

Background (freelancer, past 4+ years) - Computer engineer > graphic / web designer > online marketing > moved on to programming in PHP, Perl, Python > did Oracle DBA OCP training to understand DB's > current self-assigned title - web application developer.

closed as too broad by gnat, amon, user40980, Kilian Foth, Bart van Ingen Schenau Mar 10 '14 at 11:52

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    You are biting off a bit more then I think you are ready for; this will consume any minute of free time you had and then some. Make sure you are ready for that. – Aaron McIver Feb 6 '11 at 21:55
  • I have the time. So no issues there. – Sam Feb 6 '11 at 22:48

First things first - there is no technology solution that will solve this problem. There are plenty of tools that will help, but in the end, this is a soft-skills project that you're working on yourself.

Steve McConnell's book "Code Complete" is probably the best resource of the last 20 years on the subject of managing software development. With that, managing a development project in the professional world, versus an OSS project done on a volunteer basis will require somewhat different skillsets.

Do you have an idea of what the project will be? How many people will be involved? What their skillsets are?

Let's assume you have answers to all of those. Break the project down to its' component parts, figure out what the absolute bare minimum is to get a first release going. Assign components. Set them loose.

Your challenge? Keeping everyone communicating, motivated, and happy.

Plenty of other people here can contribute thoughts as to tools that work well in a collaborative environment. A few to start with:

  • Git or another source-code control system is a must.
  • A wiki, or Google Docs, or some other collaborative editing environment.
  • Bug/task tracing. I like trac, there are plenty of others.

You're dealing with volunteers, and college students. People may flake. People may lose interest. Keeping people interested, and motivated will be a big challenge, since other priorities (jobs, classes, friends, dating) will interfere.

Thoughts from others as to their experiences as to what managers/coordinators did to keep them motivated on volunteer projects will definitely help.

  • 1
    Code Complete is by Steve McConnell, not Joel. – Péter Török Feb 6 '11 at 22:08
  • 1
    ...Joel Spolsky's books "The Bible", "War and Peace", and "Women are from Venus, Men are from Mars"... – Aaron McIver Feb 6 '11 at 22:10
  • 5
    SO automatically replaces any author's name with "Joel Spolsky". – Nicole Feb 6 '11 at 22:29
  • 1
    :facepalm: Thanks for the correction, Péter. Author updated, my opinion of the book still stands. – Peter L Feb 6 '11 at 23:16
  • Thanks for pointing to code complete. Will read it and get back. – Sam Feb 8 '11 at 0:34

Personally, rather than embarking on a large volunteer project to get experience like you say you want, I would rather find the right job to get me on track. If you say you want complexity, then look for exactly that. Of course I realise that it may not land you the job, but at least you can do your best to get on the ladder you think you should be on.

From where you are to project management might be a few steps, so plan what the next step should be and be open to other options should they turn up.

I will always value professional experience over experience with volunteers (even if some of the challenges you will face will be tougher). That is important, though, only if you want to use those skills professionally.

  • I don't plan to do a 'large' project; more of a medium sized one appropriate to my professional experience. You may be right that I need a few more years of experience to step into a PMs role. But since I do not wish to work for any MNC's, "volunteering" is the only option. (By the way, I think "professional experience" is over-rated. I did a project on Oracle Portal once, and peeked at the HTML / JS code of the admin interface ... I then understood what enterprise coding meant. :) One should judge a programmer by the code he / she writes and how well he / she can explain it ... ) – Sam Feb 7 '11 at 22:16
  • 1
    Of course, you are right. Not all professionals are equal. Not all companies look for quality professionals either - and not all those who want them can attract them. But if you want to go for larger, more complex projects (to learn something new) you will not have much choice but to compare with others who have that experience. It all depends what you want to achieve and who your competition is. – asoundmove Feb 8 '11 at 1:40

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