Home Articles - Articles Building Software to Deploy
PDF Print E-mail

Building Software to Deploy

The recent swarm of high profile software glitches may lead one to believe that software and systems are so complex today that a few outages here and there is just inevitable. Nothing could be further from the truth. There are many fields were software must conform to safety standards and have zero tolerance for error. For example, software in helping to run a nuclear power plan or a missile defense system must never "glitch". Deming pointed out that quality must be built in from the beginning. Relying upon testing to uncover defects is just not a formular for success. You need to design software with testing in mind from the very beginning. Test Driven Development has become a popular approach where developers actually write and execute the test cases before they write the code. This means that initially the test code indicates a failure and then the code is written to satisfy the condition and the test cases passes. However, many of the outages have been blamed upon the software deployment process itself. Deployment engineering is often overlooked and really needs to take the center focus as is explained in the DevOps movement.

In my book on Configuration Management Best Practices, I discuss CM Driven development where applications are designed to be easily built, packaged and deployed. DevOps takes this a step forward by encouraging us to develop, practice and fine tune our application build and deployment procedures from the very beginning of the software and systems development lifecycle. This leads us to real cause o the recent system glitches that threaten our financial systems infrastructure.

Senior management needs to realize the importance of having skilled technology professionals running IT department. Further, IT controls need to be established that allow us to continously build, package and deploy our systems without incidents. We know how to do this. This is not really a technology problem. We don't see software glitches in nuclear power plants, missile systems and medical life support systems because there is a recognition that getting it right it necessary and failure is not an option.

So now some folks will say that IT controls are too expensive. Try telling that to Knight Capital who lost $440 million dollars in one day due to the wrong version of a piece of code on one of their servers. Millions of dollars have been lost due to high profile glitches at the Chicago Board Options Exchange, NYSE Euronext, NASDAQ and the Tokyo Exchange. Enough is enough. Our Senior management shows to show some leadership and allow us geeks the time, money and other resources to get it right. We know how to do this. Either lead, follow or get out of the way.

Bob Aiello


Related Articles:


More articles by this author

Join us at the Agile Development Conference for IT Governance and Compliance in an Agile World Date: Wednesday November 07, 2012 2:15pm Presenter: Bob Aiello, CM Best Practices Consulting Description: Establishing IT governance and compliance practices is essential for organizations that have regulatory or audit requirements. The good news is that you can be agile and still comply with Sarbanes-Oxley, CFR 21, HIPAA, and other regulatory imperatives. Done well, IT controls actually help you improve both productivity and quality. Bob Aiello describes how to implement IT controls in frameworks such as ISACA, Cobit, and ITIL v3 that many regulatory frameworks require—while maintaining agile practices. Bob’s guidance includes specific examples of establishing IT controls: separation of duties, work-item to change-set traceability, physical and functional configuration audits, and more. Bob explains how these practices help government, defense-related, and other critical mission corporations scale agile practices where audit and regulatory compliance is a must. In fact, Bob attests to the fact that a disciplined approach to agile can improve the productivity and quality of most all agile development efforts. Also, please join us the day before for Configuration Management Best Practices training    
Join us at the Better Software Conference for Configuration Management Best Practices training Date: Monday, June 2nd, 2013 8:30 AM Presented by  Bob Aiello, CM Best Practices Consulting Description Robust configuration management (CM) practices are essential for creating continuous builds to support agile’s integration and testing demands, and for rapidly packaging, releasing, and deploying applications into production use. Classic CM—consisting of identifying system components, controlling changes, reporting the system’s configuration, and auditing—won’t do the trick anymore. Bob Aiello presents an in-depth tour of a more robust and powerful approach to CM consisting of six key functions: source code management, build engineering, environment management, change management and control, release management, and deployment. Bob describes current and emerging CM trends—support for agile development, cloud computing, and mobile apps development—and reviews the industry standards and frameworks that are essential in CM today. Take back an integrated approach to establish proper IT governance and compliance using the latest CM practices while offering development teams the most effective CM practices available today.      
 
Copyright © 2017 CM Best Practices. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.
 

Product News

Live Online Training

Jobs