Building a blog theme or plugin is a pretty small development project. As your plans get more ambitious, at some point you will probably want to build something bigger. These can be much more risky as development can get quite complicated.
For larger projects, it's a good idea to break the project down into working release stages. For example, if you wanted to build a membership site with a whole heap of bells and whistles, you might make the first stage just having the membership system, then the second stage adding in one set of features, then maybe a third stage adding in the least important features.
This will ensure you see the project as it comes together and that you are involved in the process of development as it happens rather than trying to think of everything ahead of time. This style of agile development breaks with the past where projects spent a long time in the initial "requirements gathering" stage and then were locked down for the build.
Often before you've used and seen a working system, you may not know quite exactly what you want. When it's there in front of you all of a sudden you see features you forgot, or functions that are missing. Trying to add these late into a big project that was locked down already is called "scope creep" and it tends to make projects late, over budget, and badly prioritized.
On the flip side it's very difficult for a developer to accurately gauge how long a big job is going to take right at the beginning. Development jobs often have hidden complexities making it almost impossible to accurately quote. Therefore you are far more likely to get developers giving you pricing estimates that end up climbing as the job wears on.
Agile development works because it combats uncertainty on both the part of the developer and the business. For the developer, they are committing to estimates based on smaller chunks of work, which are of course much more accurate to estimate.
Once a given part of the job is complete, they will be deeper into the project and able to more accurately estimate the next stage too. For the business, agile development ensures that you get as much value as fast as possible with a working system at all times. You can then add features or make changes, re-prioritizing as you go without undoing all the earlier specification work.
So for our membership system example, you might find after building the first stage, you'd forgotten some important features, or maybe after building that first working system, you see a potential new feature that could provide a lot more value.
You can then change the second phase of the project to incorporate some of the new features and bump some of the things you initially thought were important into phase three. Finally, after the second phase, you might find that you are running out of budget and all together dump the third phase, knowing that you have a working system and you can always come back and build those later.
If you are contemplating a large development project with someone you've never worked with before, it's also a good idea to first work on a small project together. This will give you a feel for the working style, pitfalls, and hurdles of working on development. You can then use these lessons on the larger project where problems will be much bigger and more expensive.
Our website is not responsible for the information contained by this article. Webworldarticles.com is a free articles resource thus practically any visitor can submit an article. However if you notice any copyrighted material, please contact us and we will remove the article(s) in discussion right away.
This article was sent to us by:
Cynthia Simmons at
02152011
1. Creating Your Own Wordpress Template Tags
All articles in this directory are property of their respective authors. Additionally, read our Privacy Policy
© 2010 WebWorldarticles.com - All Rights Reserved. Partners: Gunblade Saga