Tuesday, 31 January 2012

Extended CIMM (CMM)

A long time ago I used to be a CMM [3] auditor - it was fun at the time - but what was really interesting was the amount of effort spent on developing and desinging processes to satisfy the CMM audit rather than concentrating on the how the actual products (software and related services generally) was being made.

Those companies which we audited which came out as being CMM Level 2 generally had very expansive processes and many "quality" metrics - rarely these metrics actually had something to do with the product being produced. Even more rarely those companies knew how to act upon those relevant metrics.

Now while I tend to focus on the methods, techniques and metrics of the actually job of engineering and dismiss process - or at least overbearing process - CMM does have its place but does require the audit to be carried out by not only process people but real, live engineers too.

CMM has been however the butt of many jokes - the most famous of which was started by Anthony Finkelstein in his famous 1992 paper: A Software Process Immaturity Model [1]. This was later taken up by Schorsch [2] in 1996 and expanded into the "The Capability Im-Maturity Model (CIMM)".

To understand these a quick explanation of the CMM levels is required. CMM rates a company's processes in terms of their maturity ranked on a scale of 0 to 5:

Level Name Description of Maturity
0 Undefined No audit or nothing at all
1 Initial Chaotic, ad hoc and/or individual heroics
2 Repeatable The process is at least documented sufficiently such that repeating the same steps may be attempted
3 Defined The process is defined/confirmed as a standard business process
4 Managed The process is quantitatively managed in accordance with agreed-upon metrics
5 Optimising Process management includes deliberate process optimization/improvement

Schorsch's expansion of this is:

Level Name Description of Maturity
0 Negligent The organization pays lip service, often with excessive fanfare, to implementing software engineering processes, but lacks the will to carry through the necessary effort. Whereas CMM level 1 assumes eventual success in producing software, CIMM level 0 organizations generally fail to produce any product, or do so by abandoning regular procedures in favor of crash programs.
-1 Obstructive Processes, however inappropriate and ineffective, are implemented with rigor and tend to obstruct work. Adherence to process is the measure of success in a Level -1 organization. Any actual creation of viable product is incidental. The quality of any product is not assessed, presumably on the assumption that if the proper process was followed, high quality is guaranteed. This is the most common level achieved by most organizations that pursue CMMI ratings.
Paradoxically, Level -1 organizations believe fervently in following defined procedures, but lacking the will to measure the effectiveness of the procedures they rarely succeed at their basic task of creating software. Unfortunately, this behavior is inherent in the CMMI evaluation process. Since many government agencies will only award contracts over a certain dollar value to organizations that can pass a CMMI-3 or higher SCAMPI appraisal, management is more often than not willing to accept some inefficiencies in order to win these lucrative contracts. Government contracting models, in which organizations are paid not for the value of their products but by the number of hours spent building them, reward organizations for performing non-value-added activities related to CMMI compliance. Thus, government contractors with CMMI ratings will ultimately be more profitable than non-CMMI rated companies regardless of the quality of the software they produce. Whether CMMI processes provide any value in producing higher quality software is immaterial.
-2 Contemptuous While processes exist, they are routinely ignored by engineering staff and those charged with overseeing the processes are regarded with hostility. Measurements are fudged to make the organization look good.
-3 Undermining Not content with faking their own performance, undermining organizations routinely work to downplay and sabotage the efforts of rival organizations, especially those successfully implementing processes common to CMM level 2 and higher. This is worst where company policy causes departments to compete for scarce resources, which are allocated to the loudest advocates.

NB: Finkelstein originally had levels 0 to -2 with the naming:  0 (foolish), -1 (stupid) and -2 (lunatic); the meanings are the same though.

Not content with faking their own performance, undermining organizations routinely work to downplay and sabotage the efforts of rival organizations, especially those successfully implementing processes common to CMM level 2 and higher. This is worst where company policy causes departments to compete for scarce resources, which are allocated to the loudest advocates.

After performing a number of review years ago this got me thinking at the time and I even wrote a short paper on this which will probably forever remain unpublished, namely as it is in some backup archive somewhere languishing on some slowly decaying magnetic media.

The CIMM  (Capability Immaturity Model) is in the range [-3 to 5]:Integer. However I think it is more accurate to expand the CIMM levels into complex numbers, albeit integer ones. The two parts of a complex number are denoted real and imaginary - the meanings of those words fit nicely with auditing reality.

The eCIMM (Extended CIMM - my term!) level of a company can be expressed using both real and imaginary parts: the imaginary part, or what the company would like to believe, is what the auditors find out through the CMM audit, and the real part is actually what is happening inside the company. Just as CMM level 2 is the typically found, in the future this should be reported as something like eCIMM level -2+2i.

That is, the CMM auditors were presented with material showing that the company had spent much time on developing and documenting procesess and obtained a level 2 rating, but reality inside was that the processes exist but are routinely ignored and things fudged to make the organisation look good.

I guess that if we ever do find a CMM level 5 company, its eCIMM level would be 0+5i: a massive team of process people and one guy hacking (sorry, using agile methods) in the corner - and probably doing a good job of it too!

Now you could extend this by performing numerous audits and plotting the progress on and argand diagram - and you could probably come up with some interesting metrics and analysis of the distances between points - I guess it fits all the defintions of a metric and maybe might even be worth writing about.

  • [1] A. Finkelstein, A Software Process Immaturity Model, SIGSOFT Software Engineering Notes, 1992.
  • [2] Schorsch, "The Capability Im-Maturity Model (CIMM)", U.S. Air Force (CrossTalk Magazine), 1996.
  • [3] Humphrey W.S.; Kitson D.H. & Kasse T.C. (1989); The State of Software Engineering Practice: a  preliminary report; Proc. IEEE 11th International Conference on Software Engineering; pp 277-288, IEEE CS Press.
Postscript: at last I've written this down after years of not quite getting around to it...using complex numbers as CMM level indicators...

Friday, 27 January 2012

Why do stars twinkle?

A long time ago in school I was told that stars twinkle because they are constantly exploding - but our Sun was "different"...hmmm...anyway, an often asked question by children and the answer is because of the Earth's atmosphere. Anyway, years later (many years later), today actually, I came across this excellent explanation and a stunning photograph of Sirius from the superb (and occasionally mentioned) Bad Astronomy blog by Phil Plait:

 Siriusly twinkling
If you live nearly anywhere on Earth — those of you north of 73° you’re out of luck, but I’m guessing there aren’t many of you! — and look to the southeast shortly after sunset, you’ll see the figure of Orion. Follow the three belt stars to the east, and you’ll see a bright star: Sirius, the brightest star in the night sky. If it’s near the horizon, you may see it twinkling madly: flickering, dancing, perhaps even changing colour.
So, next time you're asked, now you know a great place to go to answer the question.

Friday, 20 January 2012

Sipoonlahti Bridge

An hour of long exposure, high contrast, night photography fun on a cold night, resulting in a good dozen or so pictures...overall, quite pleased with some of the results:

Sunday, 15 January 2012

Election Boundary Changes in Wales

Just some raw figures from The Guardian's description of the proposed boundary changes for the next UK general election:


Boundary changes: the first map of the UK's new constituencies
Simon Rogers and James Ball
guardian.co.uk, Wednesday 11 January 2012 07.30 GMT
How would the UK have looked if the 2010 election had been fought with the new constituencies? Would your MP still have a seat? Boundary Commissions for England, Scotland, Northern Ireland and now Wales have published their recommendations - and we've collated them to show the country as a whole. A crude analysis of the 2010 results creates the following map.

Party Seats 2010 %age seats 2010 Seats New Boundaries %age seats (new) Difference %age points
Conservative 8 20% 5 16% -4
Labour 26 65% 22 73% +8
Liberal Democrat 3 7.5% 2 6.6% -1
Plaid Cymru 3 7.5% 1 3.3% -4
NB: These results and predicitions are based on the 2010 results following the methodology used by The Guardian. These results refer to the Welsh MPs as elected to the Westminster parliaments and not to the Welsh Devolved Government which is elected by a separate system.

Given that these changes are being made by the Boundary Commission which should be independent of any serving government, it is interesting the rise in power of Labour in Wales at the expense, especially of the nationalist party Plaid Cymru. This raises an interesting point, especially with the current debate and discussion about Scottish independence and the position of the major national parties within the UK. Scotland's nationalist party's - SNP - seats under this new model wouldn't change, in Northern Ireland, Sinn Fein, loses its stronghold to a highly variable mix of other parties, and in Wales, as we can see, Plaid Cymru loses 66% of its seats.

Caveat: these results are based upon the 2010 result and extrapolated over the proposed changes - things could and probably will change in a real election, especially given current economic and political circumstances.

Now there has been discussion on the fairness of these changes and one reason for the rise in Labour and the reduction in smaller parties and the Conservatives might be to address the balance of power in a future Westminster Parliament given that England overall has a large Conservative majority. The other reason could be that this is an attempt to weaken nationalist or smaller parties in Westminster. The latter is also interesting given the move in Wales of the major parties: Labour, Conservatives and Liberal Democrats to distance themselves away from Westminster and even in the case of the Conservatives to even consider changing their name in Wales.

And in here lies some interesting aspects of devolution in the UK, for example in Wales, the Conservatives who were highly sceptical and anti-devolution have come to support this as the only mechanism by which they can have some power in Wales (and Scotland too) and ironically for Labour, a pro-devolution party, became at a national level a kind of anti-devolutionist party given the extremely awkward set of rules and processes placed upon the Welsh Government to actively prevent use of that body's powers. Now after the last referendum in Wales which finally gave primary law making powers in the 20 or so devolved areas of government after some 800 years, we still have the possibility of anther referendum to given Wales tax-varying and borrowing powers in line with Scotland, though not control over certain fiscal issues such as the ability to print its own currency.

However one of the good things is that this does reduce the number of MPs in the UK overall but does somewhat distance the national MP away from their constituents, especially in England where no intermediate form of government exists. At least in Wales, Scotland and Northern Ireland, the respective devolved governments are closer to the local people with more interest in local issues.

Research, Productivity and Individualism

Brilliant article from the New York Times:


The Rise of the New Groupthink


SOLITUDE is out of fashion. Our companies, our schools and our culture are in thrall to an idea I call the New Groupthink, which holds that creativity and achievement come from an oddly gregarious place. Most of us now work in teams, in offices without walls, for managers who prize people skills above all. Lone geniuses are out. Collaboration is in


A few years ago at Nokia Research I took part in research to understand from where we researchers/scientists/engineers found inspiration and the environments in which we did the best work. Partly it was research to justify the move to a "collaborative working environment" or removal of the offices and stuck us all in an open area depending upon your point of view.

After many interviews and an outbreak of common sense the allocation of offices remained and productivity continued.

At least in the areas I have worked, individualism and office privacy are critical to the thinking process. There are times when you must "socialise" and present ideas but this is done in a number of forums: the small (2-3 persons) group, the larger (3+) group - the latter useful for semi-formal presentations and then the formal lecture (7+) persons where interaction is more strictly controlled. After, certainly the small group sessions, retreat to a quiet, private and personal space is critical for the whole thinking, development and inspiration process; from the above article talking about the emphasis (at least in the press) on the collaborative working environment at Apple:

The story of Apple’s origin speaks to the power of collaboration. Mr. Wozniak wouldn’t have been catalyzed by the Altair but for the kindred spirits of Homebrew. And he’d never have started Apple without Mr. Jobs. 
But it’s also a story of solo spirit. If you look at how Mr. Wozniak got the work done — the sheer hard work of creating something from nothing — he did it alone. Late at night, all by himself.
NB: emphasis mine in the above

I remember one of the outcomes of the working environments research was that the ideas came in those solitary moments - occasionally 3 o'clock on a rainy, cold Sunday morning. To me the brain requires more of these solitary times without interruption in order to process the accumulated information and churn that into "knowledge".

The article also raised, amongst others, two other points:

Brainstorming is usually a bad idea, and this I fully agree for all the reasons stated in the article.

The second point is the emphasis - as seen in many job descriptions - for an "outgoing, charismatic, team-player"...admit that you like reading books, walking alone or being individualistic and you can forget the job. The sorts of people attracted by these (and I've been requested on more than one occasion to add that as part of a job description) do not work well, nor have good productivity and research skills in the environments and for the works I (as a computer scientist/mathematician) participate in.

Fortunately the team I work with now is a collection of highly skilled individuals who understand how to work together and how each of us needs that freedom, privacy and isolation to do out best work.

Friday, 13 January 2012

Conferences

Always good to start a year off with a few conferences to be actively involved in:

And for each a short summary of their content:


Diagrams 2012:
Diagrams is the only conference series that provides a united forum for all areas that are concerned with the study of diagrams, including architecture, art, artificial intelligence, cartography, cognitive science, computer science, education, graphic design, history of science, human-computer interaction, linguistics, logic, mathematics, philosophy, psychology, and software modelling. The conference attracts a large number of researchers from virtually all these related fields, positioning Diagrams as a major international event in the area.
VL/HCC 2012:
From the beginning of the computer age, people have sought easier ways to learn, express, and understand computational ideas. Whether this meant moving from punch cards to textual languages, or command lines to graphical UIs, the quest to make computation easier to express, manipulate, and understand by a broader group of people is an ongoing challenge.
VLC 2012:
Visual languages mediate human and computer interaction. For some visual languages this mediation is straightforward; using a mouse to access a drop-down menu is well-known to computer users. For others, this mediation can be enriched via sketch and gesture recognition. This is made possible by advances in commodity hardware. More formal visual languages allow experts to accurately specify complex systems, such as software architecture or chemical molecules. A visual language can also encompass complex human-computer interaction such as navigating a set of semantically linked videos. Indeed, precision of semantics underlies visual languages and computation. 
UbiCOMM 2012:
The rapid advances in ubiquitous technologies make fruition of more than 35 years of research in distributed computing systems, and more than two decades of mobile computing. The ubiquity vision is becoming a reality. Hardware and software components evolved to deliver functionality under failure-prone environments with limited resources. The advent of web services and the progress on wearable devices, ambient components, user-generated content, mobile communications, and new business models generated new applications and services. The conference makes a bridge between issues with software and hardware challenges through mobile communications.    




    VLC 2012

    I'm always happy to join a conference committee, and here's another...

    VLC 2012 CALL FOR PAPERS


    2012 International Workshop on Visual Languages and Computing
    in conjunction with
    The 18th International Conference on Distributed Multimedia Systems
    Eden Roc Renaissance Miami Beach, USA, August 9 to 11, 2012
    Theme: Effectiveness of Visual Languages
    Organized by Knowledge Systems Institute, U.S.A.
    SCOPE
    Visual languages mediate human and computer interaction. For some visual languages this mediation is straightforward; using a mouse to access a drop-down menu is well-known to computer users. For others, this mediation can be enriched via sketch and gesture recognition. This is made possible by advances in commodity hardware. More formal visual languages allow experts to accurately specify complex systems, such as software architecture or chemical molecules. A visual language can also encompass complex human-computer interaction such as navigating a set of semantically linked videos. Indeed, precision of semantics underlies visual languages and computation.
    Aspects of visual computing are multi-faceted in goals that are to be achieved during information or language design. The following represents a short list of qualities that are of importance to the study within visual computing: efficiency, aesthetics, pleasure, emotion, engagement, immersion, collaboration, and culture. Aspects of art, engineering, and science play key roles where certain practitioners focus on design and engineering of visual interactions whereas others analyze and study these interactions (i.e., science).
    The International Workshop on Visual Languages and Computing will explore these issues, and will be held in conjunction with the 2012 International Conference of Distributed Multimedia Systems .
    For this year's special theme we request high-quality submissions on visual languages that increase the efficacy of various tasks, or on the effectiveness of visual languages themselves. In addition to the special theme, we continue to solicit papers on all aspects and approaches to visual languages and computing, including interactive visual computing, computer-empowered visual computing, human-empowered visual computing, transformation algorithms for visual computing, and visual languages for visual computing.

    Thursday, 12 January 2012

    Finnish Customer Service

    Customer service in Finland comes in two forms:  indifferent and diabolical, not so much "caveat emptor but "forsit est emptori", so it makes a change when you get customer service that can only be described as well above the call of duty.

    I tried to buy a new jacket from Retikiaitta's web shop only to find a few problems with the availability and that the site would give different answers, either available or not, depending upon when the page was loaded. Anyway, I left a comment stating so in the vain hope that someone might do something.

    About 2 hours later I get a call from the manger of the web shop apologising for the problem, followed by an interesting discussion on webpage caching, javascript, server-side caching, database issues etc. Finally he checked their central inventory, phoned Retkiaiita's store in Helsinki and reserved the jacket for me.


    Customer service as its best. So a personal recommendation to use Retkiaiitta!!!

    Now if only some other shops in Finland actually made the effort to attract and keep their customers - mentioning no names but two major DIY chains one of whom I had to use the Kuluttajavirasto to force them to admit their mistake and correct it and the other whom I found out later acted illegally according to Finnish Law. And then there's a major supermarket chain (there are only two in Finland) where two of their staff at a store in Helsinki acted in a manner which can only be described as racist.

    Actually it amazes me often, that given the state of the current economy and just general business practice how anti-customer some businesses are and actually in some cases are openly hostile to taking my money.













    Tuesday, 10 January 2012

    Diagrams

    First post of the new year and hopefully things will continue in this manner: I've been elected to the steering committee of The Theory and Applications of Diagrams* conference series.

    The International Conference on the Theory and Application of Diagrams

    Diagrams is a biannual, international and interdisciplinary conference series, covering all aspects of research on the theory and application of diagrams.

    Recent technological advances have enabled the large-scale adoption of diagrams in a diverse range of areas. Increasingly sophisticated visual representations are emerging and, to enable effective communication, insight is required into how diagrams are used and when they are appropriate for use. The pervasive, everyday use of diagrams for communicating information and ideas serves to illustrate the importance of providing a sound understanding of the role that diagrams can, and do, play. Research in the field of diagrams aims to improve our understanding of the role of diagrams, sketches and other visualisations in communication, computation, cognition, creative thought, and problem solving. These concerns have triggered a surge of interest in the study of diagrams.

    The study of diagrammatic communication as a whole must be pursued as an interdisciplinary endeavour. Diagrams attracts a large number of researchers from virtually all related fields, placing the conference as a major international event in the area.

    The next conference - Diagrams 2012 - will be in July in Canterbury, UK:

    7th International Conference on the Theory and Application of Diagrams.
    Canterbury, UK, 2-6 July 2012
    Diagrams is an international interdisciplinary conference series, covering all aspects of research on the theory and application of diagrams. In 2012 it will be held at the University of Kent overlooking the history city of Canterbury in the UK.

    Diagrams is the only conference series that provides a united forum for all areas that are concerned with the study of diagrams, including architecture, art, artificial intelligence, cartography, cognitive science, computer science, education, graphic design, history of science, human-computer interaction, linguistics, logic, mathematics, philosophy, psychology, and software modelling. The conference attracts a large number of researchers from virtually all these related fields, positioning Diagrams as a major international event in the area.
    *these sorts of diagrams: ontological diagrams (and coffee) and also (beautiful) specifications...