Wednesday, 24 April 2013

Software Dev Task Priority

It seems quite an old topic but why I feel it becomes important because as the project scope are spreading,  there are lots of exciting targets and goals to be achieved and sometimes it confuses team members what is the next right thing to be.

Below is one priority list

1. Find and list the next right things to do;
2. Software Correctness;
3. Quality-controlled release delivery;
4. Flexibility and maintenance;
5. User Friendly and good User Experience;
6. Performance.

The importance can be different as the project goes on. It requires the leader to realize the status around, holding on the target, pointing out the most possible valuable features to be done or eliminate/resolve the accumulated problems during the previous project stage.

Each progress should pay some credit to refactoring, eg, setup automation QA tools, building progress refinement or interface refactoring.

Anyway, just think you are driving: you have a clear destination, observe the environment around, control the steering wheel and check or fix the flaw in the car before it brings threat to the safety.

Wednesday, 17 April 2013

One refactoring technique

One code like:
Logic 1, logic 2, logic 3 calls super logic. The patch on super logic will impact all of the caller logics. And only logic1 needs to be considered. How to fix?

Flat the super logic on logic 1 and make fix on the flatted underlying super logic. In that case, the fix won't affect logic 2 and 3.

Monday, 15 April 2013