I remembered a lecture I attended a while back about the Capability Maturity Model (CMM) and I thought I write my version of it from my experience of the software development process. So, without anymore chit chat, let's start.
Level 1 - "Build & Fix"
The initial stage of every developer. A person in a room typing code in hope of creating a world changing program or just for fun. The process is simple: You type some code and see if it runs. If it doesn't you fix the problem and run it again until you are satisfied with the result and you ship it.
Level 2 - "Go with what worked"
You reach this level after you have completed one or more successful projects using the "Build and Fix" approach. Now you have some experience to know what works for you when developing software. Usually people realize it is better to test parts of the program instead of building the whole thing and start debugging it.
Level 3 - "A defined process"
At this point you've been through several successful projects and you feel ready to tackle bigger ones. Pretty soon you realize that bigger projects may require more work, usually more than you planned for. So, to keep the project on schedule you start allocating part of the work to other people. Taking what you learned from what worked you just assign parts of the work you previously did yourself to professionals.
Level 4 - "An improved process"
You are a professional software developer now, well at least process wise. From here you need to improve and optimize your process to lower "time to market" and increase quality. To do this you need to think about automation. You need to build/configure/rent some tools to help you with the grunt work of bringing your products to the market.
Level 5 - "The pro process"
With a level 5 process you can support fast and high quality deployments of your products. Your speed and quality is limited only by your build time and automatic test coverage. Implementing a level 5 process is something that needs to be considered cost wise. There is a big overhead compared to the previous levels and although you get high quality and fast delivery speeds, you need to consider if the revenue you get from selling your products is sufficient to support such a process.