Better appraisals with ALM solutions

In my industry, one of the most difficult experiences growing up was the appraisal process. Filling up 4 to 5 pages of a Word document was a test of English language – both for me and my Manager. I recall sitting with the Thesaurus to find synonyms for the same adjective, just to avoid being repetitive. My manager had the same challenge! As a result, it wasn’t a meaningful exercise for the most part. Don’t get me wrong – I am not saying that I did not get feedback for improvement. The problem was the scoring process that was quite ambiguous and vague.

This experience was different was when I moved to a Direct Sales function. In Sales, you learn quickly that you are as good as your numbers of the past quarter. No ambiguity, no ill-feelings. That learning stayed with me when I transitioned back to software development.

In my previous organization, I was introduced to the BSC model. Though it was a vast improvement over the earlier appraisal methodologies, the data necessary to adopt that model was still lacking! Hence, its effectiveness was also marginalized.

Here comes the value of a tool like Digite Enterprise. Let me share how we measure our development team. They are measured on 3-4 parameters. First, how did the quality of your delivery improve? We measure this by measuring the % reduction in defects, QoQ. Next, we measure on how long a defect aged in a developer’s queue. Further, we measure how many regression defects were introduced by the developer. We also measure Time Sheet compliance by measuring the difference between muster hours and time sheet hours + process compliance by doing sample audits. It is objective and measurable. With the deployment of a tool like Digite Enterprise where all defects and hours are being tracked, resource wise, this data comes out as a breeze.

The testing team is measured on Defect Containment and the quality of the Test Cases they write (measured by the number defects in their test cases). Test automation team is measured on test case productivity (measured as a percentile of others productivity) and the quality of automated test script (measured the number of defects in their automated scripts). Once again, because test cases and test execution run data is all on Digité Enterprise, this data is available with a few queries.

Our implementation team is measured on schedule and effort variance in their implementation projects. Similar goals can be easily be set for other organizations like Support because all tickets are being tracked on Digite Enterprise.

As a result of all this, we are able to finish appraisals shortly after the quarter end. Our employee frustration with appraisal ambiguity has disappeared. There are no perceptions of manager biases. Our appraisal discussions are done in 20-30mts. In fact, most of the discussion happens around tweaking the objectives for the next quarter based on what we plan for that specific individual for the next quarter.

In the last 20 years, my experience has been that if you limit the appraisal criteria to 3-4 objectives that the organization wants to focus on and can be quantified, the appraisal process is a pleasant experience for all.

10 tips for a Project Manager to get organized!

The obvious: a Project Manager needs to be organized – you have a higher chance of success! I have seen some Project Managers who are disorganized succeed on the strength of their personality. For the majority of us, it becomes important to be organized to deliver our projects better. Being organized comes at a cost – it takes time and discipline but you the long term payback is significant.

In most cases, being organized is a person’s nature. You either have it or you don’t! You can’t be organized at work and be highly disorganized at home (or vice versa). In other words, if you don’t have this skill and need to build this, you have to make that effort in all aspects of your life. If you already have it, then this blog is not for you! What I am suggesting below are some areas for you to first get organized in your personal life. Over time, as you start getting used to the change and see its benefit in your personal life, you will see the spillover on your work. You will respond to your management better and faster. You will have better data and will not be found wanting for information. So, here we go:

1. All personal records – we all do it! However, also preserve your appointment and promotion letters with their compensation details. I have been in interviews where I was asked my starting salary and how it progressed. It is an excellent yardstick on how well the person did at his job.

2. All financial documents – this includes all investment records, bank statements, credit card statements, insurance/pension policies, real estate documents, credit card receipts till you reconcile your statement, receipts of all major purchases and their warranties.

3. Build a labeled, sorted, filing system. Make sure your spouse is aware of where it is and how it organized

4. For the online guys, have a well structured document naming and folder structure. Avoid cryptic names. Use one standard convention for naming your documents. Imagine the situation when you are traveling and you do not have access to your laptop/desktop. You want your spouse to be able to email you that specific document. Date stamp file names in YYYYMMDD format – a file name sort will act as file name + date sort!.

5. Contact database – Almost every email system has something for Contact Management! Use it for your business and personal contacts. Make sure that you sync this with your smartphone repository. Have you ever lost your mobile phone? Keep a backup on Gmail or Yahoo mail.

6. Personal Finance – track your expenses/income/investments in MS Money or any other open source software like http://www.gnucash.org/.

7. Email – There are a ton of things that you can do on this front to be organized. Often, I have seen subject of the email quite unrelated to the content in it. Break that link. Keep a folder of pending transactions – emails that have not been closed and need some action from someone. I use my Inbox as the pending folder. You can use flags, tags, folders, etc.

As a Project Manager:

8. Organize your meetings and follow your action items to closure. Make MOMs religiously and publish it. An old fashioned trick is to get signatures of the attendees on a hard copy – it does miracles in getting their commitment on their actionable. Make sure that people see you following through on open items. Use a Project Management software – it will escalate for you when things are pending or not closed on time.

9. Never miss a Weekly Status Report. Once again, use a Project Management software so that this is a click of a button – not a 2hr Friday late afternoon/evening exercise.

10. Escalate issues, honestly and politely. If you do not do it at the right time, you will be later accused of napping. If you overdo it, you will be accused of making unnecessary noise. Timing is critical. No tool can really help you on this one…

In the beginning, doing all this will seem like extra effort. However, as these become second nature, escalations will come down, closure will happen faster and project execution will be smoother.

Strengthening Execution with ALM

We all are aware of the abysmally low rates of projects being delivered on time, within budget and with the desired quality. One of the most prominent reasons is poor Execution. Project Managers often are challenged with having to satisfy multiple stakeholders – their boss(es), customer(s), team members, auditors, etc. Consider the political and matrix nature of most organizations and you have a situation where he/she is being pulled in multiple directions, trying to balance between the opposing political forces.

Most of the time therefore, gets spent in trying to manage your stakeholders, communicating to them what they want to hear in a way they want to hear (so that they really “hear” you), escalating risks and issues in a manner that escalates the point but yet does not offend people, setting expectations of how the project is “really” doing, etc. In a reasonable size project in a constrained environment, this becomes a full time job. Activities like task planning, analyzing slipping tasks, tracking risks and their probability of actually happening, focusing on product quality, handling your team – tasks that the project manager should actually have been doing – get less time and focus. Depending on where the escalation is, the project manager is fire fighting one issue after another, running from one meeting to another! Before the guy takes time to breathe, the day is over… the entire environment is a high stress environment.

The irony is that because the Project Manager is not able to do what he/she should have done in the first place, the situation actually gets worse. Everyone is working 10-12 hours but the situation spirals out of control.

ALM tools significantly help you in getting the situation under control. They help the Project Manager by creating the WBS, inheriting risks from past projects or similar projects so that you do not miss out something that others experienced, tracking the project progress, getting real accurate status based on actual time sheets, building reports for different stakeholders with s single click, give the metrics that identify the right trend from the wrong trend, documenting MOMs and Action Items and tracking them to closure… the list can go on. This is 60-70% of what the Project Manager should have been doing but gets very less attention. Even when it does get the attention, it is done in a hurry or not in the right frequency. ALM tool restores this balance by automating almost 70-80% of these tasks. The Project Manager now needs to spend only 20-30% of their time on these tasks. This leaves him/her bandwidth for doing all the tasks that need proactive thinking, looking ahead with the crystal ball and trying to forecast potential problems or points of failure, do expectation setting with all stakeholders and spending time with their team members.

People sometimes complain about the high volume of cumbersome data entry. I keep reminding them of two things – 1. You would be doing 70% of these tasks today. However, it would be spread in multiple spreadsheets and documents. 2. If you really want to get data from the system on which you can make dependable decisions, then you do need to execute the project with granular, accurate, real-time data. The final result is quite worth it!

Are you still without an ALM tool?

In my earlier Blog, I asked the question on why ALM tools have not become a project necessity? Why are they not more “visible”? While I tried to answer some of the challenges, are you one of those still wondering if YOU need one? Let me give you some real data from our own example to help you decide…

Our code base is 1.4MLOC running on 2 databases, 2 app servers on 2 OS. That means 8 stack combinations, ignoring that we run on both IE and FF. Further, because we have many customers on old versions of the product, we maintain a minimum of 3-4 maintenance branches at any point of time. So, if you fix a defect on one branch, you have to replicate that across all other branches. How many hands-on people do you believe would be required to maintain this application with a steady flow of enhancements? If you did not know our strength, I would suspect that your answer is around 40-50. We do it with an average of 15 FTEs! If one has to look for productivity examples, I cannot think of anything better than that.

We maintain our Backlogs on the tool, we rank them and estimate them and then, depending on the capacity, determine how much we can do in the next release. That just defined our Release Scope! In all my past 20 years as a delivery person, that process has taken 4-6 weeks! We do it in a couple of days.

Once our Release Scope is defined, we execute our enhancements using workflows.

Our test cases, manual and automated, are all online. They are defined module-wise and graded on their importance. Depending on the impacted modules in the Release, we identify our scope of regression testing with a few clicks.

Test execution and defect tracking is all the system. We don’t have to maintain long lists in spreadsheets trying to build pivot tables on status, resource-wise, age, etc.

Our customers file issues that we convert into to defects or enhancements. Once again, we do our impact analysis on the system, review it on the tool with comments and then, assign it for coding and testing using workflows. When we commit our changes (we use SVN), we identify the defect or enhancement it is for and completely traceability is established automatically.

My experience is that organizations handling an application of this size would have 3-4 Technical Leads managing a team of 30-35 FTEs and a full time Manager. We have less than 1FTE playing the role of a Release Manager. We meet once in a week for 2 hours. That is the extent of Project/Program Management that we do. Rest is all online…

My CEO gets his full dashboard on the system, real time. No multiple versions from different managers, no data manipulation, no dedicated operations staff preparing Excel/Word reports on Friday evenings or over the weekend.

The results: we have made a release every quarter for the last 2 years. We have slipped once by 3 days. We have brought our defect rates down by over 30%. Of course, we have built a great team but without one integrated tool, we would have been in a mess, doing a lot of rework!

So, if you are not on an ALM tool, get on one! In 6-9 months, you can’t imagine building software projects without it. How many times do you handwrite a letter anymore?

ALM tools – why is their visibility limited?

I have often wondered what has prevented the modern day ALM tools from proliferating in the market place. Haven’t we all heard about an extraordinary percentage of projects failing? So, why have most decision makers in the industry refrained from procuring such tools? The answer is pretty simple – usage of such tools have not improved the success rate of these projects.

Any successful initiative is based on three dimensions – people, processes and tools. ALM tools fulfill the Tools dimension well. Unfortunately, tools are only as good as the people who use the tools or the processes that they choose to implement. Of the three dimensions, tools are perhaps the least influential in make a visible impact.

If the passion of successful projects is what drives companies ALM tool vendors, then I believe these are areas that cannot go unfocussed. Tool competency has to be accompanied by services that will help make Project Managers more successful as well as processes that will make the overall “package” more effective.

There are companies that have addressed at least two of these dimensions. They preach the methodology that they practice and provide the toolset built on that methodology. Companies like Miller-Heiman do this in the area of Sales practices. Rally, Thoughtworks do that in the area of Agile practices. Rational was perhaps the most successful company in preaching the UML way of doing things and selling the entire software that goes with it. There are examples of other companies having reasonable success focusing on at least two of these three dimensions.

These companies did completely miss out the entire Project Management space but lack of it has not been a strong negative. We will discuss that in a later topic.

There is one more challenge for generic ALM tools. A tool that tries to automate every methodology is, to a large extent, “generic”. It does not capture the essence of any methodology. It is a combination of screens, reports and metrics of every methodology. However, it’s UI and usability does not reflect the finer nuances of any specific methodology. Its training material does not capture the essence of any specific methodology. Its consultants do not speak the language of any specific methodology. It’s Sales team does not sell the spirit of any specific methodology. Last but the not the least, its users, who use the toolset, use in a combination of different ways, which is more often than not, a “confused combination” of different methodologies.

For now, most organizations in this domain have completely ignored the third dimension. This has been left to the combination of soft skill training programs and domain specific PMI training programs. One can only wonder how successful a company could have been that defines the methodology, trains Project Managers on becoming more successful with that methodology or other soft skills and provides the toolset to automate that methodology.

Of course, no business problem has one solution. However, this seems to me one of the critical missing links that prevents the “mass” adoption of ALM tools as I would expect.