Software Integrity: Key for Business Agility
A code quality mindset early in the application lifecycle

Without software integrity, companies lose credibility and risk financial loss due to software errors and bugs. Instead of focusing on innovative solutions for changing market conditions, developers are bogged down with maintenance issues. This loss of agility eliminates competitive advantage. Implementing a code quality mindset early in the application development lifecycle will improve software integrity, promote innovation and boost customer satisfaction.

LACK OF SOFTWARE INTEGRITY

Software is everywhere, from our cell phones to our cars to our doctor’s offices. It drives the business world. But when it fails, the cost is enormous. According to a federal study, software errors and bugs in code cost the U.S. economy nearly $60 billion a year.

Consider the giant British food retailer, J Sainsbury PLC, who in October 2004, wrote off a US $526 million investment in an automated supply-chain management system. Merchandise stuck in the company’s depots and warehouses was not being delivered to many of its stores, forcing the company to hire 3000 additional clerks to stock its shelves manually.

Unfortunately, expensive lessons such as these happen all too often. The Standish Group estimates that 30 percent of all software projects are cancelled, almost 50 percent are over budget, and 60 percent are considered failures due to software coding errors, bugs and failure to meet deadlines. Standish also reports a 27-month backlog on end-user requests for IT application enhancements.

As with many failed or challenged software projects, someone had a vision of improved business processes that was supposed to translate into a competitive advantage. What went wrong? Why are so many companies following this well-trod path that leads to ruined credibility, financial loss and possible legal action? Software integrity is the key for an application’s successful launch and enhancement. But is it merely a pipe dream?

Agility in business is dependent upon the ability to change. When market conditions change, processes must also change. How quickly a business can modify or enhance it’s applications can make the difference between being the leader of the pack or yesterday’s news.

Yet many companies find it difficult to redirect resources because they are focused on fixing bugs and leaping from one software crisis to the next. Testing and debugging, shrugged off as necessary evils, occur too late in the game to improve software quality.

Software integrity exists when customers and end users can rely with certainty on critical business applications without fear of downtime, irritating bugs or data corruption. Software integrity directly impacts a company’s agility—their ability to respond quickly to changing market conditions. In the absence of software integrity, business agility suffers and competitive advantage along with it.

BEST PRACTICES
The software development industry already knows how to create good software; and has the gift of retrospect for countless software failures. Best practices have been taught and enumerated for the past many years, yet for many companies, software integrity has been surprisingly unachievable.

Key software development best practices include:

  • Requirements definitions that are agreed to by all parties—business analysts, marketing, development, quality assurance
  • Coding standards adherence
  • Unit testing by developers
  • Change and version control for all software
  • Automated and manual testing—functional, integration, performance, security, regression
  • Deployment—monitoring and maintenance for post-production feedback
Companies may have invested in extensive software development systems and processes that use these best practices, or they may have installed a few development tools—yet they still have a poor understanding of how well their individual developers are doing when it comes to code quality. With maintenance costs exceeding 80 percent of IT budgets, there is a great deal of room for improvement.

QUALITY MINDSET ESSENTIAL FOR SOFTWARE INTEGRITY

A quality mindset throughout the development lifecycle is essential for software integrity. Software quality must be built in with each line of code. Development managers must be able to monitor, measure and correct the behavior of their team using tools that integrate seamlessly with existing systems, tools and processes.

Individuals working on a project must continually monitor their own work to meet pre-defined quality and testing standards. Preventing bugs from even occurring and weeding out common bugs at the start of a project are two giant steps that must be taken in the quest for improved software integrity.

Traditionally, IT executives are the strategists and technical drivers behind their company; and are not involved in the day-to-day tasks and pressures of ensuring software integrity. Documented proof of adherence to code quality and testing standards allows them to trust that their teams have produced quality code, and that measures are in place for continuous improvement.

By promoting a quality mindset throughout the development lifecycle, IT executives will ensure quality code, and the resulting software integrity.

THE ENERJY SOLUTION: ENERJY CQ2

Enerjy CQ2 brings a new process to the management function of software development called Precision Team Management, which enables development managers to monitor key performance indicators using metrics such as:

  • Amount of code developers are writing, editing, deleting
  • Amount of code being tested/unit test coverage
  • Number of tests being written
  • Number of tests passing/failing
  • Number of coding standards being violated, per developer
With these metrics from Enerjy CQ2, not only can development managers monitor and measure code quality problems, but they can also modify individual developer behaviors with an emphasis upon code quality and developer self-improvement. The end result is tighter code and developers who gain satisfaction from a job well done.

A Web-based browser provides managers with a turnkey solution to:

  • Discover – Collect and measure data from the activities of their development team
  • Analyze – Identify problems and track them back to individual developers
  • Act – Identify actionable steps to form behaviors, enforce standards, correct errors
By implementing the Enerjy CQ2 solution, senior managers will be able to monitor tangible improvements from their software development team, not only in the early stages of application development, but throughout the entire product life cycle.


Figure: Enerjy CQ2 enables development managers to easily discover, analyze and act on coding violations.

Development managers will now be empowered with the information they need to improve their team’s code quality and performance, meet budget and schedule restraints, accelerate training processes and create effective reporting tools for senior management.

As a result, the quality mindset built in at the beginning of a project will ripple through their organization, improving software application quality, employee morale, customer satisfaction and the bottom line.

Who Is Enerjy Software?
Enerjy develops Java™ software integrity solutions for development managers to continuously improve the quality of their application development projects. Development managers can now monitor and modify the behaviors of individual developers, thereby boosting the performance and productivity of the entire team, improving the quality of the code, and correcting the course of the overall application development project.

Enerjy Software is a division of Teamstudio, Inc. With headquarters in Beverly, Massachusetts, Teamstudio also has offices in the UK, France, and Japan. To learn more about software integrity solutions designed to improve application quality and enhance developer productivity, please visit Enerjy’s Web site at: www.enerjy.com

Resources:
"The Economic Impacts of Inadequate Infrastructure for Software Testing." Washington D.C. National Institute of Standards and Testing (NIST), 2002. (www.nist.gov)
Standish Group, Chaos Report 2003.
"Why Software Fails," Spectrum Online, Robert N. Charette, August 2005

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1