Content deleted Content added
Tags: Mobile edit Mobile web edit |
Marcocapelle (talk | contribs) removed Category:Production economics; added Category:Productivity using HotCat Tags: Mobile edit Mobile web edit Advanced mobile edit |
||
(20 intermediate revisions by 11 users not shown) | |||
Line 2:
==Terminology==
Productivity is an important topic investigated in disciplines as various as manufacturing, organizational psychology, industrial engineering, strategic management, finance, accounting, marketing and economics. Levels of analysis include the individual, the group, divisional, organizational and national levels
===Productivity===
Line 12:
However, across the various disciplines different notions and, particularly, different measurement units for input and output can be found. The manufacturing industry typically uses a straightforward relation between the number of units produced and the number of units consumed.<ref>Chew, B. W. No-Nonsense Guide to Measuring Productivity. Harvard Business Review, 1988, 66, 110-115</ref> Non-manufacturing industries usually use man-hours or similar units to enable comparison between outputs and inputs.
One basic agreement is that the meaning of productivity and the means for measuring it vary depending
* the individual machine or manufacturing system;
Line 18:
* the manufacturing process for a single product or group of related products;
* the factory; and
* the
As long classical production processes are considered a straightforward metric of productivity is simple: how many units of a product of specified quality is produced by which costs. For intellectual work, productivity is much trickier. How do we measure the productivity of authors, scientists, or engineers? Due to the rising importance of [[knowledge work]] (as opposed to manual work),<ref name="drucker1999">Drucker, P. F. Knowledge-Worker Productivity: The Biggest Challenge. California Management Review, 1999, 41, 79-94</ref> many researchers tried to develop productivity measurement means that can be applied in a non-manufacturing context. It is commonly agreed that the nature of knowledge work fundamentally differs from manual work and, hence, factors besides the simple output/input ratio need to be taken into account, e.g. quality, timeliness, autonomy, project success, customer satisfaction and innovation. However, the research communities in neither discipline have been able to establish broadly applicable and accepted means for productivity measurement yet.<ref name="ramirez2004">Ramírez, Y. W., Nembhard, D. A. Measuring knowledge worker productivity: A taxonomy. Journal of Intellectual Capital, 2004, 5, 602-628</ref> The same holds for more specific area of programming productivity.
Line 32:
===Performance===
The term performance is even broader than productivity and profitability and covers a plethora of factors that influence a
===Efficiency and
Efficiency and effectiveness are terms that provide further confusion as they themselves are often mixed up and, additionally, efficiency is often confused with productivity. The difference between efficiency and effectiveness is usually explained informally as ''efficiency is doing things right'' and ''effectiveness is doing the right things''. While there are numerous other definitions,<ref name="tangen2005" /> there is a certain agreement that efficiency refers to the utilisation of resources and mainly influences the required input of the productivity ratio. Effectiveness on the other hand mainly influences the output of the productivity ratio as it usually has direct consequences for the customer. Effectiveness can be defined as "the ability to reach a desired output".
Line 52:
However, it appears that these efforts to include the quality in the determination of productivity did not lead to an operationalizable concept yet. It currently remains unclear how to quantify the vague terms “Output quality and quantity” as well as “Input quality and quantity”, let alone to calculate the ratio.
==State
In software development things are more complicated than in the production of goods. Software development is an engineering process.
Line 58:
===COCOMO II===
Boehm was one of the first researchers that systematically approached the field of software productivity. His cost estimation model [[COCOMO]]
===Jones's
Jones is the author of a series of books on software productivity. Besides several theoretical considerations his main contribution is the systematic provision and integration of a large amount of data relevant for productivity analyses. In at least two of his books,<ref>{{Cite book |last=Jones
▲Jones is the author of a series of books on software productivity. Besides several theoretical considerations his main contribution is the systematic provision and integration of a large amount of data relevant for productivity analyses. In at least two of his books,<ref>Jones, C. Software Assessments, Benchmarks, and Best Practices. Addison-Wesley, 2000</ref><ref>Jones, Casper. <u>Programming Productivity</u> McGraw-Hill, Inc. p. 86</ref> he gives a number of productivity factors but also points out that for each project a different set of factors are influential. These factors can form a basis for productivity assessments and for comparison with industrial averages.
This is one such list:
<blockquote>The 20 factors whose quantified impacts on software projects have been determined from historical data are the following:
* Programming language used
Line 84 ⟶ 83:
* Geographic separation of development locations
* Defect potentials and removal methods
*
* Prototyping before main development begins
* Project teams and organization structures
* Morale and compensation of staff
</blockquote>
===Function
[[Function points]] were proposed in 1977 by Albrecht as a better size measure for software than LOC. In that it is based on the specification of the software and thereby aims at measuring the size of its functionality rather than the code itself. The reason is that the size of the code not only depends on the size of the functionality but also on the capability of the programmer: better programmers will produce less code for the same functionality. The function points have undergone several redesigns over the years mainly driven by the International Function Point User Group (IFPUG). This group is large with over 1200 companies as member which shows the rather strong acceptance of this measure. However, in many domains it still lacks practical application because it is often conceived as only applicable to business information systems.
===Value-
Several researchers proposed economic-driven or value-based software engineering as an important paradigm in future software engineering research. Boehm and Huang point out that is it not only important to track the costs in a software project but also the real earned value, i.e. the value for the customer.<ref>Barry Boehm, Li Guo Huang. Value-Based Software Engineering: A Case Study. IEEE Software, 2003</ref> They explain that it is important to create the software business case and keep it up to date. In essence, value-based software engineering focuses on the customer value, mainly measured in monetary units.
Line 105 ⟶ 104:
There are probably a large number of factors influencing the programming productivity of individuals and teams. For example, the used [[software development process]] probably influences the effectiveness and efficiency of a team.
The [[personalities]] of software programmers influence the used coding styles which, in turn, influence the productivity of the programmers.<ref>{{Cite journal|title = Links between the personalities, styles and performance in computer programming|url = http://elib.uni-stuttgart.de/opus/volltexte/2015/10315/|journal = Journal of Systems and Software|date = 2016|pages = 228–241|volume = 111|doi = 10.1016/j.jss.2015.09.011|
== In popular culture ==
In 2007, the [[xkcd]] comic popularized the concept of a [[Ballmer Peak]]—that a programmer, with just the right amount of [[inebriation]], achieves a high state of productivity. The Ballmer Peak is named after former Microsoft CEO, [[Steve Ballmer]],<ref>{{Cite web |title=Ballmer Peak |url=https://xkcd.com/323/ |access-date=2023-10-07 |website=xkcd}}</ref> and is likely a play on [[Balmer series]] of hydrogen spectral lines named for [[Johann Balmer]].<ref>{{Cite web |title=323: Ballmer Peak - explain xkcd |url=https://www.explainxkcd.com/wiki/index.php/323:_Ballmer_Peak |access-date=2023-10-07 |website=www.explainxkcd.com}}</ref>
== References ==
{{reflist}}
==Further reading==
* ''Software Cost Estimation with Cocomo II'', [[Barry W. Boehm]]
* ''Developing Products in Half the Time: New Rules, New Tools'', Preston G. Smith and Donald G. Reinertsen, Wiley, 1997. {{ISBN|978-0-471-29252-4}}.
* ''Programming Productivity'', [[Capers Jones]], Mcgraw-Hill, 1986. {{ISBN|978-0-07-032811-2}}.
* ''Estimating Software Costs'', [[Capers Jones]], McGraw-Hill, 2007. {{ISBN|978-0-07-148300-1}}.
[[Category:Productivity]]
[[Category:
[[Category:Software project management]]
|