Computer programming is the process of designing and building an executable computer program for accomplishing specific computing task. Programming involves tasks such as: analysis, generating algorithms, profiling algorithms' accuracy and resource consumption, and the implementation of algorithms in a chosen programming language (commonly referred to as coding). The source code of a program is written in one or more languages that are intelligible to programmers, rather than machine code, which is directly executed by the central processing unit. The purpose of programming is to find a sequence of instructions that will automate the performance of a task (which can be as complex as an operating system) on a computer, often for solving a given problem. The process of programming thus often requires expertise in several different subjects, including knowledge of the application domain, specialized algorithms, and formal logic.
Tasks accompanying and related to programming include: testing, debugging, source code maintenance, implementation of build systems, and management of derived artifacts, such as the machine code of computer programs. These might be considered part of the programming process, but often the term software development is used for this larger process with the term programming, implementation, or coding reserved for the actual writing of code. Software engineering combines engineering techniques with software development practices. Reverse engineering is the opposite process. A hacker is any skilled computer expert that uses their technical knowledge to overcome a problem, but it can also mean a security hacker in common language.
Metric of the Month: Net Promoter Score
By Jeff Rumburg
Every month, in the Industry Insider, I highlight one key performance indicator (KPI) for the service desk or
desktop support. I define the KPI, provide recent benchmarking data for the metric, and discuss key correla-
tions and cause/effect relationships for the metric. The purpose of the column is to familiarize you with the KPIs
that really matter to your support organization, and to provide actionable insight on how to leverage these KPIs
to improve your performance.
Net Promoter Score
The net promoter score (NPS) is based on the idea that every organization’s customers can be divided into three
categories: promoters, passives, and detractors. By asking one question—“How likely is it that you would rec-
ommend our service to a friend or colleague?”—you can track these groups and get a clear measure of your sup-
port organization’s performance from the customer’s perspective. Based on their responses (on a scale of 0–10),
customers are categorized as follows:
•	 Promoters (score of 9–10) are loyal enthusiasts who will refer others to your support organization.
•	 Passives (score of 7–8) are satisfied but unenthusiastic customers who may choose another source of sup-
port if given the chance.
•	 Detractors (score of 0–6) are unhappy customers who can damage your reputation through negative
To calculate your support group’s NPS, simply take the percentage of promoters and subtract the percentage
of detractors. Your NPS can be as low as -100% (everybody is a detractor) or as high as +100% (everybody is
a promoter). A positive NPS (i.e., higher than zero) is thought to be good, and an NPS of +50% or greater is
IT support groups that track NPS will typically follow the initial question with an open-ended request for elabo-
ration, soliciting the reasons for a customer’s rating. These reasons can then be provided to frontline employees
and management teams for follow-up action and improvement initiatives.
© 2013 MetricNet,