Pages

Saturday, September 1, 2012

Important factor for successful software project

 Most successful software projects have two important factors:  A good software project manager and a highly skilled team in the domain in which they are working. Basically, they are all about people and their skills. Throughout my 40 years in software industry, I never encountered a software project that failed because of technical issues but I have seen many failures due to the “people issues” and this is one area that the academic people did not know well. Most schools only focus on technical issues but never prepare students to deal with the “People issues”.

The idea that technical people only work with computers is completely wrong. Many students think as long as they can code, they can do good jobs that is wrong too. As soon as students enter the industry, they will find that they will spend half of the time talking with other people: obtain requirements from users, discuss the designs, review how to integrate, debate on who would implement which function, analyze which module would do what thing, and who would manage the interfaces etc. They will learn that people have feelings and how they interact with them will determine how they can make the project successful or not. Everybody wants to be treated with respect, with courtesy and if they understand that how they want to be treated then they should treat others exactly the same. Eventually, they will learn that when people work so hard without rest, they will create defects. When people are too stressful, they will not think clearly and will make more mistakes. When people feel uncomfortable they will easily get angry and if they quit before project ends, the project will not meet the schedule.

Highly skilled people can overcome technical issues and make projects success but they can NOT overcome bad management. Bad management destroys everything. If managers underestimate the schedule, people will NOT have enough time to do good works and quality will suffer. If managers do NOT know how to manage people, the project team will have conflicts with each other and project will fail. If managers do not treat people fairly, the team will NOT work together well and arguments among team members will happen….etc. My question is how many project managers are trained in people management? How many project training have focused on “People issues”? How many university’s programs have courses in “People skills” or “soft skills”? If the school does not teach you then you must find another way to learn more about these skills.

Good project managers recognize the talent of their team and understand that the success of the project is depending on their people’s efforts. They know about project risks and how to mitigate them. Every software project has risks but bad managers do NOT know them or know how to prevent them. Because risks can occur anywhere and anytime, bad managers often panic then blame their people rather than understand the state of their projects. When people get treated unfairly, they get angry and productivity will decrease.

Successful companies understand the people issue so they are very careful in their hiring and only select people who can succeed in their work environment. During job interviews, they will focus more on teamwork questions and people skills than technical questions. They understand that most graduated students have a good technical education foundation so they do not ask about technical question. They know that, if needed people can be retrained in technical. But they would be careful with the personality, the attitude, the behavior because these characteristics are difficult to change. Most successful companies do invest in trainings, not just technical but also teamwork and “people skills”. People in these companies understand that their job is not just to deliver products but also to continually build capacity and work together to achieve a common goal: Make the company more successful.

Every company need people who understand their jobs and know how to apply their skills to build the software product. Every company needs knowledgeable managers, people who understand how to manage both projects and people, and who know enough about the business to make good decisions.


By Prof John Vu
Orignal source :http://johnvublog.com/?p=72

0 comments:

Post a Comment