QC4Web – management specs

I’ve just finished “QC4Web – technical specs” post, please refer to it if need be.

context

I’ve developed qc4web entirely on my own, without any external help. This was the deal. I simply wanted to prove myself that I create a profesional application on my own, and I did it. QC4Web is far more professional than 95% of all websites. => challenge was 100% technical

Now what? Now I know that I can develop, I have the skills. But I also know that it’s very long to do everything on your own and it’s not what I want in the end. But honestly I knew it, when it comes to technique, I am extremely good, almost nothing can stop me.
Now new challenge is 100% managerial: will I manage to manage people? This is facilenvoi story.
If yes, then realgood for me in the future, if no, then no good at all (I don’t want to code all my life…)

steps to do in any project

First, you must know where you go.

  • make a brainstorming, and list all your app. specifications
  • then prioritize them (knowing that when implementing, new features will come in any case)
  • then go in deep details with first priority items and recruit people.
  • for all these items, create tickets that developer must solve/implement, and make payment on this ticket perspective. Once one priority level has been dealt with, go to the next.
  • your job here is to supervise, ie. to ensure work is done, and done correctly (=> with new developer, review its code thouroughly, making suggestions, then spend less time on this and try to recruit sbdy else for another feature, or to go on sthg else too)

Once you know where you go (ie. the overall picture + the zoomed picture of first level) do the following:

Communication & design are key. Both must be dealt with at the very source of the project for it to be successful.

Without communication, information gets lost and project goes nowhere.
Without design, project does not look pretty, you do not want to work on it, you’re not motivated => project development is slow (yes, l’habit fait le moine)

Therfore, here are the steps that must be set first, with any project:

  1. create a wiki + make your email address known to all
    Wiki will be the common place to share ideas, where they born and may be will be implemented. It must be the living memory of the project
  2. create a ticket mechanism and use it for each new feature, bug and so on.
    Each time spent at work is done for something. Well this ticket will help you keep in mind the purpose of your current job (=> not to get lost on “why was I doing this?”) + you can comment your work
  3. create an svn repository (+ manage user rights)
    This is key! You never know what happens, files can be deleted, you may want to reverse to an old version because your development led nowhere…
    Important too is to always comment all your commits (make clear reference to corresponding tickets) and do not hesitate to create tags — ie. revision outputs)
  4. create a working environment that is testable within 3 minutes
    Necessary, you must be able to see your changes or update a version immediately
  5. Simplify debugging: implicit is worst than explicit (=> throw exceptions) + avoid all doublons.
    Make it possible to activate and desactivate debugging with a single variable (cf. config.ini with qc4web) + always output your debugging on a nice way (ie. <pre> node, with colors and so on) so that it’s easy to debug (debugging in itself is not easy so if you make it harder, you go nowhere)
  6. create design (even if temporary) with nice colors, fonts, size…. so that you do not need to turn your screen or mousewheel 50 times to see the information you’re looking for

Now: recruit!
The more we are, the greater things we can do

Post a Comment

Your email is never published nor shared. You're allow to say what you want...