Hello
What's a good methodology for a small 2-person project? Ranges from 20-40hr.
It's mostly small websites. I want to approach it as a developer, but Agile and other methodologies seems too large scale for what I'm after.
Thanks
Software Engineering Stack Exchange is a question and answer site for professionals, academics, and students working within the systems development life cycle. It only takes a minute to sign up.
Sign up to join this communityHello
What's a good methodology for a small 2-person project? Ranges from 20-40hr.
It's mostly small websites. I want to approach it as a developer, but Agile and other methodologies seems too large scale for what I'm after.
Thanks
There is no perfect methodology which fits every team per se - any good method worth its salt will acknowledge that it needs to be tailored to every team's and project's specific situation and needs.
So just
For such small scale project, you may not need a lot of planning indeed. However, I reckon you still need to (among others)
These are at least some of the things that IMHO even the simplest development process should be able to deal with on some level. Of course, if both of you are experienced in the domain(s), know very well what you are doing, and have no need to communicate closely with management, sponsors etc., you may be happy with a bare minimal process which lets you "just do it". Otherwise, the less of these conditions are true, the more process you probably need.
I agree with @Péter Török pick one and massage it.
However if I were to suggest one to massage I would pick something from the aglie world as it naturally has smaller chunks of work which might match better to a 20-40hr work week as opposed to a waterfall type methodology which requires longer periods of constant development to achieve formal progress.
TDD might also be a good implementation supplement, esp if your 20-40hr is actually just multiple sets of 2-4 hours a day with a push on the weekend. It can really help to foster progress ( and remind you what you were working on... the test that currently break )
I'm using the Lean methodology for my one woman final year project at uni; specifically the seven Lean principles as identified by Tom and Mary Poppendieck in Lean Software Development: An Agile Toolkit for Software Development Managers (2003)
From my reading around the subject, the Lean approach to project management and software engineering is sometimes confused with the Agile approach but where Agile methodology is aimed primarily at a workflow which adapts quickly to change, Lean takes this further by eliminating non-value added steps within the process and focuses on an even more streamlined iterative process (feel free to disagree with my understanding of Lean and Agile methodology here)
suggested helpful reading: Hibbs, Curt, Steve Jewett, and Mike Sullivan. (2009). The art of lean software development; A practical and incremental approach. O'Reilly media
Here are a couple of options:
Pair programming seems to work really well in these situations. Having gone through multiple projects with a project partner, its hard to communicate what you have done after you just finished a overnighter but is important when the other person is planning to sync to your changes in the morning. You might want to try TDD along with Pair programming.
Delineate the project in multiple (relatively) independent modules and code away. Work together while doing integration to avoid one person throwing the half of the other's code away :)
Ofcourse, agile methods like scrum still work well in this setting.