Project Planning for Developers

Devolio

Search

Twitter

    Tuesday, October 23. 2007

    Project Planning for Developers

    Project planning can be a tough task, as well as in any other software development. Every programmer knows that to create something new for the world to share and use, it starts with the planning. Planning your projects ahead of time can save you a lot of time, and present a more exciting challenge at the very same time. Remember, if you fail to plan, plan to fail. This article will present some basic concepts to think about during your own planning session for your next project.

    Clearly define your goals

    One of the very first things you should think about in any project is the goals you want to achieve during the development stage. Setting these goals will allow you as a PHP programmer to proceed more smoothly in your development. Your goals should cover what functionality and niche your project fills. The goals you set will also let you develop in less time, allowing you more time for focusing on other tasks needed to be accomplished.

    Roles and responsibilities

    The next step in your planning will be to determine at the start whether or not this will be a solo project, or rather a team development project. Should your idea involve others in a team, you'll want to define the differing roles and divide them amongst everybody involved. Writing down roles and responsibilities early on will help you and your team to develop your software quicker, more efficiently, and keep you on task. One idea to think about would be an open source, or custom software option with the use of the GPL license to allow others to freely contribute to your work.

    Timescales and resources

    Once you have set your project goals and roles, and divided them among your team, you should then focus next on a timescale for your completed work. If your project is a solo piece of work, you may want to just write down a short timescale of the work to complete to keep track of your progress, and set an initial release date you would like to meet as a deadline. If you are working on a team, then you may want to further your timescales by creating a simple spreadsheet listing each task of the project, then giving a deadline you'd like each task met by. You also must make sure that you have adequate resources to see the project through. All of this must be factored into the final cost of starting your project. Spend some time researching similar projects, and prepare your timescales and resources for your project accordingly. This will help you and your team (or not,) to further complete the project on time.

    The actual planning

    The next good step to think about will be your actual code. Personally, I like to write out a list of classes that would be made, the core functions and explanation of what they do, if it touches a database, I write down the structure as well. Doing this will save you a lot of time in the code writing process. For instance you won't have to look at chunks of code and say "what functions or classes do I need to use here to do this or that?" This process will help to eliminate these issues. This also helps greatly for doing documentation, because any differences I make while making the code I can write down as well. Another thing that can help is setting up an IRC chat, or wiki to keep track of your progress throughout the project.

    Scheduling

    Scheduling will be another idea to think about before your actual development stages. Keeping a schedule for yourself and your team will come in handy more than you think. Whether this is an individual project, or you are a project manager, scheduling will help to save time and resolve issues faster in the long run. You might work on a single or multiple project(s), or even multiple tasks for a single project in a day. Keeping a schedule of the amount of time needed per task per project will become your best friend. This will also reduce stress on yourself and your team, and allow for smoother as well as faster development. I like to divide my time into chunks, and work on certain projects for a certain amount of time per day. Keeping a good schedule for yourself is also very important, it will help keep you on task and focused on what you need to achieve.

    Standards

    One last thing to also consider before moving onto your development will be to establish standards that must be followed for contributing. For instance, should you add a piece of additional code, think about a coding standards document (such as PEAR formatting.) This will help greatly to keep your code nicely organized, and will ease the learning curve for others. Think about things such as CVS, SVN access, commenting, and code syntax. Every programmer has their own way of coding, choosing a standard that fits your teams liking will further help the development and debugging processes.

    The last step to do after you're done planning is to get on that computer and start coding away! Make sure you go over your planning with your team if you have one, and make sure everybody understands what is to take place. Also keep track of your schedule as well as your deadlines. Work hard, talk with your team, and listen to ideas from those all around you. Follow your standards, and accomplish your goals you set. A final note to the programmer: don't be afraid to share your code with the world. You'll learn more during the process of sharing your code than you will learning to code in the first place.

    Have some good tips for programmers planning a project? Found a good resource for project management, or other methods of working together that work well? Share them with us!


    The cheap web hosting is sold by different website hosting sites and few of them also offer the cheapest domain name as well. Though it varies according to the name and the domain registration faq to choose. The hosting of a website is done with the help of the web server which is attached at the host side. One of the types of server is dedicated server, which are quiet expensive but offer good quality of bandwidth and hard disk space. The domain registrations faq are available on the hosting sites and by viewing different websites one can easily judge the best web hosting service. Another option that can be availed through domain hosting companies is the service of web site design templates.

    Trackbacks

    No Trackbacks

    Comments
    Display comments as (Linear | Threaded)

    No comments


    Add Comment

    Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
    Standard emoticons like :-) and ;-) are converted to images.
    E-Mail addresses will not be displayed and will only be used for E-Mail notifications