Short introduction to Software Measurement

Share

Software Measurement is a discipline of Software Engineering which allows us to quantify, measure different characteristics of the software product. Applying measures for software development can prove to be useful because it allows us to deal with the three major problems encountered in software development: uncertainty, irreversibility and complexity. This is a short introduction into the world of measures which will show you how to use measures in software development.

Recently I have made a small presentation about Software measurement based on a lecture I attended to at the CASE Summer School (2009), from Bolzano, Italy. My presentation relies on the lecture given by Prof. Eng. Alberto Sillitti and Prof. Eng. Giancarlo Succi.

Software development is a combination of mutually dependent activities that often overlap in time and scope. So, good organization is the key towards success. The following question can be addressed: How to decide WHAT, HOW and WHEN to produce? The answer is to use measures.

Measurement is the process by which numbers or symbols are assigned to attributes of entities in the real world in such a way as to describe them according to clearly defined rules (N. Fenton, S. L. Pfleeger, 1997). But, to give a more simple and intuitive definition, to measure means to evaluate a problem with quantitative and qualitative analysis.

On the one hand, Software Measurement can apply to planning, managing and reviewing. As already mentioned, by using measures we can address the three major problems that a software developer encounters in their activities: uncertainty, irreversibility and complexity. Those three issues occur before, during and after developing the software process. Simply put, measurement can help at controlling software development.

On the other hand, collecting metrics in a traditional way is against the basic principles of the Agile Methods because developers should focus on what provides value to the customer, not waste time in metrics collection However, without measures it is impossible to follow the principles of the lean management and therefore a compromise must be made.

Choosing the right measures for the right purpose is very important and one must know the goal of measurement: select those internal attributes that can be relevant for assessing / predicting the external properties of the final system.

How can a software developer use measures in his/her work?

For example, we can use the Personal Software Process. PSP is a personal framework that software developers can apply to improve predictability, quality and productivity. It includes a set of methods, forms and scripts which help us with planning and managing our work. The PSP shows developers how to estimate and plan their work using effort, size and defect measurement, by relying on relevant historical data and statistic methods.

For example, effort estimation can be made using the COnstructive COst Model (COCOMO). This is a simple mathematical model which, for instance, allows the association of effort with code size, or duration with effort.

At the University of Bolzano, Italy, a software application called PROM was developed for allowing users to easily and interactively use measuring in their work. Our software application, iManagement, can also help with applying measures in the software process. Thus, tools for software measurement exist and they ease the work of a developer. They help the developer to improve the quality of the work and to gain experience.

Finally, there’s another very important peculiarity of what does Cialis that brings it so high above its alternatives. It is the only med that is available in two versions – one intended for use on as-needed basis and one intended for daily use. As you might know, Viagra and Levitra only come in the latter of these two forms and should be consumed shortly before expected sexual activity to ensure best effect. Daily Cialis, in its turn, contains low doses of Tadalafil, which allows to build its concentration up in your system gradually over time and maintain it on acceptable levels, which, consequently, makes it possible for you to enjoy sex at any moment without having to time it.

4 Comments
  • Tomita Militaru says:

    Where can I find the PROM application and is it free or open source?

    September 1, 2009 at 9:22 am
  • Ciprian Radu says:

    PROM is currently developed at the University of Bolzano, Italy. As far as I know, it isn’t available for public use. It’s not free nor open source, at least not yet.

    September 1, 2009 at 9:30 am
  • barkeeper42 says:

    What gets measured gets cheated upon. Ever Saw a real-life project using psp or cocomo responding to today’s demand for fast delivery?

    September 14, 2009 at 10:36 pm
  • Ciprian Radu says:

    I do not agree that applying measures means cheating! :) If by “cheating” you understand (for example) evaluating one’s work in an objective manner, or getting more information regarding how software is currently developed (and by doing so, you have the chance to correct bad things)… than yes, I guess “what gets measured gets cheated upon”.

    Besides our small File Tracking client (http://blog.ropardo.ro/category/products/file-tracking-client/) project which I was told that it was evaluated with COCOMO, I cannot say that I have seen a “real-life” project project using PSP or COCOMO. Maybe they are currently used more in research (http://portal.acm.org/citation.cfm?id=1134443&dl=GUIDE&coll=GUIDE&CFID=51776579&CFTOKEN=56466006 or http://sunset.usc.edu/csse/research/COCOMOII/cocomo_main.html). Anyway, I merely wanted to suggest that we might consider using measures to improve our personal software development process.

    September 15, 2009 at 8:06 am

Comments are closed.

By continuing to use the site, you agree to the use of cookies. More information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close