Trust is like glass. Once it is broken it cannot be repaired, only replaced.
The security vulnerabilities and zero-day exploits revealed in recent months—for example, with Java, Internet Explorer and drive-by exploits in browsers (do a search on the Internet to scare yourself!)—have decreased our trust in some applications and companies. These incidents show clearly, when we take a closer look at the vulnerability in question, that despite (or thanks to?) all the code-generation tools we have nowadays, development and testing still involve a lot of handcraft and are prone to errors.
According to Capers-Jones research, poor software quality has become one of the most expensive topics in human history, costing over $500 billion USD per year worldwide. Aren’t there tools or other means available to help manage and improve software quality and make the developers’ and testers’ lives easier and more productive?
Yes, there are. Using the IBM Rational Jazz platform, a technology platform for collaborative software delivery, in the development life-cycle is one part of the solution; having a testing infrastructure with a high degree of automation complements it. Testing is more important now than ever before.
The tests should certainly assess the functionality of the software; but static and dynamic security vulnerability tests, as well as performance and regression tests should also be carried out. And especially my hobbyhorse—the impact on resource consumption should be monitored. From my experience developers do not care much about performance; only functionality is important (see my earlier blog post on this topic).
Automated performance tests can help you by giving insight into how the development activities will influence user experience and by providing information on resource usage. They also will help you to determine if extra resources are needed in your production environment. Be one step ahead before issues arise. To transform a negative user experience into a positive is a hard job. So do it right the first time.
On January 8, 2013, IBM announced two new members of the Expert Integrated Systems family: a 32 and a 64 core “baby” IBM PureApplication System. For me, this platform can now not only be taken into consideration for production environments; in addition, due to size and price setting, its use in Development, Testing and Acceptance streets (DTA) is a serious option. Building such a DTA street by using highly standardized images and patterns for each phase of the process, we can reach a higher degree of automation, reuse of assets and reduction in costs through higher productivity.
The benefit of an IBM PureApplication System in general is the use of patterns for setting up standardized environments with all the required components—fast, scalable and without user intervention. My viewpoint is that this is not only applicable for production environments but also applies to DTA environments. You can build and deploy standardized test environments with all the components—database, web server, application server and performance tester—with only a mouse click. Test reports can be sent to a central repository for evaluation. Implementing this approach will of course take time, but in the end I believe it will pay back in shorter lead times and fewer errors.
A well-designed and thought-through development and testing environment is crucial for companies to deliver their products on time, on budget and securely. Using an integrated approach, from requirements analysis, design, development and testing, to deployment, and then into production, will save costs. Using the right tools and a high degree of automation by using patterns and a scalable infrastructure is a key factor in achieving your goals. I am sure that investing in a well-suited and well-thought-out DTA environment can increase productivity, reduce costs and—especially regarding security—mitigate risks.
What do you think? Are these thoughts feasible for your company? Or has anyone already implemented such DTA street? How trustworthy is your application?
Henk Waanders operates at the leading edge of IBM’s hard- and software portfolio. Not only by telling the IBM story to ISV’s and Business Partners, he is also responsible for the hands-on part; installing and configuring the systems needed for demos. Follow Henk on Twitter: @HenkWaanders
To effectively compete in today’s changing world, it is essential that companies leverage innovative technology to differentiate from competitors. Learn how you can do that and more in the Smarter Computing Analyst Paper from Hurwitz and Associates.