Showing posts with label Best practices. Show all posts
Showing posts with label Best practices. Show all posts

Friday, July 22, 2011

Project Management Tools

There are several tools available in the market for various aspects of Project Management. I am sure there must be quite a few that you must have also used in your career span.
This post attempts to touch upon a few which have had a long standing reputation and manage to get the job done. Please comment on any ones that you use but do not see in the list below and your view points on why you use them or should be used over any others.

Several of these tools available in the market are sold on a per User/Project or Organization level licenses. There are some tools that are open sources. Some of the tools are used based on personal user preferences or are simply organizational choices.
Most or all of these are available as a web version for easy information sharing across teams and facilitate collaboration.


If i were to select a Project Management tool my decision would be based on the following objectives, The tool/s should be
1> Cost effective


2> Rich functionally

3> Good Support and Customer service

4> Intuitive and scalable

Listed below are a few Project Management tools by their areas of application

 Application LifeCycle Management

Application lifecycle consists to right from Project initiation, planning, execution, control and closure. The tool that serves most or all of these functional areas and has minimal need of other products integrations and plug ins and even if it does, can be easily integrated to the other product (e.g. Project Management tool integrating with a HR System or an accounting system etc)

There are several tools that are available for total Project life cycle management and are mostly used at the program level along with project level. They effectively support areas of projec planning, documentation, QA & Testing tracking, communications, scheduling, time tracking, resource management, content and issues management etc.

TeamForge Collabnet is one such complete application management tool that i have used which allows Collaborate development of multiple projects in areas such as 
Testing, QA activities, issues and Tasks tracking etc. This is a web based tool which is extremely flexible in terms of environments support, other tools and processes to be integrated in a project.


Project planning and Scheduling

Microsoft Project is a Planning, Scheduling and Tracking tool which i am sure everyone is familiar with and has used at some point or another of their career. The reason for its popularity and wide use is its simplicity of use and functionally rich and user friendly Interface.
This tool allows you to manage and monitor multi million dollar large projects to small initiatives ranging in a thousand dollars. Though on smaller projects i always prefer to use Excel rather than MS Project. As they say, why use a cannon to kill a mosquito.

MS Project allows you to plot scheduling and tracking graphs, charts, so you can run executive and Management reports and monitor your project progress and take corrective actions wherever necessary.
The only issue i have seen with MS Project is backward compatibility wrt files by older versions of MS Project

Time Tracking

WorkTime is a PC Productivity and project work time tracking tool. This tool provides various options and categories under which you can track your time. The best part of this tool is that it allows you to create reports which give you an exact picture of the time statistics you logged. Users will be able to successfully slice and dice the data by activities, tasks and projects.

Defects and Issue Tracking

There are several Defects, issues and bug tracking tools available in the market. I am sure you also must have used quite a few in your projects so far.
I found JIRA very helpful and user friendly.
JIRA is an Issues and a Bug tracking Software. It is a very customizable, friendly  and easy to use tool. JIRA offers a number of Plug-Ins for Time tracking plus Project Management.
Licensing cost and pricing are not too heavy. It is definitely a scalable and very secured system to use. 

Another tool which is definitely a strong contender to JIRA is ClearQuest from IBM Rational. It has all the features that JIRA provides. One strong advantage of IBM Clearquest is its very Intuitive user friendly UI


Conference and Messaging

Microsoft Sharepoint is another easy publishing and sharing tool that allows the entire staff/Team to update, upload and download documents on the fly with features such as check ins and checkouts to prevent accidental delete of files. There is also a version and user tracking history maintained to audit who changed a document when and why.
This tool also does a lot more than just content management. Sharepoint will allow you to share workspaces, dashboards and portals across Projects and Teams internal and external via MySites thus help in project and cross project communication and collaboration. It also allows you to search internal Documents and message other employees for communications through a central portal system.


ActiveCollab is another project collaboration tool used for Content and Document Management across projects. This tool allows communication and coordination across multiple Teams and persons like Microsoft sharepoint. This tool can be used across multiple projects and has very Intuitive UI, is easy to use and provides value for the money.
The only disadvantage i would like to point out is, this product is no longer free as it once was.

There are other tools in the market like GoPlan and Basecamp which are also very similar functionally to ActiveCollab and one tool may win over the other on some subtle points.

Costing and Pricing

WinCost is a Cost and billing tracking tool that allows you to enter and track cost and pricing details on a project. This beauty of this tool is it provides realtime reports and statistics on the cost effectiveness of a project. It has a vast library of accounting rich fetures that will help you enter your accounting details.
This tool will allow you to do write offs, reconciliations and other accounting adjustments.


Again, this is in no way an exhaustive or a very up to date list. It is something i have pulled together based on what i have used over time or have seen some of my colleagues use to manage their projects.
If you have some other tool suggestions that others may benefit, please feel free to comment below.

Tuesday, June 21, 2011

Project Management - Best Practices

What is the need for Best practices in any line or discipline of work? We can always continue to do things the way we have been doing and not look for ways to excel, simplify and innovate. But do you think this approach will take you far and guarantee long term success...i think not...For this reason we have to follow some best practices in what we do....

Best practices are a step towards project success and away from failures....There are a multitude of reasons why projects may fail. Following are the 5 key areas that are the root cause of any project failure - Customer satisfaction, Project scope, costs, Project resources and Time allocation.

There are certain finer points that differentiate a Good project Manager from...well, a Project Manager. Whether you are a first time Project Manager or someone who lives and breathes projects 24 hours a day, it is always beneficial to be a part of that distinct group.

Again, these are some ideas that i have found useful based on my past experiences. You may have your own set of principles that you can follow. But the bottom line here is, have some underlying guidelines that will succinctly identify you from the other bees in a swarm.

Plan and prepare

They say you should never stop learning. Learning, inquisitiveness, curiosity is what distinguishes a successful person from others.
Before starting out on a project learn what you can about the project. Make sure you have a good enough background on the Company, department and the Project in general. Identify the key stakeholders, their view points and ideas - Hold meetings to do this. Some organizations have a predefined project execution and management methodology they want you to follow. In some cases, you have the flexibility to decide on what methodology suits best.
All this will not only help you in managing your Project, but will also help develop more confidence.


Just the right documentation
As you progress, you will find that all projects are not created equal. There may be some projects, organizations where it makes sense and is probably the organization culture to have truck loads of documentation which ultimately no one reads or if someone needs some information, rather than sifting through the whole lot of information and wasting time, is better off asking someone who already worked on this project or perhaps pave his/her own way.
Other projects may prefer less documentation due to reasons like - Project relevance, Management methodology, project scope, timelines etc

So identify the documentation needs based on your project and follow them as the case may be.

Communication
Communication is the key for project execution. A Project Manager who is a hands on person and does not focus on Communication is surely destined for failure. You definitely have to hone, sharpen and continuously develop your communication skills. Have all channels of communication open - Phone, email, face-to-face. Communicate top down, bottom up, sideways when on a project.
Importantly focus on your "soft skills", this is the area which which has the potential to build or break your career as a Project Manager.

 - Have a pre determined and defined communication protocol set and make sure you follow it.
 - Have regular meetings with stakeholders and all other parties involved in the project.
 - Have regular Team meetings to get as much feedback from them as possible. Understand their concerns, bottlenecks, help to remove any obstacles in their path.
 - Discuss one on one with customers on a regular basis to gauge their satisfaction level. Is there anything you think we can do better? Is there something that you feel needs to be changed? Do you have confidence in our delivery approach etc?
 - Have one on one meetings with your executives, understand their concerns and perpectives on project progress and delivery on a regular basis.
 - Reporting more to senior management is better than reporting less.

Regular updating your project plans, risk and issues plan
A good project manager never shies away from risk and issue management. It is an ongoing activity throughout the life of the project. Keep your eyes and ears open for risks associated to your project cost, schedule, scope, resources and quality.
Work on and assign your day to day issues to your team members, track and manage the status by frequent reporting. Work with the Team to help them resolve the issues. Update your risk, communication and project plan on a regular basis.


These are just some of the obvious things that are important in managing a project. Following these will make you more confident in leading and executing your project. All this does not guarantee a project's success but will atleast give you enough confidence that you have covered your bases.
I am sure you must be having a lot more tricks up your sleeve based on your own experiences that ensure your project successes.

Thursday, June 2, 2011

Project Manager as a Business Analyst

Project Manager and Business Analyst roles both require unique skillsets and are definitely unique specializations. The well balanced combination of the two is a key contributor towards any project success.
Sometimes there is a need for the same person to assume both the roles. When Project Managers assume the role of a Business Analyst (One of the reasons for this may be a small budget project), there are a lot of factors that come into play due to this.

In all these years working in the Insurance IT Industry, i have seen numerous Projects suffer when the role to person matching is not perfect.
Reasons:
As mentioned above some projects may or may not have the luxury of a separate role for a Business Analyst. This may be due to varying reasons based on,
1> Overall Project scope
2> Project Budget allocated
3> Available resource knowledge base
4> Most importantly, no clear understanding of the difference between these 2 roles by the stakeholders and sponsors


When the Project Manager assumes the role of a Business Analyst, there are some things he has to keep in mind to ensure success in the role. This BA role essentially fits quite snugly in the Project Manager's domain due to the fact that both the roles require managing client expectations and having clear and concise client interactions. One role is focused towards successfully gathering project business requirements (Business Analyst) and the other geared towards entire project success (Project Manager).

Common factors:
The skillsets that are common for both Project Management and Business analysis are,
1> First and foremost is Communication skills

2> Understanding the entire the project lifecycle
3> Strong Stakeholder Management skills

Specific skills:
Skillsets that are specific to the Business Analyst role are,
1> Strong business process background

2> Understanding of Business analysis as a work function wrt gathering, analyzing and documenting requirements
3> Understanding people management wrt Business Analysis
Certain things to be kept in mind by the project manager when assuming the role of a Business analyst.
Success Factors:
 1> Being completely aware of the business processes
    For the Project Manager to be successful as a Business Analyst, he has to understand the business overall, the business process flow, the business value chain. Without the knowledge of these process areas, the Project Manager will not be able to meet the expectations for the BA role.
    You usually acquire this knowledge by working for a number of years in the Industry.
    For example: In my case, being in the Insurance IT domain, interacting with Business people for over 12 years now, gives exposure to all areas of Insurance business processes like Policy, Billing and Claims etc.
    Along with this, having a Project Management exposure is a definite plus, as it gives you the overall 360 degree view of the entire project gamut and thus helps streamline your thinking process.
   
2> Complete awareness of the Stakeholders expectations from the project.
   Since both project Manager and BA role both deal with stakeholders, there is a big difference between the 2 roles. One role is more concerned with the overall Project success by meeting stakeholder expectations (PM role), whereas the other role (BA) is more concerned with the business process expectations that must be fulfilled on completion of the project.
   You have to be constantly interacting with the Stakeholders so that you understand their expectations, pain points etc
  
3> Ensure the Business SMEs and End Users are aligned and aware of the project goals and objectives, the high level executive direction outlined for the project.
   As mentioned above, since business stakeholders, Subject Matter Experts, End Users may be aware of a specific area of project objective (i.e. Project will help in enhancing and executing XYZ business process in a shorter time frame and efficient manner), but it helps them to be aware of overall project objectives (e.g. Project will help achieve XYZ functionality more efficiently based on the requirements gathered in next 2 weeks and developed over the next 6 weeks duration for a certain cost and resource outlined)
  
4> Project Business documentation expectations
   Project Manager may be aware of the overall Business Analyst Role expectations from the delivery perspective, he has to be able to create Functional requirements documents, Gap documents, Use cases, UI specifications etc documentation as the case may be.
  
5> Help Quality and Testing Team in their analysis and Q&A
   Business Analyst along with the business stakeholders also has to be cognizant of the other members playing specific roles attributing to project success e.g. Quality Analysis Team, Process Management Team, Testing and infrastructure Teams.

Also last but not the least, Business analysts have to be somewhat of a Techo functional experts meaning along with understanding the Business aspects of the project, they also have to understand the technical dependencies, implications, risks posed by certain requirements and thereby come up with possible solutions alternatives. Business analysts are essentially bridges between the End business users and development Teams. They understand and gather the business requirements and translate and transform them to Specifications, use cases and functional requirement documentations which will make it easy for the technical developers to follow and design and code accordingly. These documentation will then also be used by the Testing and Quality Team so they can base their Test Cases and Test scenarios off them.

So in essence, Project Manager is more concerned or related to the big picture and the totality to complete the project, while a Business Analyst is more closer to the requirement understanding, gathering and documenting tasks.  Both the roles have certain commonalities and some differences, but it certainly helps in the project success, if the 2 roles have a good background of the other role and its expectations.
If the same person fill in for both the roles, the necessary and required skillset to guarantee the project success would be balanced combination of Project Management, Business knowledge, Technical background of the development platform used etc.

Wednesday, May 25, 2011

Earned Value Analysis

What is Earned Value analysis?
Understanding EVA (Earned value Analysis) is very important for Project success. Earned Value Metrics provide a common set of parameters and benchmarks against which a project progress can be mapped. This is mostly used during the Control and execution phase of the project. The metrics help indicate whether the project is on track or not.

Earned Value Metrics is a set of indicators that help in tracking and measuring certain parameters against a certain baseline which would help us in defining or visualizing whether a project is successful or not.


Advantages:
Along with this, other advantages of using Earned Value Analysis in project management are,
- Accurate  reporting of project logistics to PMO and project sponsors
- Early warning to Project Managers so they can take corrective actions by performing risk analysis, if a project starts going over budget or behind schedule


The 2 key elements that guide or help to trend a project are,
- Project Cost
- Project schedule

In order to calculate earned value on any project large or small, first the Project Manager has to define the WBS (Work breakdown structure), define the smallest level of activity schedule and cost and this forms the Project baseline (or planned value) against the project actuals (or AV) can be compared to calculate the earned value variances and indices.

Terminology:
Certain acronyms that will help us in understanding EVM are
PV = Planned Value = The Budgeted amount allocated for a certain scheduled work activity until the current point in time =Also known as Budgeted cost of work scheduled (BCWS)

e.g. For a web based project (say), we need to create a screen
This requires (say) 1 resource for 40 hours (@ $100/Hr), so the PV for this task is $4000 (for 40 hours of work)


AC = Actual Cost = Total Cost for the work that was performed=Also known as Actual Cost of Work Performed (ACWP)
e.g: In the above example assume it took 1 res 10 hours to complete 30% of the work
AC=10*100=$1000


BAC = Budget at completion i.e. Originally budgeted amount for the project i.e baseline cost
e.g. In the above case assume baseline cost is $4000


So based on this, we can track the project performance as follows,
EV = Earned value = BAC*Percent of Project completed=This indicates How much of budget should have been spent for the amount of work done so far.
e.g. EV=4000*0.3=1200


Cost variance = CV = EV - AC = This helps to determine project performance wrt cost/budget
e.g. CV=1200 - 1000 = 200 (NOTE: Positive variance is better than negative)


Schedule variance = SV = EV - PV=This helps to determine the project performance wrt schedule
e.g. SV=1200-4000=-2800 (NOTE: Positive variance is better than negative)


Cost Peformance Index = CPI = EV/AC= This index helps to understand how $ spent performs wrt planned cost
e.g.CPI = 1200/1000=1.2  (NOTE: Index closer to 1 indicates we are closer to baseline)


Schedule performance Index = SPI = EV/PV = This index helps us understand whether we are ahead or behind schedule
e.g. SPI=1200/4000=0.3 (NOTE: Index closer to 1 indicates we are closer to baseline)


Estimate at completion = EAC = AC + (BAC - EV) = Indicates what should be the final cost at any point in the project
e.g. EAC = 1000 + (4000 - 1200) = 3800


Estimate to Complete = ETC = EAC - AC = Indicates how much will it cost you to complete the project based on the current status
e.g. = 3800 - 1000 = 2800


They key concept here is how to calculate the "Value" of the work that is completed. There are various schools of thought to support this
1> Some consider 50% value reached when 50% of work is completed

2> Some consider 30% value reached when 70% of work is completed and then remaining 70% of value is realised when rest 30% of work achieved
3> Some consider 0% value reached till all 100% of work is completed

These metrics provide lot of insight as to the project progress. This can be mapped and managed using simple excel sheets provided we have the baseline calculated. This metrics analysis system will also account for scope, schedule changes and resource change. Those can be fit into the timeline

Friday, April 29, 2011

What is a Project?

A Project is an initiative, by definition is a temporary endeavor set to create a unique product or a service which has a defined start and end date, specific goals and conditions, defined roles and resp, constraints and risks etc.
Some people do not have a clear idea of what a project consists of. Project is not about setting up a bunch of repetitive Tasks and making sure that they happen. It is much more than that. True projects involves a unique effort (If it is repetitive, it is no longer a project), Projects have clearly defined objectives, have a defined lifespan or a one time effort.

Let's take an example of a Project and how it would be executed.
Again, every project is unique but it does follow some common standards and Guidelines, more or less

Digging a well is a project. It involves a predefined and a set Objective,
Objective - Dig a well so that it provides drinking water to a set of people (Stakeholders).
There are a bunch of people to bear the expenses for the well being dug (Sponsors)
There are a bunch of people who will dig the well (resources)
The well digging initiative will be managed by a person (Project Manager).

The activities performed by the manager will be something along these lines,
- Project sponsors come with a requirement ( Dig a well). They have a budget and an objective and a high level roadmap in mind (Provide water to group of people by end of next 3 months - Budget $5000)

- Project sponsors appoint a Project Manager who starts with meeting the stakeholders involved, sponsors to understand scope, budget, timelines.
- Prepares a Plan based on high level Scope understood, sets Milestones, plans resources, deliverables to be achieved/delivered.
- Prepares a schedule based on this High level plan.
- Gets resources approved, allocated for the project term duration
- Prepares a high level communication plan, risk analysis and management plan, configuration and change management plan
- Gets a sign off on the project charter, SOW
- Holds a project kick off meeting with all the stakeholders involved on the project.
- elaborates on the Project plan with the Project Team wrt identifying the work activities, schedule, risks, mitigation plans etc
- Team designs and develops as per the plan
- Regularly meets with the Team to identify issues, risks, mitigation plans/strategy, works on coordination and facilitation activities.
- Regularly updates the Stakeholders, Sponsors etc on the overall Prject status
- Finally project is delivered to the Stakeholders