This article summarizes major achievements and challenges of software resource estimation over the last 40 years, emphasizing the Cocomo suite of models. Critical issues that have enabled major achievements include the development of good model forms, criteria for evaluating models, methods for integrating expert judgment and statistical data analysis, and processes for developing new models that cover new software development approaches. The article also projects future trends in software development and evolution processes, along with their implications and challenges for future software resource estimation capabilities.
Competence in systems thinking is implicitly assumed among the population of engineers and managers in fact, most technical people will self-identify as systems thinkers. But systems thinking competencies are not as prevalent as these assertions might lead one to assume. Controlled experiments show that systems thinking performance, even among highly educated people, is poor. This paper provides a set of systems thinking competencies and demonstrates how these are not as common as advertised. We also discuss how these competencies can be measured. Our main thesis is that systems thinking is not a natural act because evolution has favored mechanisms tuned to dealing with immediate surface features of problems. We discuss the implications of this philosophy and provide recommendations for closing the gap between the demand and supply of systems thinking.
Engineering cannot wait until all phenomena are explained. Engineers may work effectively, often for centuries, with heuristics. This paper provides thirty one heuristics that have been inspired by the development and application of a systems engineering cost estimation model. The objective of this paper is to present such heuristics in a simple manner so that they can benefit systems engineering researchers and practitioners that develop, calibrate, and use cost models.