Thursday, January 3, 2013

Successful Project Definition

I remember many years back i was on a fix schedule, T&M project with a large scope, it was a Mid Tier Company Claims System implementation and we had reached the project closedown phase and the end product had been finally delivered to the client followed by a month's warranty and post production support. The application was in Production for over a month and we, as vendors were all ready to wrap up. Then we got an email from the Client CEO saying they did not consider the project as closed as there were 3 functionalities not yet delivered, the service time was less than expected and the quality of the software delivered was sub par.
What went wrong here? Let's see...


Definition of Success
Everyone wants their project to be a success. But How do you define success? Is it when the developers have cleared their desks? Is it when the Deliverable is handed over to the Client? Is it when the Project End date is reached? Is it when the last Invoice is cleared? Is it when the product delivered meets defined quality standards and criteria? Or is it that the project was on time and within budget?
A Project has multiple stakeholders. Fact of the matter is, everyone has a different definition of Success. Every stakeholder looks at the project from his/her point of view and thus defines success from their looking glass.
Project success definition has to be a collaborative effort. Both the client and the vendor have to have a common goal defined. At the very onset of the project, it is the responsibility of the Client Organization to have a clear and tangible vision of what defines project success for them. The definition should be in measurable and understandable terms i.e. in terms of KPIs, SLAs etc
e.g For a Policy and Claims Processing web application,
- 500 Concurrent users access the System at Peak load with zero down time
- Page load time should not be more than 2 secs at peak.
- System should be able to process Intake, Adjudication, Salvage and Subrogation and search functionality for a claim without any errors.
- Intake functionality processing should take no more than 30 seconds...and so on....


Collaboration
Once the success criteria are defined by the client, these should be discussed with the Implementation vendor. The vendor's job is to completely understand and analyze the success definition. He should prod and question the client for any issues or clarifications because ultimately he is the one, who has to deliver on those. If there are any client dependencies that would need to be satisfied for the project to be delivered those have to be implicitly added to the SoW so everyone is on the same terms e.g. Infrastructure requirements, software, Licenses, Third party vendor relationships etc. Once all criteria are mutually agreed upon, it should be an integral part of the SoW (Statement of work).
Success criteria is also important for defining project milestones. This helps the sponsor and executive team track the progress of the project. This helps the project Manager take corrective action in case there are some ups and downs in the project during execution phase.
Ensure that the signoff requirements, Team responsible for signoff are also defined.
Success at each stage of the project has to be shared with the Team so that they are aligned with the Progress and know that their contribution to the project is what makes the project a success.


Relationship
Lastly there is a criteria that i think to be very essential for a project success and that is relationship. The type and level of relationship fostered between a client and a vendor defines success or atleast the perception of it. I have worked as a consultant with clients where i knew that the client could have been more rigid and firm when it came to finally signing off on a project, but because the client knew our work quality, dedication, efforts and the amount of energy we had spent in understanding the business, requirements and scope, he is also ready to let a few things slide off.

So to summarize,
Define entry and exit criteria that would make a project a success
Have tracking mechanisms in place to make sure the criteria are reached
Keep all the stakeholders and Team members in the Loop during each phase of project.


So the Key to a project success is meeting and exceeding client expectations.
Let me know if you all agree or if you hold a different view to this.

Wednesday, January 2, 2013

First Day

Well begun is half done...
You just completed a plush assignment or maybe its your first job....or maybe It is your new assignment on a new job whatever the case maybe, i am sure everyone in their career, has been there sometime.
Especially  if you are in the consulting world like me, you will see a lot of "First Days on a project or in a new organization"

My approach to this first day has changed a lot over time...here are some thoughts related to that....
Remember when we were beginning our life's journey as 3-4 year old, our parents held our hands and took us to a pre-school, Pre-K, Kindergarten, first grade etc....and then when we grow up, more experienced about schooling, we planned our first days to college, who do we meet there? What to wear?, How to walk, talk etc.

Then comes the professional world...here again initially we are in the blank and need some hand holding, then we turn deft and know how to tread and where...I will try to give some tips and observations on what i have seen and experienced...

Let's say, you just finished a Job assignment and have landed another meaty assignment after aceing an interview.

Here's how and what you should plan for,
1> Background
Nowadays every bit of information about a company is online, especially if it is a listed company. Try to gather as much about the company as you can. It is always good to know what business the company is in, who are the clients, overseas business, turnover, revenues and most importantly the competitors....This information gathering will help hone your thinking process towards understanding the company, the culture, the business, the steps taken at the C-Level etc.
Here again try to gather information about the company culture, the corporate goals and objectives etc.

This will help you even if you are not an employee of the company and are just going to work there as an external consultant.
Based on the above and your area of skillset for which you are hired, prepare a 2-3 minute elevator pitch about yourself. Not necesarily, say it out to every other person you meet on your first day (Unless you want to make it your last day too). Depending on the type of conversation or meeting you are having, be ready to use it in parts or whole as required.

2> Social Networking sites- LinkedIn etc
Social Networking can help you a lot here in terms of gaining useful perspectives from people who work at that organization, their view points about the organization, people performing different roles at the organization on how they view their peers, subordinates, C-Level executives and the business in general.


3> Know your work area and domain
You already are a master of your domain area because this is what is going to be your most useful weapon which will help you outshine your peers and help you in gaining trust within the organization. If there is a certain area of skill that you need to perform or something you know you are not too comfortable with, try working on it, polishing it, so you do it confidently when you need it.


4> Unlearn
This is very important. Every Organization has its own working Methodology and process and steps to execute a project. In IT, some may follow waterfall, Agile, RUP and some have flavors of their own. They have their own internal politics and work culture nuances that you may have been used to, and your brain may have been accustomed to think that it is right. But it may not be so.
So be ready to unlearn the old and accept the new, if need be. For this, make sure you watch, watch and watch, people around you...


5> Communicate, Communicate and Communicate
Last but not the least, when you in, be ready to communicate, talk to your peers, subordinates, bosses, customers, partners. Understand the roles that they perform and their viewpoints. This will help streamline your thought process and give you a 360 degree perspective on the business as a whole.

Once you are armed with the above, things should become fairly easy. Make sure you are pleasant and greet people you meet. Atleast give a smile, right from the person next to you in the elevator to the colleague who sits next to you.

When you meet someone have a good erect posture, confident smile and a few lines to say to the other person. Give the other person a line or 2 about yourself and inquire about him/her asking about his job background general local information etc. These generally act as good ice breakers.
If you are not comfortable, doing this...practice this a few times if front of the elevator...Remember your first day on the job is just as important as the job interviews...because this is when people (by way of human nature) will form an initial opinion about you, which if for any reason is a wrong one,it will be very difficult to reason and build a new one.

As they say, Plan before execution....sooner than you think, you will be sitting amongst the best in the crowd and be accepted for your skills and expertise and the genuine person that you are.
Please comment if you agree, if there is something you feel i missed here

Thought process Transformation

They say..If you show a dollar coin to an IT and Business Person both will look at it differently...
Business person will say "I wonder what is today's exchange rate?" and the IT person will say...""hhhmmm, this coin is shaped more like Alpha character "O" (Letter Oh)  rather than numeric Zero"..(Not true...just made it up....but you get my point)....

IT developers and the business folks live and operate in 2 different worlds....unfortunately sometimes it is true...There should be steps taken by both sides to minimize this gap as much as possible...

Why?
A very basic necessity of working in today's world is to understand the business you are in and work towards supporting the business using your technology acumen and skills.

This is true, unless you work in a IT product based environment or somewhere else, where you may be working only to service your internal IT customers e.g. IT Infrastructure in a IT Company etc or you work alone on a marooned island manning a lighthouse switch.
Beyond that you have to work with the business.
This is required because Business is what drives Profits, Revenue and Sustainability to an Organization. Business has drivers like internal and external customers and partners, Competition, Compliance etc that decide and drive business and its exective decisions.

Coming from a Technology background, sometimes it becomes really difficult to think in terms of business, it is very easy to go back to the "Ones" and the "Zeros". During my initial IT Career days, being a consultant you have to wear the hat of an IT Developer cum Business Analyst, it becomes very difficult, to not think in terms of Tables and Columns and integrity data checks, rather in terms of Actors and Use cases, in front of the customer, who maybe as a Claims adjuster, is trying to explain how to send data to a glass vendor from the claim screen and wait for an amount estimate for damage repairs and then has to follow an escalation process so it gets approval if amount for repair was above the assigned claim adjuster's limit.
This really requires a major mindset change, a paradigm shift, if you may... wherein you get away from the developer mindset, where you in your own world do an efficient and scalable High level and low level designs and develop and unit test your own software to a Business person who tries to understand the people who run the business, their process and thinks of ways the technology can help them to make their work easier, better, faster and more efficient and smoother.

How?
The most important way to do this is, "to place yourself in the other person's shoes" and think the way he/she goes about the business day. This will help understand their painpoints and in turn help you to help them.
Certain steps that can be taken to overcome this chasm would be,
1> Get IT and Business aligned...In terms of Corporate Business goals and Objectives.


2> Companies to organize trainings, seminars for IT folk and business alike to make each side of the other side. For instance, hold workshops for business expaining them an IT lifecycle, what is a Functional document, high level designs, Integration, System Testing etc. Similarly for IT Folks, explain them the business processes and not just give them specs and expect the work to be done.

3> Have regular IT/Business meetings, maybe on a monthly/weekly basis where there will be general updates from both sides, Q&A to understand more and better

4> More involvement of IT Developers in Business meetings so they can understand the discussions and business painpoints and start thinking in terms of making those better.

Let me know your comments if you feel there are some points that can be added/modified to help you.