Introduction Software Organizations suffer from a problem which is perennial in nature. It is “Tracking Employee Productivity”. Various checks are put in place to ensure productivity like
Employees filling Time sheet
But there are practical limitations with both these and thus these controls in my opinion may not suffice on their own. Let us evaluate one by one.
Filling in Time sheet What factors limit effective time sheet entry?
There is no automated tool to capture effort
The allocation of employee is not accurate
All Projects and tasks/sub tasks are not configured
Even if the above three are accurate the employee may not be entering it accurately. There is a tendency in employees to just select one activity and enter day’s 8 hours against it. One may argue that the manager has to ensure such entries are rejected. But managers would argue that “who has time to see all time sheet!” So essentially a very important tool takes in garbage data. How does it impact the organizations? Most of the organizations have adapted to estimation techniques like FP Estimation. Such an estimate is dependent of past effort data. Now if the data captured is garbage the estimated effort will also be garbage!! How to overcome this issue?
Recurring training of employees on importance of accurate time sheet entry
Recurring training of managers so that they can ensure valid and accurate data
Audits from PMO of the Submitted and approved time sheets. Identifying deviations, finding root cause and performing CAPA (Corrective Actions & Preventive Actions). Yes, we got to do this as we may do for defect analysis
Ensure managers do not have more than 15 direct reports. This will not only address time sheet issue but many more issues. It has been found that a manager cannot effectively manage more than 15 direct reports. An effective management can happen only when the manager can remember his direct reports names, what they do every day and their skill set.
When a manager knows his direct reports well (name, skill set, strength & weaknesses) it will be very easy for him to
Allocate proper tasks based on skills, strengths and weaknesses.
Set expectations with employees and track their performance
Provide effective feedback as they will have relevant data points
See, simply by focusing on effective time sheet submission we are not only addressing productivity problem but also performance management.
Tracking Attendance Why attendance is tracked. Apart from ensuring payroll activities this also may serve as an indicator of productivity. It may be argues that long office hours means low productivity. But is it that simple? Software development involves creativity. We face many problems and most of the time solving one creates another. So, we have to find solution which fix the problem at hand, do not create a new problem, they are efficient and effective. To achieve these developers need to spend time. As they gain experience time taken to resolve issues may reduce. But new technologies are introduced and employees are learning every day! How do we resolve this recurring problem?
Individual has to go through the learning journey. There is no shortcut here. We all have to learn and keep learning.
Learning must be documented. Yes, we must do this and share with teams to ensure we do always reinvent the wheel
Always check the knowledge repository when troubleshooting.
After spending a considerable amount of time on a problem ask. How would you decide this “considerable amount of time”? If you have delivery tomorrow you cannot spend full day to troubleshoot. You must ask for help. Shout aloud. If you have time and don’t have immediate delivery try out on your own for few hours. I would recommend not spending days to resolve on your own. The manager must know if you are losing time so that the overall plan is not jeopardized.
Create and maintain an environment conducive to share knowledge.
I would here touch upon a very crucial point of knowledge sharing. Many a time’s employees do not share the knowledge. They feel if they tell their tricks their value would diminish. This is very wrong. Why?
Sharing always increases your knowledge
By sharing you have chance to create your successor.
When you are sharing, you also learn new things and move up.
If you do not share and do not create your successor you will be stuck at the same position!
How can managers track their employees’ efforts? Answer lies at heart of each manager or lead. We got to spend time with the team to understand what they are doing. Know what your team members are doing. You got to spend time with them. You got to sit with them and understand issues and help them resolve. If you are a resource manager for a large team and you cannot sit with each individual then form groups and spend time with them. For folks in projects
Plan work using WBS and have clear deliverable for each of your team members.
Allocate tasks as per the skills and capabilities
Increase the toughness of tasks as you go along.
Set clear objectives and ensure understanding.
Track work against the deliverable. Follow PDCA to do your estimates. Again, you got to spend time with them.
Mentor the team for Time Management skills.
If employee is not allocated to a project
Understand the skill set and capability of the employee
Assign programs to write, sample projects to make, better use their available time to resolve any organizational IT / software needs.
Evaluate the assigned work. Yes, you got to spend time again with them.
Conduct training yourself or with other trainers.
In either case- follow Plan, Do, Check and Act and do continuous improvement. Conclusion Software Development is a creative process and all must have one mission and one passion i.e. Work with a Positive Attitude, keep efficiency and productivity in mind, keep learning and share knowledge. If you are a manager along with above create a positive environment which is conducive for sharing of knowledge and skill enhancement. Encourage peer training and peer reviews. By having the right intent and approach we can resolve such glaring problems.