Klocwork's inTellect: Shedding light on the development process

Businesses spend an enormous amount of effort and money to understand and track critical business operations, such as manufacturing, inventory, and logistics, but they have little insight into software development. While the software industry uses terms like “engineer” and “architecture,” the development process and the work of coders end up being something of a mystery to companies. Will a project arrive on time? Is it defect-free and secure? Are the coders focusing on and delivering the right components?

Most of these questions are answered anecdotally or through raw, potentially misleading metrics, such as the number of lines of code (LOC) written or application builds.

With software critical to operations – whether a company writes code to sell as software, to embed in a product, or to run the business – this lack of insight and the financial ramifications of missed deadlines and buggy, insecure code needs to be addressed. Companies can’t afford to lose revenue from delayed products, have their reputation tainted by releasing defective code, and continually disrupt their development plans by constantly re-adjusting resource allocation and release targets due to slipping schedules.


Klocwork’s takes aim at tracking development progress

Code-testing vendor Klocwork recently introduced a product aimed at providing insight into the development process. The product, called inTellect, leverages the same engine and database for parsing and analyzing code that drives its core product, a static analysis testing tool (static analysis tests raw code, not a functioning application, and highlights defects and security vulnerabilities early in the development process when it is cheaper to make corrections).

The value in a tool like inTellect is that it does more than simply regurgitate the obvious, such as lines of code and the number of bugs discovered. Key to inTellect is its:

  • Analysis and rules engine for making a progress call. The power of the tool lies in the algorithms under the covers, which help determine the state of a coding effort. As with Klocwork’s testing tools, a large part of the value is applied expertise – that is, applying Klocwork coding knowledge to the project to make the resulting analysis useful. For example, the tool tracks churn by looking at what type of code is being worked on, rather than counting all code written, which could include activities like inserting comments.

  • Dashboard for conveying high-level details. Managers can look at the status lights and trending analysis, such as whether defects are down in the most recent build and the rate of defects over the entire project life. Project managers can dig down into the details behind each status indicator, such as examining the types of defects and security vulnerabilities.


The long-term value of inTellect for companies will be its ability to provide insight into the development process. IT will find a variety of uses for the tool, including relying on it to:

  • Understand the progress of a project. The VP of development will launch the inTellect dashboard application to get a high-level view of the status of each project. While the data presented is still too detailed for business executives, the VP can use the data to create a more accurate, fact-based assessment of the status of critical projects.

  • Review teams, project leaders, and developers. While the dashboard and the underlying data won’t tell the complete story of a team or code contributor, managers will use the tool to track productivity and the ability to deliver on goals for teams and individuals. As the tool and its output evolve, we expect it to become a contributor to performance reviews.

  • Allocate resources. While it is not intended as a simulation tool for allocating developer resources, we expect companies will leverage inTellect to determine the most effective use of its internal and external coders. For example, after consulting the dashboard and additional related data, a manager may use available IT budget to hire more third-party coders or transfer internal developers to a project that is in danger of missing its release date.

  • Improve future development. inTellect reports, when combined with other data like target development schedules and actual delivery dates will help create a more efficient development process. The tool can help generate more realistic development time lines, thereby providing a reliable release schedule for executives in charge of budgets and revenue forecasts.


A road map for users

Every company should move toward creating order from a chaotic and obscure development process. However, implementing this new monitoring capability – with its ability to judge both work output and quality – may create resentment with developers who dislike the Big Brother-like oversight. The VP of development’s job should be to phase in the use of the tool by:

  • Slowly introducing accountability on an individual level. Companies should slowly phase in this capability, stressing how the tool will be used first and foremost to improve the overall development process (e.g., creating more realistic schedules, allocating resources effectively). Over time, high-performing coders and successful project leaders will find that the tool validates – and documents – their contributions.

  • Using it for both internal and external developers. Offshore development appears too good from a cost-benefit analysis to ignore, but there is no real way to test the efficiency of third-party coders. Tools like inTellect should be used to examine offshore capability – from the time it takes coders to get up to speed to their delivered code quality – and compare the results with internal coding. The results can determine exactly what types of projects make sense – or don’t make sense – to farm out.

  • Introducing high-level data to senior business executives. The current inTellect dashboard is not for CEOs and COOs, but development VPs can create their own status reports based on manually rolling up their dashboards. Look for next-generation versions of tools like inTellect to expand reporting capability to display a software project’s status for business managers graphically, for example, creating a progress bar of the entire development process and overlaying it with real-time information of the project.