Project Planning: Obvious or Obscure

You may have noticed.  The internet is rapidly changing.  From mobile and tablet devices to location detection and worldwide connectivity.  As web developers, we are constantly faced with new technologies and new challenges.   So how do you plan a development project in a volatile environment like this?  Well, the reality is we have to learn to get comfortable with being uncomfortable. 

Then starting a new project, I think it is important to gauge the complexity of the project by assessing the requirements and the technology needed to achieve those requirements.  If the requirements are fairly simple and the technology needed is well within your capabilities than it can be relatively easy to go about the project in a traditional (Waterfall) approach.  On the other hand, if the requirements are unknown it becomes harder to determine what technology is going to be necessary to provide the best solution.  So, this might mean that a traditional approach to project planning may not work. 

So what do you do?  We can’t let that stop us from taking on the challenge, right?  Innovative solutions come from people who are willing to take on new challenges.  That is where the magic happens. 

So, how do you approach these projects?  Well, you need an iterative process that allows you to fail faster.  You may have heard the term “agile development”, which is basically that, an iterative process.  I believe this a great approach for both clients and developers to get to the best solution possible as quickly as possible.  This allows for the most important decisions in the development process to be made, not upfront before you begin anything, but rather in the phase where everyone has a high level of knowledge of what the best outcome should be.  This ultimately will lead to a better product, better user experience, and better overall results.