On Quality and Value in Software Development

Software Quality is a nice subject to write about. So much to say with plenty of viewpoints to choose from. Wikipedia tells me it is about functional quality (how well it complies  or conforms with design or requirements), or structural quality. (the non-functional aspects) There’s an ISO standard on Software Quality Requirements and Evaluation, and another one on Process Improvement and Capability Determination. Via that route we can then continue into the process for making a quality product and invoke CMMI; the integrated model for maturity capabilities.

Actually, there’s so much on the subject you’d wonder why it even is an issue. I personally think there is a simple reason for all this: for software, quality is an inherently vague quality! [sic]

Continue reading

Posted in Musings, Software Engineering | Tagged , | Leave a comment

How Functional are your Non-Functional Requirements?

Recently a small post on Slashdot concerning an article by Dan Crawford, on the performance of modern dynamic languages in general and JavaScript in particular, showed up and Dan’s site was quickly “slashdotted“. The next day the article was followed up with an article by Shai Almog who worked (among other things) with Sun on JIT compilers for mobile platforms. Tempers are running hot, so I guess we haven’t reached the end of this discussion yet.

What the whole discussion is about, just to get down to the basics of it, is whether dynamic, interpreted languages will ever get on an equal footing with something like C, on a mobile platform. The central discussion is concerned with memory management; where Java popularized an approach where you don’t have to clean up (or even: can’t clean up) behind your back, because a Garbage Collector will do that for you. If you are a Software Developer or Architect and like reading a well-researched article about the dangers of over-reliance on features such as Garbage Collection, please do read Dan’s article.

What got me thinking, was the vehemence as well as the technical focus of the discussion, for something non-techies are more-and-more getting interested in: non-functional requirements.

Continue reading

Posted in Requirements Management, Software Engineering | Tagged , , | 1 Comment

Measuring IT Project Success: How we love to go in Denial

In the nineties I had my first Project Management related training, where I was introduced to the Standish Group‘s Chaos Study. This study collected, through question forms, information on IT related projects and their success. The study asked for projects to be classified as “Failed”, “Challenged”, or “Successful”, and asked respondents what factors influenced this outcome. The score for successful projects in 2004 was abysmal: only 29%, with 53% “Challenged”. (Over budget, late, or incomplete) For the training, this study was used to emphasize (among other things) the need for good project management, by referring to the list of factors influencing the result.

At that time I had already seen several project become challenged due to bad (“less then good”?) project management. However, if you read recent articles referring to the Chaos study, you’ll find that many are questioning the project success classification. They challenge the study’s findings by asking if a project’s success was measured correctly. As an all-round software guy, I know that project success is hard to grasp, but I still thought the study’s results very useful due to that list of factors. In my eyes, that was the most significant finding, not the bare success scores. Then again, I accepted the premise that a lot of projects don’t qualify as the success they’re presented as. Some people just seem to prefer denial.

Continue reading

Posted in Project Management, Software Engineering | Tagged , , , , | Leave a comment

First steps with my Arduino!

It has taken some time, but my first Arduino sketch worked! I found a great set of pushbuttons with embedded LED’s, so perfect for building a Boeing style MCP, and just got the LED’s to work with my Arduino.

Look at it blinking...

Posted in Arduino, Fligh Simulator | Leave a comment

New pages added

I added two new pages. Not much in there but the intent, but there you are: Hands-on Security and Hardware Fun.

Cheers,
Bert

Posted in Uncategorized | Leave a comment

Using KVM on CentOS 6.3 as a Hobbyist’s Hypervisor

CentOS logoOk, this one was a real quickie, thanks to the earlier test with Ubuntu Server. I mainly wanted to check if there was any difference, given that CentOS is basically the free (as in: not commercially unsupported) Red Hat Enterprise Linux 6.3. Originally RHEL used Xen as the default Hypervisor, but since 6.2 they switched to KVM. For those who never tried out different flavors of Linux, there are three major family trees (in alphabetical order): Debian, Red Hat, and Slackware. Ubuntu comes from the Debian tree, SUSE is one I have used from the Slackware tree, and CentOS comes from Red Hat. There are some basic configuration and directory tree differences between these three. Wikipedia has a nice tree image as well as a comparison article. CentOS gave me no real surprises.

Continue reading

Posted in Uncategorized | Leave a comment

Using Citrix XenServer as a Hobbyist’s Hypervisor

Citrix logo

When I started experimenting with VMs on my home server, I had a Ubuntu Server system as a base. For Linux there are two main players in the Hypervisor field: KVM and Xen. Xen is the Hypervisor that Citrix bases its server on and they have a free download of it available called XenServer, so I thought that would be a good first sniff at Xen.

Continue reading

Posted in Hands-on, Tools | Tagged , , , , | Leave a comment