Like other engineers, software developers transform ideas into usable products. Unlike other engineers, they create a product that is inherently invisible, not completely testable and often transitional.
Moreover, a software product in an interim development stage is often unusable, producing free-floating anxiety in developers and users alike.
Behavioral science tells us that invisibility and the effect of "all or nothing" are psychological factors that negatively impact developer effectiveness. Mundane tasks such as repeated testing often result in frustration while the transitional nature of software creates a false notion that the defects can always be removed in the future. Moreover, there is growing realization that we humans are incapable of fully applying and maintaining our own best practices.
Based on aforementioned factors and the concepts described in the recently published book, the co-authors, Huizinga and Kolawa, will explain how to establish an automated technology infrastructure that supports effective software development. This infrastructure defines people roles, necessary technology, and interactions between people and technology. This infrastructure provides product visibility, automates repetitive tasks, tracks project status, and seamlessly collects project data to provide measures necessary for decision making. This infrastructure forms a software production line, thereby putting the engineering into software engineering. Most of all, by putting the engineering into software engineering this infrastructure sustains and facilitates the improvement of human-defined processes.