Dangers of Prototyping

Date Arrow  August 15, 2008

Frederick P. Brooks Jr. has written about prototypes, saying that they are not only useful but strictly fundamental pieces of the overall software process, as in many other engineering activities. He gives the example of a pilot chemical plant, prepared to process 10′000 units per day instead of the 2 million units a day that the final plant would have to handle, in order to demonstrate the feasibility and uncover some unforeseen problems.

He summarizes his opinion in the famous phrase “plan to throw one away” (Brooks, 1995, page 116), underlining the problem of change management: managing change, right from the beginning of the project, instead of ignoring or avoiding it, is particularly important in software projects, since it presents a solid mindset for all stakeholders in order to avoid scope creep, schedule and staffing problems.
Following →

Tagged   Opinion · Papers · Project Management  Commenting  Commenting (2)

Saving a Failing Project

Date Arrow  August 11, 2008

In 2006 I had the opportunity to work as a “project leader” into a small failing project. Three developers were working in an ad hoc basis, creating a software application for an important client (a government office in Lausanne), without any kind of detailed formal specification, without any kind of design documentation, and with strong pressure from the management to release the application, even if not in an usable state. Needless to say, the project was also beyond budget.

I had just joined this company a couple of days ago, and the management asked me to take the project in charge. Not an easy task, particularly because it was my first experience of this kind.
Following →

Tagged   Papers · Project Management · Quality · Software  Commenting  Commenting (7)

Ceremony

Date Arrow  August 9, 2008

A comment I’ve left in David’s last article:

The ceremony? A revolting demonstration of how “One World, One Dream” means the destruction of all diversity for the sake of some governing power that be, forcing a single idea on everyone. A vomiting sequence of thousands of ants and bees moving at the compass of the negation of self.

That’s what that ceremony is all about: a demonstration of power: “we have 1500 million nameless people under our power, ready to move as we tell them to”. It makes me think of the “Borg” in the Star Trek movies: “All resistance is futile”.

You know what? This ceremony & in general these games makes me think about the 1978 Argentina Soccer World Cup. There were merely 200 meters between the largest stadium (River Plate, in the neighborhood of Núñez) and one of the biggest concentration and torture camps of the dictatorship (The “Escuela de Mecanica de la Armada”).

This ceremony is as revolting as the declaration of Muñoz, a radio and TV speaker, saying “We Argentines are Human and Righteous”. Because right there they were drowning and burning pregnant women and stealing their babies. And 500 meters away from the river, where they were throwing corpses (and living people too) into oblivion, with their feet in concrete to ensure their eternal silence.

For me this ceremony is like watching Argentina winning 6-0 against Peru in the semifinal. The same bad joke, and the people in the country defending themselves against the “bad foreign press”, who are “jealous” of how good their country is doing.

I want to vomit. This is a big circus and everyone is watching it. Geez. I’m not happy.

Tagged   Act Now · Argentina · Human Rights  Commenting  Commenting (1)

Adding Manpower

Date Arrow  August 8, 2008

Published in 1975, “The Mythical Man-Month” is considered an all-time classic in the software engineering field. The book author, Frederick P. Brooks Jr., used his experience as the project manager of the IBM System/360 and its software, the Operating System/360, to explain a common set of problem patterns, applicable to other software projects as well.

One of the most famous citations in the book is the one regarding the consequences of adding human resources to a late project; this article will provide a couple of thoughts about this assertion, and highlight some contrariwise opinions.
Following →

Tagged   Architecture · Books · Papers · Project Management · Software  Commenting  Commenting (1)

Certification

Date Arrow  August 5, 2008

While several other professions have a long, established and standard procedure of certification, the title “software engineer” is applied to both self-made developers, turned into experts of some technique, or to people with PhD degrees, and a long history of both academic and professional achievements.

When in some situations it is not legally possible to use the title “software engineer” without an engineering degree of some kind (for example, in some states of the USA or some institutions like the IEEE - http://www.ieeeusa.org/policy/positions/titleengineer.html), the term “software developer” is usually applied to people in charge of designing, writing and / or maintaining software-based systems. I will use the terms developer and engineer interchangeably in this discussion, which some people might think is not correct.
Following →

Tagged   Papers · Project Management · Quality · Software  Commenting  Commenting (2)

Challenges for Software Engineers

Date Arrow  August 3, 2008

Software Engineering is the youngest of all the professions, being born around 50 years ago, but since then it has been continually improved. Practicers have fiercely debated upon it through the years, given the extremely fast pace of the innovations in the field, and the extremely difficult and inherently dynamic nature of software. Many trends have appeared and vanished, and many others will come.

In this article I will provide a short overview of two kinds of challenges that I consider that software engineers will have to confront in the next 20 years: the human and the technical.
Following →

Tagged   Architecture · Opinion · Papers · Software · Technology  Commenting  Commenting (3)

Nibs

Date Arrow  July 14, 2008

I’m sure the pun between the acronym for “NeXT Interface Builder” and this definition of “cocoa beans” is intentional, but it surprised me anyway:

Tagged   Apple · Humour  Commenting  Commenting 

A Watch - from an OOP perspective

Date Arrow  July 13, 2008

A watch might be one of the most common types of objects, but it remains also one of the earliest pieces of human craftmanship to show an extreme level of complexity, all contained in a small amount of space. Since the late 1700s, artisan watchmakers in Switzerland and elsewhere have shown their pride and skills creating watches called “Grande Complications”, containing thousands of individual parts and performing incredible functions:

The most complicated watch ever made, known in watch enthusiasts’ circles as “The Ultimate Watch,” is Patek Philippe’s “Calibre 89.
The incredibly precise operation of 1728 parts in this really ultimate masterpiece of watchmaking allows to perform no less than 33 (thirty-three!) complicated functions, among them a correction for the 400-year-rule, an Easter date indication, a star chart, a tourbillon, a perpetual calendar, a sidereal time indication, and, and, and …
This watch was sold in 1989 for the nice round sum of about four million Swiss francs.”

(Ozdoba, 2005)


(Source: CNN.com, 2005)

More information about the “Calibre 89″ can be found here and in the Patek Philippe Museum website.

However, the same watchmakers that made these fine pieces were also aware of the basic information that their creations were to provide: time. As such, their watches remained extremely easy to use, and they set up the basic standard for analog watches, in such timeless designs that the latest Swatch models show the same basic layout and functionality.

The underlying concept is the very same used in today’s object-oriented abstraction and encapsulation. Even Apple uses the idea of the watch to show this characteristic:

All programming languages provide devices that help express abstractions. In essence, these devices are ways of grouping implementation details, hiding them, and giving them, at least to some extent, a common interface—much as a mechanical object separates its interface from its implementation, as illustrated in Figure 2-1.


(Source: Apple Developer Connection, 2006)

In this article I will provide my view about how different OOP concepts apply to a real-life object such as a watch, in all its forms.
Following →

Tagged   Papers · Software  Commenting  Commenting 

iPhone at the Swiss Apple Store

Date Arrow  July 10, 2008

Available right now:

Tagged   Apple  Commenting  Commenting (2)

App Store arrived!

Date Arrow  July 10, 2008

Click on the “Applications” item in iTunes, and you’ll see this at the bottom of the screen:

Clicking there, you’ll get to the App Store:

Tagged   Apple · Technology  Commenting  Commenting