It has been said that, “If you know whence you came, there are no limits to where you can go” [1]. As I reflect upon all that is right with software and systems development, I am struck by how much of what is popular today is not at all new. Agile configuration management (CM) seems to be taking the industry by storm—followed (or perhaps led) by agile application lifecycle management (ALM). To really benefit from these methodologies, you need to know something about where they came from. Read on if you want to maximize your agile CM and ALM practices!
Quality Management
E. Edwards Deming is widely recognized as the father of quality management. As I read and listen to my colleagues in the agile community, I am struck by how much I hear the echos of Deming’s voice in many of the agile practices that are so popular today. Deming’s teachings were not originally very popular here in the United States. Japan, on the other hand, embraced his teachings and benefitted from his sage advice and expertise. Quality not only became a best practice in many Japanese companies but it also became an indelible part of their culture as well. Lesson learned? Listen to industry luminaries and be open to learning new methods that work. Deming advocated building quality into a product from the very beginning of the development effort [2].
Build Quality In
Trying to build good products requires that we embrace quality from the very beginning of the development lifecycle. One of the popular practices that helps build quality in from the beginning is test-driven development (TDD), where many experts write the test infrastructure code before they actually write the code that performs the desired function. There are other similar methods as well, but the bottom line is that reliance upon mass inspection alone will not build quality into an otherwise defective system. Quality is essential, and understanding your end-users is important too [3].
Customer Perspective
Deming also wrote that maintaining a customer focus is essential along with learning from the consumer. Having an “arms around” approach is preferred to an “arm’s length” approach. Learning from the consumer [4] is also a key agile value, which embraces the customer partnership to build systems to work as desired.
The goal of any development effort should be to produce products that have zero defects. There are also some important organizational dynamics to consider.
Organizational Dynamics
Agile Scrum often highlights the importance of removing barriers. Deming advocated removing barriers between departments and removing barriers that make it impossible for the worker to do his job [5]. Leaders must know the work that they are supervising in order to be effective, and Deming also notes that mere slogans do little to enhance productivity. But that's not to say that disseminating information via posters is always a bad idea. For example, Deming points out that information radiators such as posters, signs, and graphs were commonly found in small “quality circle” teams consisting of five to fifteen employees [6]. These same practices are popular with many Agile development teams as is a focus on being a Learning Organization. Deming notes thatTraining is a critical function, including accommodating for different learning styles and abilities [7]. These practices work well and are very popular with many development team embracing Agile principles and you know now that many of them were popular with Deming's followers too. Of all of Deming’s principles, one of the most powerful is his focus on providing an environment where everyone can feel comfortable achieving his best without fear.
Drive Out Fear
Deming had many essential insights. But perhaps the most important was his focus on driving out fear [8]. Fear can adversely impact anyone’s performance. Agility has spotlighted the fact that we often do not know what we do not know. But, unfortunately, sometimes technology professionals are intimidated into trying to specify requirements before they are understood or complete. There are organizations using the waterfall lifecycle that require that all requirements be specified long before they are understood. In my view, this is precisely where “driving out fear” would yield better results. We need to be honest with the requirements that we understand and the ones that we don’t.
Along with understanding the impact of Deming’s teachings on modern software development practices, including agile, we also need to consider the maturity of the configuration management discipline itself.
Configuration Management Maturity
As I review the year behind us, I have been amazed at the times when I have listened to CM professionals who obviously have not read and understood industry standards and frameworks, and, therefore, do not know best practices. It is time for this to end. We need to insist that our colleagues educate themselves on the existing authoritative sources including standards (e.g., IEEE, ISO, EIA) and frameworks (e.g., ITIL, Cobit, ITIL). It is fine for colleagues to disagree with the wisdom shared by other industry experts. But I think that it is disappointing that many CM consultants have not even read the material. Imagine a doctor who wasn’t familiar with medical protocols or a lawyer who did not know the relevant case statutes. We should also value involvement with standards bodies where industry best practices are described and vetted. Finally, we need certifications that are meaningful.
CM Certifications
Certifications should be based upon industry standards and frameworks and not just upon one instructor’s subjective view and experience in configuration management. Similar exams for project management, IT service management, and evaluating IT controls are far more robust today. Our CM certifications also need to include specializations in build engineering, change management, and devops—to name a few.
Conclusion
The year gone by has not been without its challenges. But learning from our own experiences, industry luminaries, and other accomplished colleagues will enable us to achieve and prepare for the challenges that we will meet in the coming year. Learning from our past also helps us put into perspective the best practices that we have today. Agile CM and ALM along with lean have also benefitted from the lessons learned in earlier times. These and other best practices help us improve productivity and quality. Most of all, we need to remember that if you know whence you came, there are no limits to where you can go!
References
[1] James Baldwin (1924 – 1987)
[2] Deming, E. Edwards. Out of the Crisis. Massachusetts Institute of Technology, 1982, p.23.
[3] ibid., p. 48
[4] ibid., p 177
[5] ibid., p. 54
[6] ibid., p. 47
[7] ibid., p. 46, 52
[8] ibid., p. 59
About the Author
Bob Aiello is a consultant, editor-in-chief for CM Crossroads, and the author of Configuration Management Best Practices: Practical Methods that Work in the Real World, Addison-Wesley Professional (http://cmbestpractices.com). Mr. Aiello has more than twenty-five years’ experience as a technical manager in several top NYC financial services firms where he had company-wide responsibility for CM, often providing hands-on technical support for enterprise source code management tools, SOX/Cobit compliance, build engineering, continuous integration, and automated application deployment. Bob has served as the vice chair of the IEEE 828 Standards working group (CM Planning) and is a member of the IEEE Software and Systems Engineering Standards Committee (S2ESC) management board. Mr. Aiello holds a Masters in industrial psychology from NYU and a B.S. in computer science and math from Hofstra University. You may contact Mr. Aiello at bob.aiello@cmcmedia.com, link with him at http://www.linkedin.com/in/bobaiello,or visit his corporate website http://yellowspiderinc.com.
Trackback(0)
Comments 
Write comment
 |