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.

Friday, July 8, 2011

First Time Project Manager - Steps to execute a project successfully

You have been appointed as a Project Manager on a very prestigious project and you want to make sure you do everything right, so there are no goof ups. At the same time you also feel that big churn in your stomach that says 'What if i get it wrong.....'

This article will try to address those concerns and talk about a few logical steps that can ensure you success not only for this project but for the next ones that come your way....It is as they say, well begun is half done.


Prerequisites
For any project to be successful, the onus lies on the Project Manager, he being the main coordinator, leader and the manager of the project.
Some projects succeed by the grace of god, but we will obviously not talk about that. We are talking about what steps a project Manager has to follow in order to succeed. Certain pre-requisites that need to be taken care of, by the project manager are,

1> Confidence
As a Project manager you have to have confidence in yourself, in your mannerisms and the work you do. Your attitude should be confident. Confidence goes a long way - it helps builds trust in the other party about you as a person and the work and skills that you bring to the table.
One uinversal truth is Confidence grows with experience. The more projects you handle, the more confident you are.


2> Knowledge
Be extremely knowledgable about your subject, of the project ins and outs, about project management as a methodology and its concepts. Know about the dependencies of the 5 cornerstones of any project - Customer, Quality, cost, resources and scope. Know about the Project Phases - Initiation, Planning, Execution and control and closure. Know about all the process steps involved in each phase.


3> Tools and Templates
Be armed with the tools and techniques that will help you execute the project successfully.
For instance - MS Project for Project planning. Templates for Risk Management, Communication Management, Issue resoultion, Status reporting Templates, budgeting and estimation templates etc. Know about tools like Sharepoint for Content management, Visio, MS Office etc.


4> Organization
Be aware of the organization that you will be working with, the org hiearchy, their business model, the culture, stakeholders, people, the management methodology used etc.


Steps for project success
1> Preparation
Make sure you have taken care of the prerequisites identified above. Right at the beginning of the project try to gather as much information as you can. Let the information be incomplete, but add it to your knowledge base.
Make sure you identify and set meetings with the project sponsors and stakeholders. Understand the project objectives and goals that they have in mind, understand their expectations from you, the team and the project.

Plan and understand the high level Project Scope, Cost, Timelines, Resources needs (If identified).
For example, If resource needs are not yet identified, then discuss those in details wrt skillset and specialities, years of experience, time lines required, Interview the resources and understand their expectations and needs.
Discuss how the project can be beneficial for them. what new technology, skillsets and knowledge that they can gain from the project and If they have any issues wrt timelines, work areas, identify and try to match them with project needs where you can. Plan for regular outings, meetings, get togethers with the Team so that they get to know each other better.
Check whether the organization has its own project execution methodology and ensure that your project complies to the standards and procedures set. Have your set of document templates ready that will need to be used in the project.

Do similar plannings with your stakeholders.

2> Project Kick off
Once all the above is done. Prepare your high level Project plan/Project charter. Here identify all the items related to Project timelines and scope, risks plan, communication plan, resource hierarchy - roles and responsibilities etc. The Project phases and milestones, processes related to acceptance criteria and sign offs that are all agreed upon by all parties.

Prepare an agenda for the kick off meeting (Preferrably a PPT and share it with the entire Team before hand)
Keep the Kickoff Meeting to the point. Discuss agenda items, introductions and identify the project objectives and expectations right at the beginning.
Have question and answers session at the end and identify, if there are any take away, action items identified


3> Project Planning and requirements gathering
Now that the kick off meetings are done and all the stakeholders are on the same page wrt the high level plan, start planning for the requirements phase. Prepare  the agenda, End user attendees, expectations from each role.
Start planning and mapping out the project risks right from the beginning of the project. Meet with your Team regularly (based on the communication plan) and update your risk plan and project plan accordingly.
After the requirement sessions are done, prepare the requirements documents, Gap analysis documents. Work with the Develpoment Team and prepare the design docs


4> Communications
When everything else is going on, make sure you have a regular frequency meetings with your Team, the stakeholders, PMO so they get regular updates on project progress. You also need the buyins, responses to any issues that may need some intervention.
Have one on one meetings with your stakeholders to get a feel on their view of project progress. It may happen that you feel the project is on target and everything is good. But the stakeholders may have some issues.
For instance: You are working on a Insurance Policy Systems ID Card Bar coding project and you feel you are in line with the timelines identified. But the Stakeholders and end users may not necessarily be in the same happy state as you. They may have concerns wrt QA, final end user, Vendor (DMV) testing etc.
It always helps to have a one on one with your stakeholders to get their perspective on the project progress.


5> Development and Testing
Make sure you have regular meetings with your Development and Testing Teams. Work with them if they have any concerns.
e.g. a certain Policy integration project, requires a third party spell check software and will also need an upgrade to the application server. This can only be known to you as a project manager if you meet your Team regularly and then meet with the necessary parties like PMO or Infrastructure groups, QA and testing and see how they can help resolve this in a timely manner.
Keep the executive board in loop on any issues such as these so they can help you in escalations and timely responses.


6> Closure
The development and testing phases Are complete. You have had enough of Dry runs, End user testing, System, regression tests and defect resolution sessions, the project is finally ready for deployment.
Make sure all the acceptance crteria are met and signed off and have also identified the post production support plan.

A few weeks/days after deployment have a session with your Teams and prepare a lessons learned doc to identify the problems you faced during the projects and what could be done in a better manner the next time around, so the future Teams gain from your knowledge.
Make sure all equipment, material, documentation is completed and returned to the PMO or the IT Group after completion


In all, these are just some high level steps that you will need in any and every projects. Some projects may not go into great level of detail in all these steps, but it definitely helps to know these steps as it will help streamline your thought process and help you achieve success.

Do let me know your comments and feedback, if you liked the article and any points that you feel need mention or anything that you do or would do differently than what is identified here.

Monday, July 4, 2011

Technical Manager

What is a Technical Manager?
I often see Managers branded as a Technical Manager or a People Manager or a Coordinator or a Business Manager.So what exactly is a Technical Manager?.

A Technical Manager is usually a person who has worked in the Technical Domain and is a master of his skillset, knows his stuff like the back of his hand.
He is a well rounded individual with great Technical prowess as well as Management skills.
Focus of his Job profile includes Technical aspects of Project execution i.e. he acts as a liaison between the business teams and the development, QA and testing groups.

What would a Technical Manager do in a P&C Insurance Policy or Claims System implementation?
The Business Analysts have interacted with business and documented the requirements, now it is the job of the Technical Manager to understand and translate these requirements to proper design documents, Identify risks and mitigation strategies, Test plans, test cases and scenarios with the help of the requirements, development and Testing Teams. He is wholly responsible for the design, execution, control and monitoring phases of the project.
There is also the people aspect i.e. resource management, stakeholder management activities that require strong communication and soft skills. A Technical manager has to have these qualities to translate technical issues and topics to non technical stakeholders and get their buy-ins.

This point needs a mention here as Technical people are known to be less 'people friendly' and are more aligned towards a silo-work or are lone rangers as that, because that is how they must have worked during their pure hands on development days, the Technical Manager role requires you to be someone more than just a Technical expert.

Roles and Responsibilities
So at a very high level the roles and responsibilities of a Technical Manager include,
 - Help identify the correct standards, procedures, tools and techniques to be followed in a project so as to benchmark and track the project progress
 - Help identify the correct resource pool based on their strengths and weaknesses for requirements, development, testing and QA etc
 - Help identify the configuration and change management procedure and ensure adherence to the same.
 - Help in properly guiding teams in requirements, design, development and testing phases.
 - Help identify the risks and issues associated with a project and plans to mitigate or resolve them.
 - Plans for code reviews, testing plans and strategies as per the project standards set
 - Help in System, user, regression testing and post production support activities.
 - Lastly, monitor and control the project financials, so the projects stays ontime and within budget and within scope.


What makes an effective Technical Manager?
To be an effective Technical Manager
1> Strong Technical skills
Make sure you know what you are talking about. Be knowledgable about the Technical aspects of your project.
  - Your Team members will respect you either for your Authority (which will not last long if you do not have the command over your Technical skills) or they will respect you for your 'Skills and Technical' knowledge - make your choice
 
2> Good communicator
Like i said before, your Technical development and Tech guru background will only get you so far. To progress to the next level, go up the career chain, you MUST have this one skill. As a Manager you will have to interact with different folks. e.g.
Stakeholders like the policy underwriters, Claims Representative, Financial executives, operations personnel etc.
Project Teams - Requirements, development, Testing, Infrastructure etc

This communication skill is a definite must because
- Internal development Teams will need to communicate with them about the development topics, milestones, issues faced, propose and discuss resolutions etc
- Stakeholders - To communicate the project risks and status items. To negotiate and get buy-ins on project topics etc


3> Good TeamPlayer
A project is as successful as the Team. So first and foremost, the project Manager has to ensure he has selected an effective team. The team is on mark with their deliverables and development and testing schedules. In case of any issues - personal and professional, you will have to work with the team to iron the issues out. A Project Manager has to be a strong influencer for his Project Team, there has to be a level of trust and understanding between the two.

Technically make sure the team follow the project standards and guidelines. Ensure that there are sufficient rewards and recognition, reviews and appraisals occur throughout the project. Ensure that there are some morale boosting activities like Team building workshops, team gettogethers
All of this is not possible unless the project Team works together.

How to progress your career as a Technical Manager?
Some of you may have got to this position as a part of career growth path or some may have been taken this option as an alternative job path. Whatever the case may be, make sure you perform your job sincerely and effectively.
All of the above points, not only help you be successful in your project, but they will also help you be a better Project Manager in the long run....What do you think? Let me know your thoughts and comments.....