One of the keys to success in IT management is being able to manage your client\u2019s expectations.\nTo manage your client\u2019s expectations, you need to know some things about the concept of \u201csupply and demand\u201d and how it applies within an IT support organization.\nDemand is the technology support needed by your clients to address their business needs and issues.\nSupply is your IT organization\u2019s capability and capacity to deliver IT support.\nYou have to understand the dynamics of what's happening in both "Supply" and "Demand" within your IT support organization's environment to manage client expectations.\nIn most situations, there will be more demand than supply, your clients need or want more from IT than your IT organization can deliver. This is normal and exists for most IT organizations. That\u2019s OK, but to succeed you are going to have to balance the two somehow and manage your client's expectation to what you can deliver.\nLet\u2019s take a team of five programmers and use them as an example to discuss these issues.\n\nHere, you see we have one great team of five programmers. Let\u2019s assume they all work on the same software application to make our example easier.\nThe Demand Side\nOur demand for programming work is defined by a couple of things:\n\nDay to day support required of the programmers\nBacklog of new programming enhancement requests - new reports, new functionality, etc.\n\nYour Help Desk should give you some sense for the \u201cdisruptive nature\u201d of day to day support issues that hinder a programmer\u2019s coding productivity. If you don\u2019t have anything, do a 2-week time study and have each of your programmer\u2019s chart where they spend their time for every hour of their work day.\nYou might be surprised! This simple exercise will tell you a lot about what\u2019s being pulled out of your team\u2019s programming capacity to handle daily support issues.\nMaybe you think your team is totally isolated and immune from day to day support. Don\u2019t be fooled, do the time exercise and discover the reality of your situation.\nThe second part of "Demand" is in your Programming Backlog for new requests (new reports, new functionality, etc.).\nYou should have a programming backlog database of some type (maybe it\u2019s just an EXCEL spreadsheet) that lists every programming request and an estimate of how many hours it will take to program the project.\nIf you aren\u2019t managing your backlog like this, then you don\u2019t know what your demand for new programming is. If you don\u2019t know, you can\u2019t manage client expectations.\nThe Supply Side\nOn average, a programmer can produce about 100\u2013120 hours of productive code per month. There are normally about 160 hours in a normal month of work (4 weeks at 40 hours per week). When you pull out time for meetings, training, sick, vacation and holidays, what is left is the actual productive coding time you get from a programmer.\nSome months will be less than this average of 100\u2013120 hours of productive coding time, some months will be more. But over 12 months time you should see a programmer's average work out to be about 120 hours per month of productive coding, roughly 75 percent of their work time.\nIf you are delivering less than 100\u2013120 hours per programmer per month on average for 6 or more months, you probably have a productivity issue that needs attention.\nNote: This measurement may vary depending upon your company situation or part of the world you live in and the productivity culture that exists.\nOK, if we have 5 programmers this means our supply of productive coding (or capacity) should average between 500 to 600 hours per month as a team.\nLet\u2019s assume the demand for coding new reports, enhancements, and new features for this application is considerably more than our capacity. How do we increase our output, our supply?\nThere are several ways to increase the output of a programming team:\n\nImprove the existing team\u2019s productivity.\nHave the team work more hours.\nPay programmers incentive pay to do certain projects on their own time (on weekends and holidays or in the evenings after work).\nHire new programmers.\nContract programmers from the outside.\n\nI\u2019ve used all of these and every option will work to improve your programming team\u2019s output.\nOne caution though is that \u201crequiring the team to work more hours\u201d will work to an extent, but long term use of this approach can create morale problems and put your programmers at risk of leaving your company.\nYou essentially have three options to address a programming backlog that exceeds your capacity:\n\nReduce the amount of backlog\nTake longer to do the work\nIncrease capacity to attack the backlog\n\nThe bottom line though is that you aren\u2019t going to get twice the capacity with the five programmers you have on board now. If need is truly significantly higher than your capacity to deliver, you have to manage your client\u2019s expectations.\nThere are essentially three ways:\n\nReduce the demand\nIncrease your capacity to deliver\nTake longer\n\nUsually the answer lies within all three of these. However, Item #3 (Take longer) really isn\u2019t doing anything different and probably may not satisfy your client.\nYou attack the problem when you do something about reducing the demand and\/or increasing capacity.\nThe next thing you need to have a good grasp on is, \u201cHow much of your capacity goes to day to day support?"\n\nIt might be 80 percent of your total programming capacity to troubleshoot issues, fix things, or provide day to day support for the users.\nIf it is 80 percent, that doesn\u2019t leave much to develop new enhancements that are being requested by users.\nYou need to have a realistic estimate of what day to day support requires from your team. Without it, you are doomed.\nTo manage client expectations you not only need to know what the demand for programming services is, you must also know what your capacity to deliver is. This "capacity to deliver" includes how much programming is required for day to day support plus how much is available to focus on new requests.\nWithout this understanding, it is virtually impossible to manage your client\u2019s expectations.\nBe conservative\nThe next thing is that when you make commitments to your clients, you must be conservative.\nRemember the \u201cGolden IT Rule\u201d,\nM \n \n\nAlways position your team to over deliver. No one gets upset if you exceed their expectations. Someone always gets concerned when you don't meet expectations.\nOne method I use is that I always start managing a new programming staff with an expectation that we can deliver an average of 100 hours of code per programmer per month even though I know we should deliver around 120 hours a month of new code per programmer on average.\nNow, when you do this you need to know that I consider these programmers to be truly isolated from day to day support issues. Their full time is focused on software development and producing new code.\nI know that if we are operating properly, each of these programmers will actually deliver on average more than 100 hours per month. So, when I give my client a forecast that we can deliver up to 500 hours a month for the team (5 programmers * 100 hours), I\u2019m positioning the team to over deliver.\nLet me emphasize this:\u00a0Position your team to over deliver!\nOne of the best ways to manage a client's expectation is to position your team to deliver more than what the client expects. To do this, you must be conservative in what you commit to. My approach with programming is to commit an average of 100 hours per programmer per month to the client and deliver somewhere around 120 hours per programmer.\nSummary\nFour key things will help you manage your client\u2019s expectations:\n\nUnderstand the demand for your resources\nKnow your capability and capacity to deliver\nRealize how much is used for day to day support\nBe conservative in your commitments\n\nDo these things with your programming staff and other parts of your IT support organization and you will be able to manage your client\u2019s expectations much better, and this will help your IT organization achieve more success.