Managers of IT companies

Manager of an IT company
Semmle’s On-Demand Analytics of Software Assets (ODASA) solution is perfect for managers of IT companies who want insight into their software development activities.
ODASA can provide a unified solution with regular monitoring, regular reporting, and continuing support. Greater insight means more control over your software assets, which in turn makes for a more efficient development.
Consider the example of Martin, the CEO of a fast-growing IT company who wants to keep a handle on the rapidly increasing software development activity in his company. He has a technical background and wants detailed information about the state of his company’s software.
Here are two scenarios where ODASA can help:
-
Problem
A client of Martin’s company has asked for a new feature that is likely to impact many parts of the existing software. He wants a quick estimate of the amount of work required.
Current solution
Martin calls a meeting to discuss the impact with everyone concerned.
Difficulties
- Scheduling a meeting takes time; not all developers are in the same time zone.
- There is no complete up-to-date picture of the state of the code.
- It is not entirely clear who should be invited to the meeting.
- This way of dealing with the problem is not scalable as the company grows.
New solution
Martin looks at the ODASA dashboard to see the current dependencies in the company’s code and establish which parts will need to be changed to introduce the new feature. A heat map shows him the parts that are likely to require most changes, and the code that will be hard to change (because of its complexity or because it is not well covered by tests). Drilling down further, Martin can identify the two or three developers who are responsible for those parts of the code, walk into their office and discuss the problem directly.
Benefits
- A quicker estimate to the client.
- Decisions based on objective measurements of the code.
- Martin can drill down himself, without consulting all team members.
- The drill-down can be done from a high-level user-interface instead of manually examining code.
- Martin does not need intimate knowledge of the code to do this.
- The results can be viewed at many different levels.
-
Problem
Martin asked for a new feature to be implemented seven months ago. At the time, everyone thought it would take two months. What is happening?
Current solution
A meeting is held, at which the different teams blame each other. It emerges that one part of the software needed a lot of refactoring before the new functionality could be added. The refactoring is almost complete, and a new schedule for completion is agreed.
Difficulties
- The problem was identified too late.
- No one wanted to own up to the need to clean up the existing code base.
- No detailed track was kept of development progress, so it was impossible to determine accountability for the problem area.
New solution
Before work on the new functionality is added, Martin examines the trends in code quality for the relevant part of his code base. In three different views, it is clear that quality has been declining over the preceding six months, so Martin arranges for the responsible team to be reinforced in order to clean up the existing code. While this is happening, he can monitor the improvements on a daily basis via line charts that now show a pleasing upwards trend. Because the measurements of code quality are linked to check-in data, Martin can see that John has made a huge improvement to the overall structure, so he can congratulate him at the next project meeting.
Benefits
- Quality trends are visible to everyone in the organization.
- Planning estimates are more accurate.
- There is visible accountability for the different components of the software.
- Detailed development progress can be tracked more accurately.