2013-08-19

Tools that we need in a software projects

When running a project, there are lots of tools that we need in order make the project running smoothly and efficiently.

Knowledge And Asset Sharing

In a software project, knowledge is one of the most important things every one need to know. That includes the project requirements, frequently use information, KNOW-HOW and tips;
For asset, many software need many assets to build; For example, UI graphics, sound, text data, ..

My Tool: Media Wiki
Media Wiki a Knowledge Database; It helps to share specification, tips, requirements, team contacts, ...

Comments: MediaWiki is a really good stuff to share information and idea

Source Control

Source control is a very important things for programmers; It helps to share and collaborate codes with others and help to keep track of the code change history; Every professional programmers use Source Control.

My Tool: SVN and Will be GIT
SVN:
- The best choice of source control before GIT. Many developers still using it. Its concept is more simple than GIT but it is not good for users to branch and merge stuff.

GIT:
- The new fashion source control system and its design is really good

Comments: MediaWiki is a really good stuff to share information and idea


Project Management and Bug Track System

The management of a software project is complicated, many parties may be involved. So a PM tool is necessary to help different parties know their TODO list. This helps the project deliverable get done on time. Also, a bug track system is very useful to log the bugs, prioritize them and get ride of them based on the priority.

My Tool: Redmine
Redmine is a tool that help organize tasks and assigning to different people. It has the parent / sub tasks feature so that we can break down a big task to smaller one which helps easier to manage;

Comments: I use it to manage bugs and taskses; The team is more efficient because they what they need to do.

Conclusion:
To run a project successfully, unless the team size is less than two (solo team); The most important thing is not the toolset, it is the communication between team members; Therefore it is important to keep things simple, the more tools we adopted, this increase the complexity to communicate; Tools are helping team members to communicate and collaborate; Face to face communicate always be the best one;