Thread: Starting a serious project

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #15
    Registered User rogster001's Avatar
    Join Date
    Aug 2006
    Location
    Liverpool UK
    Posts
    1,472
    I've personally been working on a project (my biggest and most ambitious to date) for nearly 3 months now, and have yet to even really start coding it. I know that sounds kind of stupid, but the masterplan is much more evolved now than it was then, and I think starting code from the beginning would've been a mistake, seeing now how much it's changed just by the heavy research and brainstorming
    Quite. Its just too easy to have your idea, get fired up and race to the computer, start bashing out code, even if its just a bit of experimentatin you will as an avid coder soon get sucked in and develop on the fly,...because you can.
    Saying that I dont think it is wise to try and encapsulate every last detail, some things will only come out as part of the overall development process, that is the nature of project management. Do some strong preparation then at some point you just have to get your hands dirty.
    I have found that even with the simple ideas, if you let yourself include all desirable features then once fully realised and mapped out you can look at the findings and think 'thats going to be plenty of code'. And then other things about the scope of quality and testing should also begin firing off in your head, so you need to plan for those too.

    I think pen and paper is great, nothing code related at first, just kind of 'user story' based, I have found that I have developed a kind of note-to-self language I use when expanding ideas on paper, Its a bit like scripting or tags, I often have a line starting 'allow'

    Think about a 3d version of game of life:
    'Allow rotate and zoom'
    'Allow shadows on /off'
    'Allow seed cell activation by drag n drop in 3d matrix preview'
    'Allow random seed cell activation in 3d matrix preview'
    'Allow load preset libraries'
    'Allow user interface to design and texture cells'
    'Allow user interface to load / create background scene'
    'Allow sample preview of current graphics setup bkdg, cell tex, shadows on/off etc.
    'Allow user defined rules'
    'Allow pause , stop, continue'
    'Allow speed control'
    'Allow 2d visulation as an alternative'
    'Allow scene capture when paused'


    Then i have a ?? tag too if i am not sure if definitely going to build the feature in, perhaps if can't be bothered or is maybe not feasible or inappropriate In any case its something that is flagged for consideration.
    There is also the !? flag, where i know it is a nice idea and ranks more strongly as a candidate for inclusion, despite the extra work..

    '!? Allow random background creation - fractal terrain !?
    '??Convert 3d graphics settings into 2d approximations? or provide seperate options for graphics if 2d is selected??'
    '?? Allow record & playback ??


    These notes are usually mixed in with other branching 'tags' but in my head I can locate the 'allows' as clear action points for key ideas to work on and expand / investigate implications.
    Just looking at that list you can see there is work there, even when the algorithm itself is easy.

    I also think it is massively important to maintain a todo list, this again can be flagged scriptlike
    Bug hunting, record everything, use your console output in debug or write to a file to record all steps or whatever in each test run, then write this to your bugfile so you know exactly how to recreate (in a perfect world) add comment sections, your thoughts on cause and possible resoultions, severity. keep this updated, you will kick yourself if you need that information again and you did not capture it.

    In terms of marketing well its always good to try and identify your USP and then see how your marketing can be worked around that, if you have commercial knowledge then there are a number of market analysis studies you could go through to get an idea of where your product sits, and how well placed it potentially is.
    'protection..?' what is your strategy on protection? And this ties in with delivery, Are you going to sell through a third party process and use their 'protection'? Are you going to code some basic safeguards in yourself? how concerned are you about protection etc. This along with the building your install / access/ delivery method the right way is a whole additional piece of work.. In my humble opinion....

    good luck!

    PS given the previous posts i can see alot of this will be standard to you, but perhaps my contribution wil be useful to the more general reader, ta.
    Last edited by rogster001; 12-22-2011 at 06:23 AM. Reason: Side note
    Thought for the day:
    "Are you sure your sanity chip is fully screwed in sir?" (Kryten)
    FLTK: "The most fun you can have with your clothes on."

    Stroustrup:
    "If I had thought of it and had some marketing sense every computer and just about any gadget would have had a little 'C++ Inside' sticker on it'"

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. starting up a c++ project using visual C++ version 6
    By stanlvw in forum C++ Programming
    Replies: 6
    Last Post: 01-11-2008, 02:02 AM
  2. Thinking about starting a project??
    By code2d in forum Tech Board
    Replies: 17
    Last Post: 01-11-2007, 09:55 PM
  3. Starting a SourceForge project - need team members
    By ChadJohnson in forum Projects and Job Recruitment
    Replies: 8
    Last Post: 01-05-2006, 02:36 AM
  4. Editing the main dialog when starting from a VS MFC project?
    By Sfpiano in forum Windows Programming
    Replies: 3
    Last Post: 08-07-2005, 10:36 PM