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.

Possible Duplicate:
Design and Development Methodologies for the single developer

I'm a web developer who mostly works with the LAMP stack when it comes to my own projects. Most of the time I just start coding on a project and fixing bugs and adding features as I go along. Often I'll try to use an existing solution such as Wordpress or Drupal.

Now that I'm thinking of creating my own web application with businesses as the target group, I feel there's a need for proper analysis and design. Something lightweight for a one person project and still solid enough to handle requirements, user interfaces, security, etc. If you could recommend methodologies and literature I would be grateful.

share|improve this question

migrated from stackoverflow.com Jun 26 '11 at 14:17

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

marked as duplicate by Mark Trapp Feb 2 '12 at 9:08

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

    
Chaos methodology. Cowboy coding. –  Arnis L. Jun 26 '11 at 15:36
    
I don't know how much past experience you have but I found that the book Head First Software Development was a great introduction to the process of software development and gave me the tools to understand and refine processes better. –  Ziv Jun 26 '11 at 17:55
add comment

3 Answers 3

For a single developer, I usually recommend two things:

First, look at the Personal Software Process. It's documentation and statistics heavy, but it's one of the very few formally studied, researched, and applied processes for individuals. Most of the work has been done toward teams of at least 5-7 people, and on top of that, frequently in the context of a larger organization. The PSP is designed to allow a single developer to examine his/her processes and methodologies to determine where they are being the most effective and where in the process problems might exist. However, the PSP doesn't say how to do anything - there are no suggestions for how to carry out the steps, but rather just the steps that should be carried out and how to review your methods used to carry out each step.

Second, look at commonly accepted "best practices" and see how they fit with the product you are developing and how you work. Since you are working solo, there's no need to accommodate other developers. This means you can choose everything from how you get things done to the tools that you use to support those methods. You might want to determine if and how you can use or define practices such as unit and acceptance testing, "you ain't gonna need it", release scheduling and milestones, coding standards, and capturing requirements and design decisions (just to name a few of the big ones - there are more).

share|improve this answer
add comment

I've done XP (without Pair Programming) on a single-developer project before. XP Planning works particularly well.

If you have requirements that change very rapidly then Kanban may be a better choice for the planning portion. Most of XP's technical practices will still be valid though.

Books:

I don't have a personal recommendation on a Kanban/Lean book; the Anderson one is supposed to be good.

share|improve this answer
add comment

Take a look at Leveraging Drupal by Victor Kane:

http://www.amazon.com/Leveraging-Drupal-Getting-Right-Programmer/dp/0470410876

It's a bit old in that most of the discussion revolves around Drupal 6 and refers to Drupal 7 as up and coming but overall it describes his agile approach to development using Drupal in great detail. It's a good starting point for you since you already have experience with Drupal.

He emphasizes a more formal approach with user stories and what not. I think it's what you're looking for.

share|improve this answer
add comment