You are on page 1of 7

Twenty Points for Effective Software Project Management

Author: Arun Jayaraman, Associate Consultant, Wipro Technologies

Introduction Software Project Management differs from other project managements in several ways. The Project Manager, like a captain on a ship, is ultimately responsible for the success of a project. The project manager, besides being the focal point for the project execution, is responsible for driving organizational initiatives and changes, and keeping the customer delighted all the time. Most of the software projects fail not because they are inherently complex, but mainly because of the poor project management. You can be a smart programmer capable of writing complex programs, but it is not enough for project management. The project management skills are quite different. It involves getting the work done by others, the way you want and yet making them feel happy about it. Challenges in Software Project Management Software Project Management is different from other disciplines or fields. Some of the factors contributing to the differences are listed below, and these factors complicate Software Project Management: 1. Working Remotely: At times, you need to work with people living geographically at different locations, whom you might not have met. This leads to a lot of communication problems. 2. Invisibility of the Final Product: Though there are intermediate work products in each phase of the software development life cycle, the end user and at times the developer are not able to visualize the final product through the various software artifacts. In contrast, in case of a bridge or building construction, the end user and the worker can actually visualize the final product evolving. 3. Knowledge Workers: Working with well-educated people is easy as well as tough. As the developers are smart and equally educated as the project manager, managing them becomes easy. It becomes more difficult mainly because of the knowledge level differences in a particular technology or domain where the developers may have more knowledge. 4. Technological Changes and Market Openings: The software developers have to continuously improve the knowledge level due to the technological changes. This, on the other hand, paves a way to them to acquire jobs that lead to high attrition rates, which ultimately lands the project manager in trouble.

Twenty Points for Effective Software Project Management

Page 1 of 7

The Best Practices This white paper presents 20 best practices followed in software project management to maintain a well-orchestrated team to create and claim sustainable values. The points mentioned here are not in any order of priority.
1. Customer Focus

When you encourage the team, definitely they will put in great efforts to come out with an excellent product that delights the customer. At the same time, you need to make sure that the team understands the pains of the customer and also the impact of bad products on the brand name of the organization. As this is a primary concern of any organization, you need to work on this activity constantly and continuously throughout the execution of the project. This helps you to sustain the relationship with the customer and also get repeated orders. Needless to mention about the good will and the references you get, when you delight the customer. Moral: Customers is the real boss; you need to keep him happy
2. Recognition

Nothing can motivate the developers to a great extent as recognizing the great piece of work done by them. When you recognize their work, they feel honored and important. It also brings in a feeling of belongingness and great satisfaction to the developers. The project managers can use email facilities and team meetings as effective tools to recognize people. You can send out an appreciation mail or praise the developer in the team meetings, which are within your scope. When you couple this with the recognition awards of the organization, it can do wonders as recognitions improve the performance of the individual as well as the team. Moral: Recognition is the greatest motivator
3. Communicating the Project Plan

Communicating the project plan to all the team members is as important as creating the project plan. You need to keep the team well informed about the plan so that they can visualize the bigger picture. Moral: Understanding the plan is the first step towards delivering a quality product
4. Strategy

You need to devise a good strategy to successfully implement the various aspects of the project plan. You might have derived a good plan, but still, if your strategy is poor, it can yield disastrous results. You as a project manager need to liaise with the architects and senior developers while framing major strategies. Moral: Strategy can mar or improve the effectiveness of a plan
5. Suitable Methodology

It is highly important that you need to be careful while choosing a proper methodology for the project execution. A process life cycle, which is an excellent fit for a project in one area or domain, may not fit in other domains or areas. Moral: One mans food is another mans poison
Twenty Points for Effective Software Project Management Page 2 of 7

6. Business Functionality

You need to ensure a good understanding of business functionality among the project team. With all the technical knowledge in this world, one may not be able to beat a person who has good functional knowledge. That explains the importance of having good functional knowledge among the team. You as a project manager need to ensure that the due diligence documents are constantly updated to reflect the knowledge gained during project execution. Functional Moral: ^ Knowledge is power
7. Project Review Meetings

A weekly/fortnightly Project Review Meeting is very much required for a project. Besides helping to keep track of the project execution, it helps in keeping the team focused. It makes each and every member of the team know what is happening in the other part of the project, which is required to understand and visualize the project in bigger picture. You can share all the important and significant organizational changes/initiatives in the meeting. You need to ensure that action items are noted and recorded in the Minutes of Meeting (MOM) document and tracked to closure. If you look at this meeting as more of information sharing and execution point of view, rather than as a statutory requirement to comply with Quality Management System (QMS), you can benefit more out of it. Moral: A map is of no use if you do not know where you are
8. One-on-One Meetings

Unlike the Project Review Meetings mandated by the QMS of the organizations, a one-on-one is very special in its kind. The purpose of one-on-one meeting is to create a continuous learning environment, which is very much essential in the software industry. One-on-one meetings build trust between the project manager and the team members. Since it is on a one-on-one basis, the chances are more for the team members to freely share their views, discuss issues, and express concerns in an open manner. You can understand the concerns of the team members and resolve them at an early stage through these meetings. You can effectively use these meetings to groom and mould the team. Instead of waiting until the end of the year to do a formal annual appraisal and give the review feedback, the project manager can take the one-on-one meeting as an opportunity to give informal feedback to the team members about their strengths and possible areas of improvement. Since it is not a formal appraisal, chances are very high that the team members will respond to the feedback in a more positive way and would discuss with keen interest to improve their strengths or overcome the shortcomings. On the other hand, it provides the project manager an ample opportunity to assess and gauge the team members work on a periodic basis and encourage them to learn or improve continuously. It is human psychology to work more to achieve a goal when there is a sense of urgency. For instance, the students at college study with all sincerity just before the examinations. As it is true at work places too, you can utilize the one-on-one
Twenty Points for Effective Software Project Management Page 3 of 7

meetings to create the sense of urgency. You can set short-term goals to team members in one of these meetings and evaluate the progress in the subsequent meetings. You can also use these meetings as an opportunity to drive the organizational changes, though that is not the main purpose. The success of a one-on-one lies entirely on the way it is conducted. You need to conduct it in a totally informal and friendly manner, of course without losing the focus. Care should be taken to make sure that no unrealistic promises are made to the team members to fulfill their aspirations. You can conduct these meetings regularly once in a month on convenient days when you are free from your routine activities. Moral: Run as fast as you can, just to stay in place The Red Queen in Alice in Wonderland
9. T-Cons

In this industry, often we work with people who are geographically apart. At times emails create two islands of people communicating over a sea of misunderstanding. This, besides distracting the environment, creates an unhealthy atmosphere. Teleconferences (T-Cons) between onsite and offshore parties help eliminate most of these communication problems. You can use T-Cons to communicate effectively with your customer and build mutual trust with them. It is a good practice to include the entire team in T-Cons whenever possible. This brings all the team members to the same level and also, helps you to groom the team indirectly in communication skills. You should prepare the MOMs at the end of every call and send it to all the participants to ensure that every issue is understood in a proper way and track the issues to closure. As a thumb rule, one should not get onto emails unless otherwise warranted. Moral: Voice is better than text
10. Encourage Finding Bugs

You need to encourage your team members to find as many defects as possible in the work products. Earlier they find, the cheaper it is to fix. Concerns regarding linking of defects and performance appraisals are to be removed as otherwise the team members might hide the bugs. Moral: A stitch in time saves nine
11. In-House Trainings

When at school, we tend to go in for private tuitions mainly because we get a special or an individual attention, which we do not get in our regular classes. In a similar way, when you arrange training specific to the project in hand, you make the team happy, contained, and more valuable. This will certainly improve the performance on the whole. You should arrange these trainings in addition to the compulsory hours of training arranged/required by most organizations. Moral: Trainings make men happiest in themselves also make them most serviceable to others
Twenty Points for Effective Software Project Management Page 4 of 7

12. Knowledge Sharing Sessions

Transforming tacit knowledge into explicit knowledge is a key challenge in this industry. You can arrange Knowledge Sharing Sessions to achieve this to a large extent. The benefits are many. The team member who makes the presentation improves on presentation and communication skills besides sharpening his knowledge. The other team members, who participate, gain something new that eventually satisfies their thirst for knowledge. The project and the organization gain a knowledge pool and the knowledge is retained. The team members go out of the room with a larger perspective and can think broadly and crack problems in a better way than before. Moral: Knowledge not shared is knowledge not discovered
13. Knowledge Repository

You need to build a project specific Knowledge Repository and give access to all team members. You can place Technical and Functional Documents, Best Practices, Lessons Learnt etc, in the repository. It not only helps in retaining the knowledge gained in the project execution but also helps in reducing the time one needs to spend with new team members. Moral: Repositories are like sculptures that are immortal
14. Job Rotation

You can implement a job rotation policy. The policy involves interchanging the activities of members. For example, rotate the activities of team members between coding and testing. This makes the team members get a chance to learn all kinds of activities and also, help them to see the problems that crop at various phases of the software development life cycle, which in turn help them to do a better design next time. You can also do job rotation between offshore and onsite. This helps the organization to reduce dependability on a developer and also cater to the onsite aspirations of the developers. Moral: The less routine the more life
15. Job Enlargement

You need to frame skills matrix for the project. Every team member should be associated with two skills; one primary and one secondary. The skills can be from areas of application where one works, technological, or functional. This is a kind of backup building mechanism. Even when a primary team member is absent, the work will not be disturbed, as the secondary can always take it over smoothly. From the developers point of view, it helps to learn multiple skills and makes him more valuable. While framing the matrix, you need to ensure that every team member is associated with two kinds of work and also each kind of work is associated with at least two team members. However, care should be exercised while choosing the primary and secondary, it should not be violating the security requirements of the organization. For example, it may not be a good idea to keep an application developer as the secondary for Database Administrator (DBA) kind of activity and give access to all production systems. Moral: Enlargement is a win-win situation-creates redundant skills, not people
Twenty Points for Effective Software Project Management Page 5 of 7

16. Job Enrichment

Some developers might be interested to do a particular type of work for a longer time and gain knowledge in that field. For example, in a typical Data Warehousing environment, an Online Analytical Processing (OLAP) report developer might want to work in OLAP side for a longer time instead of switching over to ExtractionTransformation-Loading (ETL) side. In such cases, the developer should be given an opportunity to continue to focus in that area as this helps the organization create Subject Matter Experts (SMEs) in the long run. Job enlargement can also be done by assigning additional functional areas to these kinds of developers. Moral: Jack of all, Master of none. Know one, Know All
17. Work/Life Balance

Making people work all through the nights needs to be avoided. Rare events and emergencies are fine, but it should not be a regular routine. Projects where efforts are underestimated results in requiring developers work long hours. There are some managers who feel that it is the responsibility of a team member to stay a minimum of 14-15 hours a day. And if a team member leaves by 11 or 12 hours, they feel that the team members are leaving early, though actually they are leaving late. This practice should totally be avoided as it affects the work/life balance and negatively motivates the team. And also makes the developers look for other projects and in the worst case, look for jobs outside the organization. Moral: Lead your team to work smarter, not longer
18. Leeway/Freedom of Thought and Execution

Developers need to be given opportunities to express theirs thoughts freely. This helps in bringing out the creativity within them. From the management perspective, operational leeway and freedom should be given to the project manager and should be empowered to take certain decisions independently. Moral: Freedom ensures expression
19. Awareness of Policies and Procedures

Most of the mistakes committed by the developers are because of lack of awareness about the policies and procedures among them. The project manager needs to ensure that the team members are well aware of the policies and procedures of the organization. This brings in discipline, and also ensures that nothing can be deviated from the organizational standards. You cannot create the awareness in a day or two by arranging a seminar or a session, but through continuous effort. You can disseminate information through emails, publish the documents in the company intranet and encourage the team to read them, talk about the procedures and policies during project review meetings. Moral: Policies and procedures are the road map to the mission, create awareness

Twenty Points for Effective Software Project Management

Page 6 of 7

20. Team Building

Team building activities such as having outdoor exercises, which includes bringing external consultants for harnessing team camaraderie, are very important as they bring greater synergy in the team. Many organizations have realized the importance of this and they allocate funds on a quarterly basis for the same. Moral: Teams that dont bond cant build Conclusion Software Project Management is not a simple mathematic, it requires multifaceted skills and a passionate leader. Just a passionate leader cannot do wonders; you need to build a team that has passion to do things. A well motivated team can delight the customer and earn good name and fame to the organization. The best practices mentioned above are proven methods in effective software project management. As an effective project manager, you can choose a judicious mix of the points and implement them to yield results. A person who develops better people to work is a leader. About the Author: Arun Jayaraman is an Associate Consultant at Wipro Technologies. He has rich experience in successfully leading software project teams in various technologies. His areas of interest lie in software project management and data warehousing. He holds a Masters degree in Computer Applications from PSG College of Technology, Coimbatore and is currently pursuing his Post Graduate Diploma in Business Administration from Symbiosis, Pune. He has worked for Satyam Computer Services Ltd prior to joining Wipro. For any queries or suggestions on this white paper, please contact him at: Arun.Jayaraman@EmailAccount.com

Twenty Points for Effective Software Project Management

Page 7 of 7

You might also like