- Distribute task among staff according to their strengthen and weakness
- Assign task to person with experience, interest or willing to accept challenge with confidence
- Align work and task with staff career goal for best result
- Don’t assign same staff to two projects in critical stage with intensive work at the same time to ensure project quality
- Provide guideline on design pattern, framework or best practice to follow, some available on internet
- Check against requirement, system and functional specification for detailed requirement
- List out important details in point or program specification
- Explain requirement in brief and remind critical area, such as enterprise feature, maximum concurrent user, performance & response time
- Remind staff not to miss important features, different scenarios and navigation path
- Reuse component or solution from other projects or teams if possible
- Check solution to similar problem on web, e.g. product site, development blog, group or forum
- Make sure to have overall understanding of library first before using specific Api to prevent misuse
- Discuss design approach with programmer, provide instruction, suggestion & ask for idea & opinion
- Study together better solution for implementation, e.g. faster data retrieval & display
- Discuss intended development approach with normal & technical user before final implementation
- Start earlier if involve specific new or unfamiliar technology
- Pilot test on core function especially different techniques & methods affecting performance, may apply down time for pre-production trial
- Check against sufficient data, at least 3 set that cover different scenario
- Check against different connection path if involve multiple server
- Write log for problem tracing and allow runtime on off by setting a flag on database field using system administration page
- Code or parameters should be set on system administration page
- Program setting should be stored in file such as properties using variable name, such as language
- Setting specific to different platform stored on server or configuration file, auto apply with no code
- Pay attention to security loophole on both client and server side, and protection on sensitive or privacy data by hashing or encryption
- Encourage reusable code in modularize design, such as library or microservice, latter could be implemented in any language staff familiar
- Provide check list against requirement for staff to verify if work done or not
- Ask programmer to prepare unit test case and provide test result, can be reused in SIT or UAT later
- Check if data is really stored or written down after code execution
- Check if any error output in log or on screen, many times reported error is caused by other errors
- Peer checking especially no experience staff that could provide feedback from normal user angle
- Perform code review by senior staff or supervisor
- Perform code scanning using popular tool but beware of many non-useful result, e.g. Naming
- Perform security test using popular tool to detect if any loophole
- Maintain different development version and only merge with production one when ready to deploy
- Before merge code to version control system, check if any hidden code by supervisor
- Black box testing by using different input combination or navigation path
- White Box sample check of code if any implementation problem
- Sample check every 1/3 time is passed on source and progress to see if any deviation
- Anticipate result & make corrective measure, could redistribute task
- Provide simple code comment to explain implementation logic or specific techniques use
- Training or transfer of knowledge to make sure 2 staff know the same skill
- Ask staff to estimate the development time with reference to time spent on every subtask before, adjust and then add buffer for better progress control
- Separation of development & deployment to prevent deployment of unapproved code to production
- Encourage staff to attend important training seminar or workshop provided by different companies to update skill
Categories:
No responses yet