Site Meter Web Dev Notes » Blog Archive » How to Start that Big Development Project

How to Start that Big Development Project

by

Development Process

About to begin that big development project? Where do you begin? It’s important to discover exactly what needs to be developed before you develop it, so start by collecting information. This information will help you answer the question, are you building the right product?

Here are some things you will need to identify and write down:

1. The people who are involved with the work - You are developing a program or tool that will be used by users for a specific purpose. Who are these users? Who they are will affect how you program.

2. The thing the people you identified above use to do their work - You are being asked to develop a program or tool most likely with the hopes of making a task easier for workers. In order to find the best solution, you need to understand how the people are currently solving the problem. What program are they using to do the work right now?

3. The processes that are involved with the work - You need to have a good understanding of all the processes needed to complete a task. If the work the users are doing involve multiple steps, you need to make sure the program coordinates all of these tasks effectively.

4. The information required to do the work - You could make a great program, but it can be totally useless if it doesn’t provide the information required to do the work. Identify the information the users will need and find a way to make it available within the program. If the users need to look elsewhere for the information, they may look elsewhere for the entire solution as well.

5. The inputs required to do the work - You need to find out exactly what sort of information will be input into the system before you begin creating the system. You don’t want to reach a point near the end of development and realize the entire thing is useless because users cannot include vital information! While a keyboard and mouse are also common input devices, you may find that your users specifically also need a webcam or microphone input device to complete certain tasks.

6. The outputs created by the work - Fairly logical, but still necessary to discover! How will you manipulate the users data to provide useful results? What is the end goal the users hope to reach by using the program you are developing?

Once you have discovered all the necessary information, you then need to begin interpreting it!

1. Create descriptions of the people who do the work - Do this by creating personas for all of the main groups of users that will likely be using the system.

2. Describe the different goals involved with the work - Based on the information you collected, you should be able to identify all the goals the different users hope to accomplish by using the system. You need to know all of these, as this is what you will be developing your program to do!

3. Document the work step by step - We all hate documents, but if you want to save time and money, get the job done right the first time and write down exactly what you need to do. According to the Nine Causes of Software Error, faulty requirements and documentation errors are the leading causes of bugs and errors.

4. Create different scenarios regarding how various aspects of the work are done - By now, you have identified different types of users, you know what each of their goals are with respect to using the system and you have written down step by step processes to achieving these goals. Now, how do you combine all this information logically? Think about how the work is done by the users. If one user is using the system to enter available inventory and another is selling the inventory that is available, the program you develop needs to coordinate this logically such that the total inventory count is correct! What happens if you have 10 toasters and you sell one while Bob is counting boxes in the stock room? Then Bob goes to his computer and types in 10 toasters, while Joe hands one to a customer and there is really 9! Later that day, Joe will sell someone a toaster when there are none left!

5. Create charts and diagrams showing the work flow - If you’re working on a large project, you need charts to show the entire work flow. This makes it much easier to see and find the associations between various methods.

6. Trace the different scenarios, the different people, and their work descriptions through the charts and diagrams - Make sure all the users can in fact reach their goals by tracing paths through the charts you created. If all users can reach and accomplish all of their possible work tasks, you’re on the right track!

As you can see, when you’re working on a large project, there is plenty to do before you even write a single line of code. Many people like to jump to coding and creating prototypes right away in order to get user feedback more quickly. This is a mistake. Don’t waste your time creating something the users will ask you to change or modify once you show them. If you know what they want from the start, this will limit the amount of modifications you will need to make after the users get to test the software. When in doubt, look back to the Three General Principles of Quality Assurance to make sure you are on the right track!

Update: If you’re about to begin work on a software project, do not underestimate the importance of Software Project Management. Project Management plays a HUUUUUGE role in the final success or failure of a project. Read this article from Software-Engineer-Training.com which provides an Introduction to Software Project Management.


One Response to “How to Start that Big Development Project”

  1. Web Dev Notes » Blog Archive » How to Collect the Information you Need Says:

    [...] to Collect the Information you Need July 12th, 2007 by Deceth We’ve told you How to Start that Big Development Project, but we haven’t told you how to go and find all that information we say you [...]

Leave a Reply


About Web Dev Notes

Your one stop destination for anything and everything related to web development

Web Dev Notes Author(s)

Blogging Flair

New Media, Web 2.0 Channel Posts

  • 10 Ways to Make Sure Your SEO Goes Out of Its Way for You
    If they want to have success, companies should do everything they can to ensure that their SEO firm doesn't provide lousy service. Here are 10 tips to keep in mind: 1. Be realistic. Don't waste your [...]
  • Podcasting Transcription
    A Guest Post from Tishia Lee of Tishia Saves Time: When I first started offering transcription services as part of my Virtual Assistant business, transcribing podcasts was not something I [...]
  • Don't Dabble - Make A Commitment
    If you want to get the best bang for your buck, plan on podcasting for the long haul. Podcasters who “test” things out with one or two podcasts and then give up may think that they've given [...]
  • A Question of Podcasting Frequency
    This follows up on yesterday's post about not dabbling in podcasting but rather to make a commitment. Podcasting on a schedule is important when building a community and an audience. Don’t have [...]
  • Do You Twitter About Your Podcast?
    Whenever I release a new episode of Work at Home Moms Talk Radio is pop the link up on my Twitter and invite my followers to come check it out. This has brought me several first time listeners which [...]
  • Looking for Podcast Outsourcing?
    I mentioned having my podcast audio's transcribed in my last post. In case you wonder - no, I do not transcribe them myself. (Shudder the thought - I did enough transcription to last a lifetime in [...]
  • Business Podcasting Benefit: Be An Industry Thought Leader
    I often ask people 'Why haven't you started your podcast yet?' and a common reply is 'I don't feel like I'm enough of an expert to cover the topic I'm interested in.' Enough of an expert? [...]
  • Business Podcasting Benefit: More Content
    Building a business on the web requires that you generate a lot of content. Content on your website draws traffic both through search engines (people searching for your content) and through links [...]
  • Business Podcasting Benefit: Deeper Relationships
    A website visitor is just a website visitor. You can't really say that you have a relationship with someone who has only visited your website can you? But when the web visitor subscribes to [...]
  • Business Podcasting Benefit: Increased Market Exposure
    When you consider how many millions of people are walking around with iPods and other Mp3 players you have to wonder, wouldn't it be awesome if they came looking for you? Well they do. Ipod [...]

Hot Off The Press