Saturday, July 09, 2005 9:10 PM triplez

1 tip for Project/Program Managers

Last thursday during the SgDotNet User Group meeting, I mentioned a few things during the "Change Management" discussion which I'd like to share with everyone.

Everyone knows how difficult project management is. Talking to the clients/customers and getting requirements (or simply digging out what they want out) of an application they want requires so much time and effort. Through my experiences doing freelance projects and handling teams and managing project schedules, here's a few steps I try to keep and follow when dealing with clients.

  1. Clients never know what they want.
  2. Research in the domain of the application that your client wants you to create.
  3. Based on this research, put yourself in your clients shoes and decide for the clients what they want.
  4. Model your application specifications based on those decisions.
  5. Let the client verify, change, and vet.

The keypoint here is that you have to research on the domain of the application you intend to do. You don't need to be the master of that domain, but know what problem you're trying to solve, or what processes you're trying to make simplier. And you DO need to always remember to put yourself in your client's shoes, and try to understand what they actually want, and the rationale in that.

Every feature you add MUST contribute to either solving a problem, or process, or have business value. For every feature, always question yourself "What value does this feature give in terms of business value, solving the problem, or simplifying the process?" If it does not contribute in any way, it's not a feature (need or necessity) but a decorator (want).

Based on experiences, the basic rule to remember is that clients will never be able to know what they want in the application. They roughly know what they need, but they don't really know how to translate that into an application. The less IT savvy they are, the worse they don't know how to translate what they want into an application that helps them.

And you must always remember, an application HELPS with the business processes, or whatever processes it's supposed to do, OR it SOLVES a business problem. It must not be able to make a current process or problem even harder to do.

Let me share with you something I learnt way back in secondary school, by this literature teacher of mine.

  • Need
  • Want

What are the differences between these 2 words? A "need" is a necessity that you have to have in order for something to function, and a "want" is something you don't really need to have in order to function, but something that is good to have. You must identify your feature sets carefully based on these decisions, as mentioned above.

I hope this helps in making your project/program management easier on all of your developers, hopefully reducing the changes made to the application by actually getting requirements that your client really needs.

Filed under: , ,

# re: 1 tip for Project/Program Managers

Saturday, July 09, 2005 11:07 PM by Firedancer

Solving customer's business problems is central to the system analyst's job. We are not there to talk about how cool a piece of technology is but to use the right technology to fulfill the business needs.

Needs and Wants are the foundation for everything. When a Want combine with buying power, it becomes a Demand.

0.02 cents into your pocket ;)

# re: 1 tip for Project/Program Managers

Saturday, July 09, 2005 11:41 PM by triplez

Well, if a want becomes a demand, then it will become a need already. But note that in this case, if the client just want some feature just because it's cool, or it does not contribute to the business value, you should say it should not be implemented outright, and explain the additional costs to it. If he still insists, then yes, we'll add it in, but lower in the priority list.

The main point in this post is to tell everyone that clients don't really know what they want, and it's up to you to find out and tell them.

# re: 1 tip for Project/Program Managers

Sunday, July 10, 2005 9:35 AM by Softwaremaker

> Well, if a want becomes a demand, then it will become a need already...

Huh ? That is utterly wrong !

Needs and Wants are instinctly different and will always be.

Need = You need a Web Server to run this and 10,000 Windows CALs

Want = I want drag-n-drop functionality on my webpage

Demand = I WANT DRAG-N-DROP FUNCTIONALITY ON MY WEBPAGE !!!

# re: 1 tip for Project/Program Managers

Sunday, July 10, 2005 10:33 AM by chuawenching

Dealing with customers are not an easy job. Customers always have hidden motives... they tell you roughly what they want... at the end, they reveal some hidden feature which is impossible to be develop within the period of time .. and they claim it is possible.

# re: 1 tip for Project/Program Managers

Monday, July 11, 2005 12:18 AM by triplez

True true. One thing I need to learn is to actually make people believe that what they are doing is wrong, and they should do it my way, yet still believing that they're doing it their way. :) Confusing, but it's the reality of life to convince clients or bosses.