Crostalk-The Journal of Defense Software Engineering, Apr 1, 2003
(People CMM®) is a road map for implementing work-force practices that continually improve the ca... more (People CMM®) is a road map for implementing work-force practices that continually improve the capability of an organization's work force. The People CMM1 is a process-based model that assumes work-force practices are organizational processes that can be continuously improved through the same methods used to improve other business processes. In particular, the People CMM assumes that work-force practices can be improved through the staged process transformations that underpin Humphrey's Process ...
Abstract (People CMM®) is a road map for implementing work-force practices that continually impro... more Abstract (People CMM®) is a road map for implementing work-force practices that continually improve the capability of an organization's work force. The People CMM1 is a process-based model that assumes work-force practices are organizational processes that can be continuously improved through the same methods used to improve other business processes. In particular, the People CMM assumes that work-force practices can be improved through the staged process transformations that underpin Humphrey's Process ...
Much of the writing and research on Lean has been conducted in business domains that are more pro... more Much of the writing and research on Lean has been conducted in business domains that are more procedural and routine, or to the more routine aspects of domains such as health care where nonroutine work is frequent. There is little literature on the behavioral issues raised when Lean practices are applied to work that is nonroutine and cognitively complex, such as software development. The challenges in this domain desperately beg for empirical research by industrial and organizational (I-O) psychologists, often in tandem with psychologists from other specialties such as cognitive science (Curtis, 1981; Curtis et al., 1986). Software development is a product design discipline rather than a production or service discipline. The most complete explication of principles for applying Lean to software development was provided Mary and Tom Poppendieck (2003, 2007), who admit that Lean practices must be transformed to be effective in software. Their seven principles for Lean software development include the following: eliminate waste, build quality in, create knowledge, defer commitment, deliver fast, respect people, and optimize the whole. In software development, Lean practices have been integrated with so-called “Agile” development methods, whose primary characteristics of small batch sizes and self-managed teams are hallmarks of Lean. Adoption of these Lean/Agile practices has grown this century in reaction to difficulties experienced in “Waterfall“ projects where, in theory, the entire system is designed, then coded, then tested in a top-down progression. In contrast, Agile methods (a collection of development methods whose specific practices are no more clearly bounded than those of Lean) have adopted the Lean practice of breaking a project into smaller batch sizes (Reinertsen, 2009) of working software that can be delivered in short iterative cycles (typically called “sprints”) of usually a month or less. This allows customer representatives who rarely know their full requirements at the outset to react to a working “batch” of software and refine their requirements as they experience the growing system, supporting another Lean principle of closer connection with customers. Some Lean/Agile projects adapt Kanban practices (Brechner, 2015) to control the queue of work, optimize work in progress, and ensure the development team avoids overload. Like the Toyota Production System, Lean/Agile practices have transformed the way developers work. However, the widespread adoption of Lean/Agile has experienced difficulties (Meyer, 2014), some of which might have been mitigated by interventions from I-O psychologists. Three difficulties discussed here involve challenges with self-managed teams, culture clashes, and organizational learning. The nature of these challenges in cognitively complex work offers important opportunities for I-O research.
SOFTWARE ANALYTICS1 HAVE proven increasingly useful in industrial case studies for guiding adopti... more SOFTWARE ANALYTICS1 HAVE proven increasingly useful in industrial case studies for guiding adoption and evaluating benefits of advanced software techniques.2,3 In 2015, Fannie Mae, a provider of liquidity for mortgages in the US housing market, undertook a major transformation from its traditional waterfall approach to a culture built on agile methods and DevOps practices.4 The transformation was motivated by Fannie Mae’s need to adjust its IT capabilities to meet the requirements and pace of a rapidly evolving mortgage market. In 2012, Fannie Mae had only 10 teams using agile-like techniques. Releases took nine to 18 months, provisioning of environments took two to four months, and quality was not consistently measured. Fannie Mae’s IT department was a complex, technical-polyglot ecosystem composed of 461 applications, several hundred utilities, and almost 18,000 open source components. As part of reducing this complexity, Fannie Mae initiated two projects to implement agile method...
While Mumby (2019) chronicles effects of shifting to post-Fordist work, there are twists in neoli... more While Mumby (2019) chronicles effects of shifting to post-Fordist work, there are twists in neoliberal philosophy that open new avenues for inquiry and practice for industrial and organizational (I-O) psychologists. Neoliberal attitudes and behavior must have an enabling platform to be credible. Just as Fordist work was built on the industrial revolution and its ultimate realization in the production line, post-Fordist work rests atop the unrelenting pace of technological advances. Two forces in developed countries have undermined the value of human capital in routine work: automation and cheaper foreign labor. As more work becomes automated, the economics of production shift increasingly from human labor to capital investment in equipment. Thus, the human capital developed through a worker’s experience in and knowledge of the production process plummets. Where routine work has not been automated, it has shifted to cheaper labor in developing countries. However, the gloomy effects of post-Fordist work are not equal for all forms of labor. The dynamics of neoliberalism in post-Fordist work play out in more complex ways for many areas of nonroutine work. While advancements in artificial intelligence and other knowledgerelated technologies have automated some areas of knowledge-intense work, the displacement of human capital in cognitively complex work has not been achieved. Engineers, lawyers, doctors, programmers, and other knowledge workers have been aided, but not replaced, by knowledge technologies. To explore the post-Fordist, neoliberal ethos of knowledge workers, I will use examples from software organizations.
Le present article correspond a une version resumee du premier numero d'une serie de rapports... more Le present article correspond a une version resumee du premier numero d'une serie de rapports, elabores par la societe CAST, visant a degager les tendances actuelles en ce qui concerne la qualite structurelle des applications de gestion, c'est-a-dire des caracteristiques comme la robustesse, les performances, la securite ou la facilite de modification. Le but de ces rapports est de servir de base objective et empirique aux debats sur la qualite structurelle du logiciel dans le contexte tant des organismes publics que des entreprises privees. Dans le present article, les auteurs resument les enseignements principaux issus du premier rapport et apportent des elements de reponse aux questions suivantes: 1- Quelle proportion du cout de possession d'une application est due aux defauts structurels latents dans son code ? 2- Quelles technologies et quels secteurs de l'industrie ont les scores les plus eleves quant a la securite des applications ? 3- Quelle technologie impacte le plus les problemes structuraux susceptibles de degrader le fonctionnement d'une application ? 4- Dans quel secteur industriel se trouvent les applications les plus difficiles a ameliorer et a maintenir et l'externalisation joue-t-elle un role ? 5- La taille affecte-t-elle la qualite d'une application ? 6- Quelles sont les violations les plus frequentes des bonnes pratiques en matiere d'architecture et de codage ?
2015 IEEE/ACM 1st International Workshop on Complex Faults and Failures in Large Software Systems (COUFLESS), 2015
Although critical for delivering resilient, secure, efficient, and easily changed IT systems, cro... more Although critical for delivering resilient, secure, efficient, and easily changed IT systems, cross-technology, cross- layer quality defect detection in IT systems still faces hurdles. Two hurdles involve the absence of an absolute target architecture and the difficulty of apprehending multi-component anti-patterns. However, Static analysis and measurement technologies are now able to both consume contextual input and detect system-level anti-patterns. This paper will provide several examples of the information required to detect system-level anti-patterns using examples from the Common Weakness Enumeration repository maintained by MITRE Corp.
Twenty-six persons participated in a community smoking program, which required a $40 contribution... more Twenty-six persons participated in a community smoking program, which required a $40 contribution to the sponsoring health organization and a $25 refundable deposit. Clients were assigned to one of two treatment groups; one involved group discussion and rapid puffing, and the other involved group discussion only. The number of cigarettes smoked before treatment and one week, two months, and five months after treatment were determined for each client. Smoking decreased substantially following treatment in both groups and did not differ significantly between the groups across the follow-up periods. Females, however, showed significantly greater relapse in smoking following treatment than did males. Overall, approximately 15% of the clients in each group were abstinent five months after treatment.
Proceedings of the annual international symposium of the National Council on Systems Engineering, 1995
Abstract. The People Capability Maturity Model (P-CMM) is an adaptation of the Capability Maturit... more Abstract. The People Capability Maturity Model (P-CMM) is an adaptation of the Capability Maturity Model SM for Software (CMM SM) focused on developing the organization's talent. The motivation for the P-CMM is to radically improve the ability of software organizations to attract, develop, motivate, organize, and retain the talent needed to steadily improve software development capability. Although being initially developed with a focus on software and information systems development, the principles and many practices of the P-CMM ...
The problems of designing large software systems were studied through interviewing personnel from... more The problems of designing large software systems were studied through interviewing personnel from 17 large projects. A layered behavioral model is used to analyze how three of these problems—the thin spread of application domain knowledge, fluctuating and conflicting requirements, and communication bottlenecks and breakdowns—affected software productivity and quality through their impact on cognitive, social, and organizational processes.
Crostalk-The Journal of Defense Software Engineering, Apr 1, 2003
(People CMM®) is a road map for implementing work-force practices that continually improve the ca... more (People CMM®) is a road map for implementing work-force practices that continually improve the capability of an organization's work force. The People CMM1 is a process-based model that assumes work-force practices are organizational processes that can be continuously improved through the same methods used to improve other business processes. In particular, the People CMM assumes that work-force practices can be improved through the staged process transformations that underpin Humphrey's Process ...
Abstract (People CMM®) is a road map for implementing work-force practices that continually impro... more Abstract (People CMM®) is a road map for implementing work-force practices that continually improve the capability of an organization's work force. The People CMM1 is a process-based model that assumes work-force practices are organizational processes that can be continuously improved through the same methods used to improve other business processes. In particular, the People CMM assumes that work-force practices can be improved through the staged process transformations that underpin Humphrey's Process ...
Much of the writing and research on Lean has been conducted in business domains that are more pro... more Much of the writing and research on Lean has been conducted in business domains that are more procedural and routine, or to the more routine aspects of domains such as health care where nonroutine work is frequent. There is little literature on the behavioral issues raised when Lean practices are applied to work that is nonroutine and cognitively complex, such as software development. The challenges in this domain desperately beg for empirical research by industrial and organizational (I-O) psychologists, often in tandem with psychologists from other specialties such as cognitive science (Curtis, 1981; Curtis et al., 1986). Software development is a product design discipline rather than a production or service discipline. The most complete explication of principles for applying Lean to software development was provided Mary and Tom Poppendieck (2003, 2007), who admit that Lean practices must be transformed to be effective in software. Their seven principles for Lean software development include the following: eliminate waste, build quality in, create knowledge, defer commitment, deliver fast, respect people, and optimize the whole. In software development, Lean practices have been integrated with so-called “Agile” development methods, whose primary characteristics of small batch sizes and self-managed teams are hallmarks of Lean. Adoption of these Lean/Agile practices has grown this century in reaction to difficulties experienced in “Waterfall“ projects where, in theory, the entire system is designed, then coded, then tested in a top-down progression. In contrast, Agile methods (a collection of development methods whose specific practices are no more clearly bounded than those of Lean) have adopted the Lean practice of breaking a project into smaller batch sizes (Reinertsen, 2009) of working software that can be delivered in short iterative cycles (typically called “sprints”) of usually a month or less. This allows customer representatives who rarely know their full requirements at the outset to react to a working “batch” of software and refine their requirements as they experience the growing system, supporting another Lean principle of closer connection with customers. Some Lean/Agile projects adapt Kanban practices (Brechner, 2015) to control the queue of work, optimize work in progress, and ensure the development team avoids overload. Like the Toyota Production System, Lean/Agile practices have transformed the way developers work. However, the widespread adoption of Lean/Agile has experienced difficulties (Meyer, 2014), some of which might have been mitigated by interventions from I-O psychologists. Three difficulties discussed here involve challenges with self-managed teams, culture clashes, and organizational learning. The nature of these challenges in cognitively complex work offers important opportunities for I-O research.
SOFTWARE ANALYTICS1 HAVE proven increasingly useful in industrial case studies for guiding adopti... more SOFTWARE ANALYTICS1 HAVE proven increasingly useful in industrial case studies for guiding adoption and evaluating benefits of advanced software techniques.2,3 In 2015, Fannie Mae, a provider of liquidity for mortgages in the US housing market, undertook a major transformation from its traditional waterfall approach to a culture built on agile methods and DevOps practices.4 The transformation was motivated by Fannie Mae’s need to adjust its IT capabilities to meet the requirements and pace of a rapidly evolving mortgage market. In 2012, Fannie Mae had only 10 teams using agile-like techniques. Releases took nine to 18 months, provisioning of environments took two to four months, and quality was not consistently measured. Fannie Mae’s IT department was a complex, technical-polyglot ecosystem composed of 461 applications, several hundred utilities, and almost 18,000 open source components. As part of reducing this complexity, Fannie Mae initiated two projects to implement agile method...
While Mumby (2019) chronicles effects of shifting to post-Fordist work, there are twists in neoli... more While Mumby (2019) chronicles effects of shifting to post-Fordist work, there are twists in neoliberal philosophy that open new avenues for inquiry and practice for industrial and organizational (I-O) psychologists. Neoliberal attitudes and behavior must have an enabling platform to be credible. Just as Fordist work was built on the industrial revolution and its ultimate realization in the production line, post-Fordist work rests atop the unrelenting pace of technological advances. Two forces in developed countries have undermined the value of human capital in routine work: automation and cheaper foreign labor. As more work becomes automated, the economics of production shift increasingly from human labor to capital investment in equipment. Thus, the human capital developed through a worker’s experience in and knowledge of the production process plummets. Where routine work has not been automated, it has shifted to cheaper labor in developing countries. However, the gloomy effects of post-Fordist work are not equal for all forms of labor. The dynamics of neoliberalism in post-Fordist work play out in more complex ways for many areas of nonroutine work. While advancements in artificial intelligence and other knowledgerelated technologies have automated some areas of knowledge-intense work, the displacement of human capital in cognitively complex work has not been achieved. Engineers, lawyers, doctors, programmers, and other knowledge workers have been aided, but not replaced, by knowledge technologies. To explore the post-Fordist, neoliberal ethos of knowledge workers, I will use examples from software organizations.
Le present article correspond a une version resumee du premier numero d'une serie de rapports... more Le present article correspond a une version resumee du premier numero d'une serie de rapports, elabores par la societe CAST, visant a degager les tendances actuelles en ce qui concerne la qualite structurelle des applications de gestion, c'est-a-dire des caracteristiques comme la robustesse, les performances, la securite ou la facilite de modification. Le but de ces rapports est de servir de base objective et empirique aux debats sur la qualite structurelle du logiciel dans le contexte tant des organismes publics que des entreprises privees. Dans le present article, les auteurs resument les enseignements principaux issus du premier rapport et apportent des elements de reponse aux questions suivantes: 1- Quelle proportion du cout de possession d'une application est due aux defauts structurels latents dans son code ? 2- Quelles technologies et quels secteurs de l'industrie ont les scores les plus eleves quant a la securite des applications ? 3- Quelle technologie impacte le plus les problemes structuraux susceptibles de degrader le fonctionnement d'une application ? 4- Dans quel secteur industriel se trouvent les applications les plus difficiles a ameliorer et a maintenir et l'externalisation joue-t-elle un role ? 5- La taille affecte-t-elle la qualite d'une application ? 6- Quelles sont les violations les plus frequentes des bonnes pratiques en matiere d'architecture et de codage ?
2015 IEEE/ACM 1st International Workshop on Complex Faults and Failures in Large Software Systems (COUFLESS), 2015
Although critical for delivering resilient, secure, efficient, and easily changed IT systems, cro... more Although critical for delivering resilient, secure, efficient, and easily changed IT systems, cross-technology, cross- layer quality defect detection in IT systems still faces hurdles. Two hurdles involve the absence of an absolute target architecture and the difficulty of apprehending multi-component anti-patterns. However, Static analysis and measurement technologies are now able to both consume contextual input and detect system-level anti-patterns. This paper will provide several examples of the information required to detect system-level anti-patterns using examples from the Common Weakness Enumeration repository maintained by MITRE Corp.
Twenty-six persons participated in a community smoking program, which required a $40 contribution... more Twenty-six persons participated in a community smoking program, which required a $40 contribution to the sponsoring health organization and a $25 refundable deposit. Clients were assigned to one of two treatment groups; one involved group discussion and rapid puffing, and the other involved group discussion only. The number of cigarettes smoked before treatment and one week, two months, and five months after treatment were determined for each client. Smoking decreased substantially following treatment in both groups and did not differ significantly between the groups across the follow-up periods. Females, however, showed significantly greater relapse in smoking following treatment than did males. Overall, approximately 15% of the clients in each group were abstinent five months after treatment.
Proceedings of the annual international symposium of the National Council on Systems Engineering, 1995
Abstract. The People Capability Maturity Model (P-CMM) is an adaptation of the Capability Maturit... more Abstract. The People Capability Maturity Model (P-CMM) is an adaptation of the Capability Maturity Model SM for Software (CMM SM) focused on developing the organization's talent. The motivation for the P-CMM is to radically improve the ability of software organizations to attract, develop, motivate, organize, and retain the talent needed to steadily improve software development capability. Although being initially developed with a focus on software and information systems development, the principles and many practices of the P-CMM ...
The problems of designing large software systems were studied through interviewing personnel from... more The problems of designing large software systems were studied through interviewing personnel from 17 large projects. A layered behavioral model is used to analyze how three of these problems—the thin spread of application domain knowledge, fluctuating and conflicting requirements, and communication bottlenecks and breakdowns—affected software productivity and quality through their impact on cognitive, social, and organizational processes.
Uploads
Papers by Bill Curtis