Wednesday, February 2, 2011

What may speed up development?


Development speed is what most business is looking forward.
As business client expectation changes, business system have to change according to business requirement from time to time.

Most developer seems to forget about maintenance of existing projects. This is also the same case for most project managers and bosses.
And development doesn't just count new projects and add-on features, but developer should consider detecting "smelly" code and make the code easy to debug.

Unit testing is critical in creating a more stable code. Each time new features is added in, the code shall be tested through series of unit test to ensure existing functionality behave accordingly (as of before add-on or change).

Every developer should consider easy maintainability of their project.
It shall be easy to backup, easy to restore, easy to detect bugs, easy to read code, easy to detect problems or exception.
All these "easy" doesn't come easy to accomplish.
One may consider doing:
  • automated backup of database and site;
  • write brief and useful comments in code;
  • separate "god"-like functional code into parts;
  • write testunit for every functional part of the program;
  • automate background process to cleanup old or unwanted data like logs;
  • automate touch and undo unit-test processers;
  • automate warning message to notify developer of exception and errors;

Here are several things which can be use in most projects:
  • TestUnits for:
    + Date and time zone check and notification
    + Environment requirement check

  • Background processors:
    + # of requests check in a minute
    + Logs reports generation
    + Automated remote update
    + Database rows / size check and notification
    + Database integrity check and notification

  • Maintenance utilities:
    + Server-client communication library
    + Site database copy to local machine
    + Online site and users monitoring
    + Site reports: page count, exceptions, logs
    + Site files download, deployment and updating
    + Site version control and remote updates
    + Framework version update check



No comments: