Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Software life-cycle models for web development

Tags:

I majored in a great software engineering program, and was taught the importance of process and the steps of a life-cycle model. I'm familiar with the classic "waterfall" model. Though we explored others, the waterfall does a good job of listing the possible tasks no matter how crafty or tricky your new-age model is. So it's a good starting point.

When I was finishing school, .NET was just on the rise so we didn't cover new ways to approach web development with a good life-cycle model. Now I work in a web shop and we are trying to establish some good practices and processes where we have none. Since I only graduated 6 years ago and have experience in more structured software environments, I'm the guy to introduce some new stuff.

Right now the office is just chaos. I got a lot of laughs from a project manager yesterday telling him "our process is the sound of one hand clapping." We are desperate for process but we don't know what to do. Everyone is taking a backwards approach of wanting a tool to tell them how to do things, when we should be gathering requirements first.

We are a shop of 9 total people. We need to be able to do work fast. What are some good software development models that are industry standard now? Everyone else is doing this so we need to learn, this shop has been building sites since 1995. Where can I find good resources on best practices? We are a LAMP shop.

EDIT: I should also add, we would be looking to add a process to existing websites. So we aren't building new projects, which is what these models are always geared towards. We're maintaining 10 year old monsters of sites (ok more like 3-5 years, but the clients are older) and keeping them going, while adding new features incrementally. Can any of this help there?

like image 796
tkotitan Avatar asked Nov 25 '09 14:11

tkotitan


1 Answers

What a lot of shops are using now is the Agile development method. It's scalable from a single developer to as many as you might ever have. Using this method makes it easy to track the amount of work any one individual will be able to complete in a given period of time. Check out the wikipedia page describing the methodology:

http://en.wikipedia.org/wiki/Agile_software_development

There are also some great open source and free tools for helping you set up teams, projects, iterations, and everything.

However, I will say that I used to work in a waterfall shop, and unless management is on board with the change, you'll get nowhere trying to change from waterfall to agile.

EDIT (In response to question edit): YES! Agile will definitely help you with maintenance and enhancement releases of existing projects, as well as possible refactoring releases. It is all-inclusive.

~md5sum~

like image 59
Nathan Wheeler Avatar answered Oct 11 '22 21:10

Nathan Wheeler