03 gennaio 2011

Out of doom: una prospettiva ideologica

Tracciata da Mario Monti, fondata sul liberalismo come antidoto agli illusionismi del marxismo italico e di Berlusconi. E al qualunquismo.

Quasi ovvio, è la prospettiva seguita in tutti i paesi che funzionano. Da vedere se si possa trattare di una prospettiva concreta anche in Italia.

02 gennaio 2011

Come al Sud negli anni '60

L'Italia nel suo complesso mi sembra essere nella medesima situazione del Sud Italia negli anni '60 del Novecento.

Arretratezza educativa e culturale, stagnazione economica, evasione fiscale sistematica, nessuna prospettiva di lavoro non legata a conoscenze personali, criminalità organizzata intrecciata ovunque, senso di responsabilità collettivo ed individuale assente, politica clientelare e pecoreccia, sistema dell'informazione drogato.

Dal Sud, negli anni '60, la prospettiva primaria per chi non fosse intrallazzato con i poteri leciti e illeciti era emigrare. Credo sia una prospettiva sempre più attuale anche adesso, ma anche al Centro-Nord.

La politica italiana, dagli anni '70 in poi, ha raggiunto il risultato di un'effettiva unificazione del Paese. Al livello più basso possibile.

31 dicembre 2010

Italia a fine 2010

Un articolo esemplare di Ernesto Galli della Loggia sul Corriere della Sera di ieri.

Nella prima parte descrive la situazione attuale in termini realistici. Ad esempio:

"abbiamo un sistema d'istruzione dal rendimento assai basso; una burocrazia sia centrale che locale pletorica e inefficientissima; una giustizia tardigrada e approssimativa; una delinquenza organizzata che altrove non ha eguali; le nostre grandi città, con le periferie tra le più brutte del mondo, sono largamente invivibili e quasi sempre prive di trasporti urbani moderni (metropolitane); la rete stradale e autostradale è largamente inadeguata e quella ferroviaria, appena ci si allontana dall'Alta velocità, è da Terzo mondo; la rete degli acquedotti è un colabrodo; il nostro paesaggio è sconvolto da frane e alluvioni rovinose ad ogni pioggia intensa, mentre musei, siti archeologici e biblioteche versano in condizioni semplicemente penose. Per finire, tutto ciò che è pubblico, dai concorsi agli appalti, è preda di una corruzione capillare e indomabile. C'è poi la nostra condizione economica: abbiamo contemporaneamente le tasse e l'evasione fiscale fra le più alte d'Europa, mentre gli operai italiani ricevono salari ben più bassi della media dell'area-euro; il nostro sistema pensionistico è fra i più costosi d'Europa malgrado le numerose riforme già fatte e siamo strangolati da un debito pubblico il pagamento dei cui interessi c'impedisce d'intraprendere qualunque politica di sviluppo. Ancora: nessuno dall'estero viene a fare nuovi investimenti in Italia, ma gruppi stranieri mettono gli occhi (e sempre più spesso le mani) su quanto resta di meglio del nostro apparato economico-produttivo; nel frattempo il processo di deindustrializzazione non si arresta e la disoccupazione, specie giovanile, resta assai alta."

Nella seconda parte evita di prendere posizione sulle responsabilità. Mette in un unico calderone chi si oppone a questo stato di cose e chi lo nega, affermando che in Italia le cose vanno meglio che in altri paesi e che bisogna semplicemente essere più ottimisti:

"Chi dovrebbe parlare resta in silenzio. Resta in silenzio il discorso pubblico della società italiana su se stessa, consegnato ad una miseria che diviene ogni giorno meno sopportabile. Ma soprattutto resta in silenzio la politica, divisa tra lo sciropposo ottimismo di Berlusconi, il suo patetico «ghe pensi mi» da un lato, e la vacuità dei suoi oppositori dall'altro. Bersani, La Russa, Bossi, Fini, Bondi, Vendola, Verdini, Di Pietro, Casini, e chi più ne ha più ne metta credono di parlare al Paese con le loro dichiarazioni, le loro interviste, i loro attacchi a questo o a quello, i loro progetti di alleanze, di controalleanze e di governi: non sanno che in realtà se ne stanno guadagnando solo un disprezzo crescente, ne stanno solo accrescendo la distanza dal loro traballante palcoscenico. Sempre più, infatti, la loro produzione quotidiana di parole suona eguale a se stessa: ripetitiva, irreale, ridicola."

Fa anche un unico calderone della stampa italiana, accusata di costituire

"un sistema dell'informazione anch'esso perlopiù perduto dietro la chiacchiera, il «retroscena», il titolo orribilmente confidenziale su «Tonino» o «Gianfri», il mortifero articolo di «costume»."

Ma il "tutto va bene" di Berlusconi e dei suoi non ha la stessa valenza dei tentativi delle opposizioni di affrontare i problemi del paese. Le scelte dei vecchi alleati del centro destra come Casini e Fini di distanziarsi dall'allegro cavalcare il disastro italiano non sono scelte di comodo. Le opposizioni storiche non sono tutte uguali: non si può confrontare la serietà di Bersani con l'arrivismo individualistico e la scarsa onestà intellettuale di Di Pietro.

E non si può mettere insieme Belpietro e De Bortoli, Minzolini e la Gabanelli in un unico fascio. Farlo non è qualunquismo. E' evitare di dire tutta la verità. E chi evita di dire tutta la verità risulta complice.

22 dicembre 2010

IT e BPM

La relazione tra IT e BPM (Business Process Management), in un articolo di Paul Harmon.

14 dicembre 2010

Deadline

28 novembre 2010

I rischi dello sviluppo indisciplinato

David L. Parnas: "Risks of Undisciplined Development", in Communications of the ACM, 10/2010.

"Recent experiences reminded me that the activity we (euphemistically) call software engineering does not come close to deserving a place among the traditional engineering disciplines. [...]

Many of us preach about the importance of determining the requirements a software product must satisfy, but we do not show students how to organize their work so they can systematically produce a requirements specification that removes all user-visible choices from the province of the programmer. [...]

We are caught in a catch-22 situation:

* Until customers demand evidence that the designers were qualified and disciplined, they will continue to get sloppy software.
* As long as there is no better software, we will buy sloppy software.
* As long as we buy sloppy software, developers will continue to use undisciplined development methods.
* As long as we fail to demand that developers use disciplined methods, we run the risk—nay, certainty—that we will continue to encounter software full of bugs."

07 novembre 2010

Non più di dieci

Un pattern sulla composizione dei gruppi di lavoro, formulato anni fa da Linda Rising, che ne parla in un articolo recente su IEEE Software, "The Benefit of Patterns".

05 novembre 2010

Watts Humphrey

Pochi giorni fa è morto Watts Humphrey, fondatore del Software Engineering Institute (SEI).

Edsger W. Dijkstra

Dijkstra, grande informatico olandese, morì nel 2002. Solo ora, però, Communications of the ACM ha pubblicato uno stralcio di una sua intervista del 2001, davvero interessante.

L'intervista completa è disponibile gratuitamente sul sito del Charles Babbage Institute.

L'Italia, la corruzione, il mondo

Un articolo su The Economist del 28 ottobre 2010 riporta i dati del Corruption Perception Index di Transparency International, organizzazione internazionale con sede a Berlino.

Da vergogna la mappa, che riporto qui:

01 novembre 2010

CMMI 1.3

Il Software Engineering Institute (SEI) ha pubblicato la versione 1.3 dei Capability Maturity Model: CMMI for Development (CMMI-DEV), CMMI for Acquisition (CMMI-ACQ), and CMMI for Services (CMMI-SVC.

Annuncio e pagina per il download.

09 ottobre 2010

Time: Arrivederci, Italia

08 ottobre 2010

Uno strumento di validazione per BPMN

BPMN ha le sue regole sintattiche. Di conseguenza, ogni strumento di modellazione BPMN dovrebbe verificare che i diagrammi BPMN prodotti siano validi, in termini di coerenza con le regole sintattiche dello standard.

Molti strumenti lo fanno. Difficilmente in modo completo, non sempre in modo efficace.

Bruce Silver, autore del libro più valido su BPMN, BPMN Method and Style, ha creato e reso disponibile un validatore che controlla, oltre alle regole sintattiche ufficiali, anche le regole di stile descritte nel libro.

Il validatore ha il limite (notevole) di accettare come input solo diagrammi prodotti con gli strumenti itp commerce Process Modeler for Visio e Microsoft Visio Premium 2010.

16 settembre 2010

IT, Italia

Perché l'informatica italiana è nello stato disastrato in cui è?
Non c'è un motivo solo, ma tra gli altri c'è sicuramente la corruzione: http://roma.corriere.it/roma/notizie/cronaca/10_settembre_15/tangenti-arrestato-dirigente-asl-romah-1703768575684.shtml

30 agosto 2010

UML, Everywhere

In un articolo pubblicato su IEEE Software, September/October 2010, ma accessibile dal suo blog, Diomidis Spinellis elenca le ragioni per cui UML, al di là della sua imperfezione, va usato da tutti coloro che documentano sistemi software.

Value delivery

Fornire valore agli stakeholder (le parti interessate al rilascio di un prodotto) è ciò che si chiede allo sviluppo software.
Ma le specifiche dei requisiti spesso dettagliano solo i dettagli sulle funzionalità, anziché affrontare in modo diretto gli interessi degli stakeholder e chiarire ciò che per gli stakeholder è davvero importante.

"What's Fundamentally Wrong? Improving our Approach Towards Capturing Value in Requirements Specification", un articolo di Tom Gilb con Lindsey Brodie, su Requirements Network (per leggerlo, serve una registrazione gratuita).

02 agosto 2010

Due tipi di progetto software

Due tipi di progetto software: quelli di base, a cui si chiede semplicemente di tirare fuori un prodotto che funzioni bene, e quelli strategici, che danno un vantaggio competitivo in termini di business.

Tra i due tipi di progetto sono diversi i rischi, le competenze necessarie, il modo di procedere.

Martin Fowler: Utility Vs Strategic Dichotomy.

29 luglio 2010

Ristrutturazione di UML

Un articolo (su Dr Dobb's) di Ivar Jacobson e Steve Cook sulla ristrutturazione in corso della specifica di UML e sugli sviluppi futuri della notazione.

29 giugno 2010

10 regole per prodotti di successo

Video di un intervento di Donald Norman alla conferenza Better Software 2009.

Norman è uno tra i massimi esperti di usabilità, famoso soprattutto per il libro "The Design of Everyday Things", tradotto e pubblicato da Giunti con il triste titolo all'italiana "La caffettiera del masochista. Psicopatologia degli oggetti quotidiani".

Tecno austerità

"Meno è meglio".

"I tecnologi si stanno risvegliando ai vantaggi del minimalismo, per due motivi: il fastidio per l'eccessivo numero di funzionalità dei prodotti da parte dei clienti che vogliono solo che le cose funzionino, e una forte richiesta da parte di clienti meno ricchi provenienti dai paesi in via di sviluppo."

The Economist, 12 giugno 2010.

19 giugno 2010

Nuove versioni di UML e SysML

Revisioni minori, nulla di sostanziale.

UML 2.3 (maggio 2010)
Superstructure Specification - pdf, con barre di cambiamento: formal/2010-05-06

SysML 1.2 (giugno 2010) - pdf, con barre di cambiamento: formal/10-06-02

14 giugno 2010

Ostacoli all'agilità

Articolo breve e succoso di Johanna Rothman: "Barriers to Agility". Argomenti:
  • Scegliere il giusto progetto pilota
  • Scegliere il gruppo giusto per il progetto pilota
"Se non avete la possibilità di creare un piccolo gruppo di lavoro multifunzionale, che lavori su un unico progetto, non avete l'ambiente organizzativo giusto per iniziare a operare in modo agile."

L'articolo è apparso su PragPub, una rivista online mensile pubblicata dai Pragmatic Programmers.

27 maggio 2010

Tecnica: atto tradizionale efficace

"J'appelle technique un acte traditionnel efficace (et vous voyez qu'en ceci il n'est pas différent de l'acte magique, religieux, symbolique). Il faut qu'il soit traditionnel et efficace. Il n'y a pas de technique et pas de transmission, s'il n'y a pas de tradition. C'est en quoi l'homme se distingue avant tout des animaux: par la transmission de ses techniques et très probablement par leur transmission orale."

Marcel Mauss: "Les techniques du corps", 1934

Arrivo a Mauss , sociologo noto soprattutto per i suoi studi sul significato del dono, tramite un articolo di Edoardo Sanguineti, uscito sul Corriere della Sera lo stesso giorno in cui il poeta e critico è morto durante un'operazione in un ospedale di Genova.

Una poesia di Yeats

W.B. Yeats - "He Wishes For the Cloths of Heaven"

HAD I the heavens’ embroidered cloths,
Enwrought with golden and silver light,
The blue and the dim and the dark cloths
Of night and light and the half light,
I would spread the cloths under your feet:
But I, being poor, have only my dreams;
I have spread my dreams under your feet;
Tread softly because you tread on my dreams.

W.B. Yeats (1865–1939)

Ho incontrato questa poesia seguendo un
nuovo intervento di Ken Robinson, esperto inglese di formazione, su TED.
Per chi non conoscesse Robinson, può essere utile seguire l'intervento precedente, con sottotitoli in italiano.

26 maggio 2010

Giochi per la formazione IT

Il mio interesse per il software è scaturito, trent'anni fa, quando mi è stato presentato un problema da risolvere con un flow chart, e mi ha appassionato come i giochi della Settimana Enigmistica.

L'uso dei giochi per la formazione sta forse crescendo: "Puzzle-Based learning for Engineering and Computer Science", su IEEE Computer, April 2010. (In inglese, i puzzle non sono solo i giochi in cui si incastrano le tesserine, ma anche tutti i giochi logici, linguistici, enigmistici, matematici.)

Architettura e agile

Un numero di IEEE Software, March/April 2010, con articoli incentrati sul rapporto tra "agilità" e architettura.

Rilevante un testo di Roland Faber, "Architect as Service Providers", secondo cui gli architetti software devono assumere la responsabilità di soddisfare i requisiti non funzionali, mentre ai progettisti / sviluppatori compete quella di soddisfare i requisiti funzionali.

20 maggio 2010

Demotivators

http://www.despair.com/viewall.html

Tra i miei favoriti:

"Quality. The race for quality has no finish line."

14 maggio 2010

Vecchi programmatori

Interessante l'intervento di Brian Marick, e interessanti i commenti.

13 maggio 2010

Babok online

Babok sta per Business Analysis Book of Knowledge, una guida alle attività di analisi prodotta da un organismo chiamato IIBA (International Institute of Business Analysis).

Il Babok è acquistabile come libro, ma può anche essere letto online gratuitamente su Google Books.

10 maggio 2010

iPad e usabilità

Uno studio del Nielsen Norman group, scaricabile gratuitamente.

19 aprile 2010

Semat

Semat è un'iniziativa di rifondazione dell'ingegneria del software, avviata nel novembre 2009.

Proposta da Ivar Jacobson, Bertrand Meyer e Richard Soley (OMG), ha un sito web dove è possibile consultare obiettivi, documenti prodotti e stato dei lavori.

Interessanti i "position papers" pubblicati da alcuni tra gli aderenti.

Interessante la critica di Alistair Cockburn, che si è ritirato dall'iniziativa dopo il primo meeting di lavoro.

15 aprile 2010

Database NoSQL

Per chi deve gestire grandi quantità di dati non strutturati i DBMS relazionali non sono l'unica soluzione possibile.
Database non relazionali, come Dynamo di Amazon e BigTable di Google sono stati il punto di partenza per una serie di altri prodotti, ora raggruppati sotto la sigla NoSQL.

Vantaggi e svantaggi dei DBMS NoSQL sono trattati in un articolo di Neal Leavitt su IEEE Computer di febbraio 2010.

Testing SOA

Il Software Engineering Institute (SEI) ha pubblicato un report sul testing in architetture Service Oriented (SOA).

Il report comprende 65 raccomandazioni per affrontare i problemi specifici delle architetture SOA.

Chaos Report 2009

Il Chaos Report è una fonte informativa molto citata sulle percentuali di successo dei progetti di sviluppo software. Ha una copertura di migliaia di progetti internazionali, in vari settori merceologici.

L'edizione 2009, pubblicata come sempre da Standish Group, indica un significativo peggioramento rispetto ai report precedenti.

32% di successo (progetti completati nei tempi e nei costi previsti, con le funzioni previste).
44% di successo o insuccesso parziale (progetti in ritardo, costi extra, meno funzioni di quanto richiesto).
24% di fallimento (progetti cancellati o che hanno prodotto sistemi mai usati).

"I risultati di quest'anno rappresentano il più alto tasso di fallimento nell'ultimo decennio", secondo lo Standish Group.

08 aprile 2010

Eccezioni nella TV italiana

Non tutta la TV italiana fa schifo. Report è eccellente.

Ma esistono anche altri casi eccezionali, anche se le eccezioni, quello che varrebbe la pena vedere, viene di solito mandato in onda in orari improbabili e improponibili per chi lavora.
Ad esempio, alle 12,25 del venerdì, una rubrica di notizie economiche veloci che si chiama Cifre in chiaro.

13 marzo 2010

Abreu: El Sistema

Jose Antonio Abreu, ideatore di El Sistema, un meccanismo di educazione musicale per i bambini e i giovani del Venezuela.

Su TED (Technology, Entertainment, Design):
http://www.ted.com/talks/jose_abreu_on_kids_transformed_by_music.html

Un riferimento ad una iniziativa di Claudio Abbado, per El Sistema in Italia.

12 marzo 2010

Video: Come si usa UML

Ho pubblicato una serie di 5 filmati video su
Come si usa UML

Prima parte: Cos'è UML (2 video):





Seconda parte: UML in pratica (3 video):








Metodi formali di sviluppo software

Perché i metodi formali di sviluppo software, sovente amati nel mondo accademico, non hanno avuto successo nel mondo reale?

Il motivo non è una presunta scarsa professionalità degli sviluppatori, ma il fatto che i metodi formali non sono adeguati per l'uso in ambiti operativi:
"Reports that formal methods are ready for industrial use must be taken with a grain of salt; if they were ready, their use would be widespread."

E il motivo non è neppure una presunta mancanza di fondi per la ricerca:
"More money is not the answer. [...] Research in formal methods for software development has been very well funded. More money won't help; more thinking will."

Sono affermazioni di David Parnas, uno tra i più autorevoli teorici del mondo del software.

David Lodge Parnas: "Really Rethinking 'Formal Methods'", in IEEE Computer, January 2010.

Scrivere in modo chiaro: pubblica amministrazione USA

Un sito del governo USA dedicato alla comunicazione nei confronti dei cittadini: http://www.plainlanguage.gov/

In particolare, il documento (pdf) che fornisce le linee guida è un ottimo esempio di comunicazione efficace: http://www.plainlanguage.gov/howto/guidelines/bigdoc/fullbigdoc.pdf

29 gennaio 2010

Chi fa testing

da Joel on Software:

"Who should be a tester? That’s tricky! Software testing is one of those careers that isn’t that well known, so a lot of people who would be great at testing and would probably enjoy it a lot never consider applying for jobs as testers.

Signs of a good tester:

  • Scientific
  • Loves a good puzzle, even the kind that takes days to solve
  • Likes to think about things methodically
  • Generally likes working with software and computers
[...] Since testing can be taught on the job, but general intelligence can’t, you really need very smart people as testers, even if they don’t have relevant experience. Many of the best testers I’ve worked with didn’t even realize they wanted to be testers until someone offered them the job."

21 gennaio 2010

A fine 2010, CMMI versione 1.3

Sono previste per fine anno le nuove versioni dei modelli CMMI for Development (CMMI-DEV), CMMI for Acquisition (CMMI-ACQ), CMMI for Services (CMMI-SVC).

Un articolo su Crosstalk (The Journal of Defense Software Engineering) presenta le caratteristiche delle nuove versioni.

Automation Paradox

"when a Metro subway train rammed into another train in Washington, D.C. last June, designers had to confront the unpleasant reality that automation may have been the cause.
The accident, which killed nine people and injured 80, may have been rooted in a computer malfunction and the operator’s inability to manually apply the brakes quickly enough.
The Metro train accident lies at the heart of what human factors experts refer to as the “automation paradox.” As automated systems become increasingly reliable and efficient, the more likely it is that human operators will mentally “switch off” and rely upon the automated system. And as the automated system becomes more complex, the odds of an accident or mishap may
diminish, but the severity of a failure is often amplified."

"Making Automation Work", di Samuel Greengard, in Communications of the ACM, dicembre 2009

Insegnamento online

The Inevitability of Teaching Online, di Gregory W. Hislop in IEEE Computer, dicembre 2009.

Conclusione:
"Faculty members who are not near retirement must come to terms with this seismic shift in higher education or risk being left behind. This is not to suggest
that traditional, face-to-face teaching will fade away. But it seems clear that online teaching will be a growing proportion of teaching overall, both in the form of completely online courses and blended courses with significantly reduced face-to-face interaction. To stay ahead of the wave, all instructors and institutions need to begin serious efforts in online learning today."

13 gennaio 2010

Le condizioni dell'Italia

Rapporto Istat "Noi Italia. 100 statistiche per capire il Paese in cui viviamo", edizione 2010.

Documento di sintesi in pdf.

Sito web con i dettagli.

Le condizioni della lingua italiana

Un comunicato congiunto dell'Accademia della Crusca, dell'Accademia dei Lincei, dell'Associazione per la Storia della Lingua Italiana:

http://www.accademiadellacrusca.it/lingua_italiana_scuola_sviluppo_il_documento.shtml

24 dicembre 2009

Contesto, requisiti, architettura

Tra i rischi che impattano sulle architetture software due sono particolarmente rilevanti:
  • la definizione dei confini del sistema (cioè del contesto, delle relazioni del sistema con altri sistemi esterni)
  • la vaghezza o la mancata definizione dei requisiti non funzionali
Learning from Failure, Part 1: Scoping and Requirements Woes , di Frank Buschmann, su IEEE Software nov/dec 2009.

Self-Management dei gruppi di lavoro

"The basic work unit in innovative software organizations is the team rather than the individual."

Uno studio relativo ai problemi che incontrano i gruppi di lavoro auto-organizzati nell'ambito dello sviluppo software, effettuato su 5 gruppi di lavoro in 3 organizzazioni, per la durata di tre anni, da un gruppo di ricercatori norvegesi.

Lo studio si è concentrato sia su problemi ingenerati all'interno dei gruppi di lavoro, sia su problemi derivanti dalla cultura e dai comportamenti organizzativi.

Alcune raccomandazioni conclusive:
  • Formare le persone anche su temi non strettamente legati al loro ruolo
  • Collocare il gruppo in un'unica stanza
  • Valorizzare i generalisti
  • Far crescere la fiducia e la responsabilizzaazione
  • Assegnare le persone a un solo progetto per volta.
Overcoming Barriers to Self-Management in Software Team, in IEEE Software, nov/dec 2009.

Documentazione agile

"In other engineering disciplines, the need to produce design documentation is considered de rigeur, a sometimes unpleasant but necessary chore for the sake of higher good. [...]

The primary consumers of design documentation are those who are responsible for maintaining and evolving the system.

[...] we need design documentation at a higher level of abstraction, stripped of unnecessary technological detail and closely coupled to application concepts and requirements. These should incorporate design rationale, including descriptions
of rejected design alternatives. These are, in fact, architectural specifications: technology-independent descriptions of the higher-level structure and behavior of systems along with key design principles."

Bran Selic, Agile Documentation, Anyone?, in IEEE Software, nov/dec 2009.

Scratch: programmazione per bambini

Scratch è un linguaggio di programmazione pensato per i bambini.

Per chi lo usa (anche per gli adulti), è molto divertente, e permette di fare un sacco di cose interessanti.

Dal punto di vista tecnico è potente: il MIT (Massachusetts Institute of Technology) Media Lab ha realizzato un eccellente linguaggio didattico.

Su Communications of the ACM, novembre 2009, un articolo di presentazione da parte degli autori (scaricabile ma a pagamento per i non soci ACM).

Altri articoli su Scratch (gratis).

Silos nei sistemi IT bancari

http://www.economist.com/businessfinance/displaystory.cfm?story_id=15016132

La mancata integrazione degli applicativi ha creato e continuerà a creare problemi per le banche.

09 dicembre 2009

Un mondo di hit

The Economist, November 28th 2009: A world of hits

" “Both the hits and the tail are doing well,” says Jeff Bewkes, the head of Time Warner, an American media giant. Audiences are at once fragmenting into niches and consolidating around blockbusters. Of course, media consumption has not risen much over the years, so something must be losing out. That something is the almost but not quite popular content that occupies the middle ground between blockbusters and niches. The stuff that people used to watch or listen to largely because there was little else on is increasingly being ignored. [...].

Perhaps the best explanation of why this might be so was offered in 1963. In “Formal Theories of Mass Behaviour”, William McPhee noted that a disproportionate share of the audience for a hit was made up of people who consumed few products of that type. (Many other studies have since reached the same conclusion.) A lot of the people who read a bestselling novel, for example, do not read much other fiction. By contrast, the audience for an obscure novel is largely composed of people who read a lot. That means the least popular books are judged by people who have the highest standards, while the most popular are judged by people who literally do not know any better. An American who read just one book this year was disproportionately likely to have read “The Lost Symbol”, by Dan Brown. He almost certainly liked it."

23 novembre 2009

Requisiti legati al luogo fisico

"The application shall display a local street map at all times".

Alcune implicazioni legate ai requisiti nell'uso di sistemi mobili. Neil Maiden, su IEEE Software September/October 2009.

Software sviluppato dagli utenti

La distinzione tra utenti e sviluppatori software sta rapidamente svanendo, scrivono Gerhard Fischer, Kumiyo Nakakoji e Yunwen Ye su IEEE Software, September/October 2009.

"Crediamo che gli esperti di dominio, cioè coloro che hanno i problemi, debbano farsi carico di svilupparsi il software che serve loro. [...]

The World Wide Web’s short history provides convincing evidence of the quick dissolution of the sharp distinction of design and use. In the Web’s
first decade, a clear separation between developers and users was predominant, in which users used whatever professional Web developers gave them.
As we enter the Web 2.0 era, we’re witnessing a much richer ecology of user participation. Users now also participate in various development activities
that continuously evolve Web applications through adoption, adaptation, appropriation, and mashing-up of existing Web systems."

Spam: quanti ci cascano

Non è semplice sapere quanti cadono vittima dello spam. Gli spammer non lo dicono, ma se continuano a mandare messaggi non richiesti evidentemente lo spam funziona.
Un esperimento di simulazione di spamming, finanziato dal governo USA, ha fornito per la prima volta alcune risposte statisticamente significative.

Good-bye ai DBMS relazionali?

Michael Stonebracker: The End of a DBMS Era (Might Be Upon Us).

Stonebracker è uno dei nomi storici del settore dati. Secondo lui, i DBMS relazionali attualmente leader di mercato sono pronti per la pensione, in quanto inadeguati a fornire le prestazioni necessarie a diverse tipologie innovative di sistemi, come data warehouse, OLTP, applicazioni scientifiche, motori di ricerca. Per ogni ambito esistono altre soluzioni che forniscono prestazioni migliori.

"Potreste chiedervi, 'e se per me le prestazioni non sono una fonte di preoccupazione?'. Risposta: Usate i DBMS relazionali open source. Sono maturi, affidabili, e soprattutto gratis".

25 settembre 2009

Una certa controtendenza all'outsourcing

"[There is a] heightened awareness of the risks of subcontracting. Toy companies and pet-food firms alike have found that their brands can be tainted if their suppliers (notably, from China) turn out shoddy goods. Big industrial companies have learned that their production cycles can be disruptted if contractors are not up to the mark."

The Economist, August 29th 2009

Review architetturali

Un survey sui modi in cui vengono effettuate le revisioni architetturali nelle aziende:
Muhammad Ali Babar, Ian Gorton: "Software Architecture Review: The State of Practice", in IEEE Computer, 07/2009.

Alcuni risultati. Per lo più, le revisioni architetturali:
  • avvengono in modo informale e non sistematico
  • non vedono coinvolti esperti esterni all'organizzazione
  • vengono svolte solo nelle fasi iniziali dei progetti, non durante la realizzazione effettiva

Modello Metropoli

Proposto da Rick Kazman e Hong-Mei Chen, come modello di sviluppo software distinto rispetto ai modelli waterfall, evolutivo ed agile.

Il modello Metropoli è adatto a progetti di sviluppo di sistemi "crowdsourced", cioè quelli in cui il ruolo del contributo di volontari è fondamentale. Due categorie principali:
  • prodotti open source, come Linux, Apache, Firefox, ecc.
  • "community-based service systems", come Wikipedia, YouTube, Facebook, ecc.
Per entrambe queste categorie di sistemi, esiste una distinzione rigorosa tra l'evoluzione del kernel e l'evoluzione delle altre parti più periferiche, che si articola in gestioni dei requisiti e delle scelte architetturali da effettuare su due piani distinti.

"The Metropolis Model. A New Logic for Development of Crowdsourced Systems", in Communications of the ACM, 07/2009.

Non tutti i videogame rintronano

"A growing number of researchers - and an expanding body of evidence - indicate that joysticks can go a long way toward building smarter children with better reasoning skills.
Games such as Sim City, Civilization, Railroad Tycoon, and Age of Mythology extend beyond the flat earth of rote memorization and teach decision-making and analytical skills in immersive, virtual environments that resemble the real world."

Samuel Greengard, "Are We Losing Our Ability to Think Critically?", in Communications of the ACM, 07/2009.

One Laptop Per Child, un bicchiere mezzo ...

L'iniziativa One Laptop Per Child (OLPC), lanciata nel 2005, mirava a fornire entro due anni 150 milioni di PC a basso costo ai bambini del terzo mondo.

I risultati effettivi sono stati molto inferiori, per due motivi principali:
Si è sottostimato quanto sia importante la conoscenza delle diverse realtà sociali e politiche di ogni singolo paese per l'effettiva diffusione degli strumenti tecnologici. I governi non sono tutti uguali, e vanno tenuti in considerazione il punto di vista delle associazioni di insegnanti, dei sindacati, ecc.
L'industria IT si è sentita minacciata dalla promessa di PC a basso prezzo (inferiori a 100 dollari, era l'obiettivo) al di fuori del propro controllo, e ha reagito con proposte alternative come il Classmate di Intel, e la nuova categoria dei Netbook.

"So rather than distributing millions of laptops to poor children itself, OLPC has motivated the PC industry to develop lower-cost, education-oriented PCs, providing developing countries with low-cost computing options directly in competition with OLPC's own innovation. In that sense, OLPC's apparent failure may be a step toward broader success in providing a new tool for children in developing countries. However, it is also clear that the PC industry cannot profitably reach millions of the poorest children, so the OLPC objectives might never be achieved through the commercial market alone."

L'analisi sullo stato dell'iniziativa OLPC è stata pubblicata da Kennet Kramer, Jason Dedrick e Prakul Sharma in Communications of the ACM, 06/2009.

Free Software e Open Source

Anche se quasi sempre i prodotti "open source" sono disponibili gratuitamente, si tratta di due filosofie ben distinte. Lo ribadisce Richard Stallman, padre della Open Software Foundation, in "Why 'Open Source' Misses the Point of Free Software", in Communications of the ACM, 06/2009.

"Nearly all open source software is free software; the two terms describe almost the same category of software. But they stand for views based on fundamentally different values. Open source is a development methodology; free software is a social movement. For the free software movement, free software is an ethical imperative, because only free software respects the users' freedom."

Non solo computare

Peter J. Denning: Beyond Computational Thinking, in Communications of the ACM, 06/2009

Per Denning, ex presidente dell'ACM, la vecchia definizione di computer science come "lo studio dei fenomeni relativi ai computer", che risale al 1970, va sostituita con "lo studio dei processi di informazione, naturali e artificiali".

Lean Primer

Una introduzione sintetica ed efficace al pensiero "lean", di Craig Larman e Bas Vodde.

Jacobson su UML

Ivar Jacobson (uno dei padri di UML): Taking the temperature of UML

"After all, UML was only a notation, not a silver bullet [...] Today the world looks upon UML with a more balanced perspective. UML is not the ”silver bullet” it was sold as ten years ago. Nor is it as bad as academicians, agilistas and competitors claimed five years ago. Used appropriately it is a practical tool for raising the level of abstraction on software from the level of code to the level of the overall system."

Software Engineering sorpassato?

Software Engineering: An Idea Whose Time Has Come and Gone?
Tom DeMarco, IEEE Software, July/August 2009

Quanto è importante, quanto decisivo il ruolo delle metriche e dei sistemi di controllo per il successo di un progetto? DeMarco rianalizza uno dei suoi testi più influenti, Controlling Software Projects, del 1982, e ne critica l'impostazione globale.

"The book for me is a curious combination of generally true things written on every page but combined into an overall message that’s wrong.
It’s as though the book’s young author had never met a metric he didn’t like. The book’s deep message seems to be, metrics are good, more would be better, and most would be best. [...]

I’m gradually coming to the conclusion that software engineering is an idea whose time has come and gone. I still believe it makes excellent sense to engineer software. But that isn’t exactly what software engineering has come to mean. The term encompasses a specific set of disciplines including defined process, inspections and walkthroughs, requirements engineering, traceability matrices, metrics, precise quality control, rigorous planning and tracking, and coding and documentation standards. All these strive for consistency of practice and predictability.
Consistency and predictability are still desirable, but they haven’t ever been the most important things."

Erodoto: divisione del lavoro in medicina (antico Egitto)

Erodoto, Storie (libro II, 84)

"L'arte della medicina è da loro [Egiziani] divisa nel modo seguente: ognuno è medico di una sola malattia e non di più. Ogni luogo perciò è pieno di medici, perché ci sono i medici degli occhi, quelli della testa, dei denti, quelli delle malattie intestinali e quelli delle malattie incerte."

27 luglio 2009

Mari sul design

Un libro di Enzo Mari sul design:
Lezioni di disegno. Storie di risme di carta, draghi e struzzi in cattedra. Rizzoli 2008.

Il design (architettura, ma molti spunti sono trasferibili al software), la formazione al design, la società. Scritto e disegnato a mano, con intrecciarsi sapiente di testo corsivo e disegni.

10 luglio 2009

Etica del software

Un numero speciale di IEEE Computer, June 2009, sugli aspetti etici della produzione di software.

Tra gli articoli, "The public is the priority: making decisions using the Software Engineering Code of Ethics", di Donald Gotterbarn e Keith W. Miller, che spiega come si può e si deve usare il Codice Etico di Sviluppo Software di ACM e IEEE Computer Society, del quale potete trovare qui la versione italiana.

Al prezzo più basso

Nelle gare d'appalto, spesso vince il fornitore che offre il prezzo più basso. E cominciano i guai, dato che "offerte e stime troppo basse sono spesso indicative di una scarsa competenza".

"How to avoid selecting bids based on overoptimistic cost estimates", è un articolo di Magne Jorgensen, pubblicato su IEEE Software May/June 2009.
L'articolo riporta i risultati di una serie di studi e sondaggi, e offre una serie di raccomandazioni utili per il processo di selezione.

Come rompere il software

How to break software. A Practical Guide to Testing, di James A. Whittaker, Addison-Wesley 2002.
Poca teoria, tanta pratica, suggerimenti concreti, anche un CD con tool per simulare problemi (poca memoria, connessioni interrotte, hardware mal funzionante...) nell'ambiente che ospita le applicazioni da testare. Testo utile e ben scritto.

Software per il sociale

Negli Usa, da anni, la computer science ha perso attrattiva per i giovani come oggetto di studio universitario. Per renderla più attraente, sostiene Michael Buckley, professore a Buffalo, è necessario che i problemi informatici trattati durante la formazione universitaria (casi studio, esercizi) contribuiscano a risolvere problemi sociali.

Michael Buckley: Computing as Social Science, Communication of the ACM, April 2009.

Fucine di software

Le Software Forges (fucine di software) sono ambienti collaborativi nati per lo sviluppo e la diffusione di software open source, il più famoso dei quali è probabilmente SourceForge. Negli ultimi anni, l'esperienza ha avuto un progressivo allargamento anche agli ambiti aziendali, con la creazione di fucine di software all'interno di singole organizzazioni.
Dirk Riehle e altri suoi colleghi di SAP spiegano su IEEE Software March/April 2009 le caratteristiche della fucina interna di SAP e fanno alcuni confronti con quelle, sempre interne, di IBM, HP e Microsoft.

Tracciabilità multimediale dei requisiti

I requisiti si possono scoprire in molti modi. Anche con registratori e videocamere, ormai presenti in diversi telefoni cellulari. Come gestire la tracciabilità, quando la fonte documentale del requisito è un audio o un video?

Il tema è oggetto di un articolo di Olly Gotel e Stephen Morris, "More than Just 'Lost in Translation'", su IEEE Software March/April 2009.

04 giugno 2009

Sull'Italia attuale

"If a nation expects to be ignorant and free, in a state of civilization, it expects what never was and never will be."
Thomas Jefferson

Software Embedded: dati

"Il mercato mondiale per i sistemi embedded è di circa 160 miliardi di euro, con una crescita annuale del 9 per cento.
[...]
Le nuove auto hanno attualmente da 20 a 70 control unit, con più di 100 milioni di linee di codice [...]".

L'articolo, di Christof Ebert e Capers Jones su IEEE Computer di aprile 2009, è ricco di dati utili per la comprensione delle specificità e del peso economico della "nicchia" dell'embedded nel contesto del mercato software globale: "Embedded Software: Facts, Figures, and Future".

23 maggio 2009

Giochi per educare gli informatici

"Puzzling Problems in Computer Engineering", un articolo di Behrooz Parhami su IEEE Computer, marzo 2009.

Una serie di giochi-problemi messi a punto dall'University of California, Santa Barbara. L'articolo è a pagamento, ma l'autore ha pubblicato un sito web da cui i giochi-problemi possono essere scaricati gratuitamente.

Accreditare i software engineer?

"Licensing Software Engineers?" è un articolo di Philippe Krutchen su IEEE Software, nov/dec 2008.

Krutchen parte citando Dilbert di Scott Adams: "The goal of a software engineer is to retire without having caused any major catastrophe", e argomenta in modo convincente in favore di una qualche forma di accreditamento per chi progetta sistemi critici.

Afferma tra l'altro: "Accreditare i software engineer non c'entra nulla con l'escludere qualcuno dallo sviluppo software. Solo alcuni devono mettere la firma su un progetto di software critico, che può causare la morte di persone. Non tutti quelli che lavorano in un ospedale devono essere dottori ."

22 maggio 2009

Organizzazione e qualità del software

La complessità dell'organizzazione coinvolta nello sviluppo software potrebbe essere il fattore più importante per prevedere la qualità del software stesso.

Uno studio empirico condotto da due ricercatori Microsoft e da Victor Basili (Università del Maryland) definisce otto misure relative alla struttura organizzativa, e le applica su dati provenienti dal progetto di Windows Vista.

Secondo lo studio, le misure sulla struttura organizzativa costituiscono un indicatore affidabile per prevedere la qualità del software. Più affidabile di altri indicatori che vengono usati comunemente, come il numero di difetti pre-release, il numero di dipendenze, la complessità ciclomatica, il numero di modifiche in corso d'opera.

TED in italiano

TED (Technology Entertainment Design) è un ciclo di conferenze internazionali molto interessante.

La durata massima di ogni conferenza è di 20 minuti, e i relatori ed i temi affrontati sono eccellenti.

Ora alcune delle conferenze sono state sottotitolate in italiano, e vale la pena godersele.

19 aprile 2009

I bambini imparano da soli

Un video che mi ha colpito. Un computer collegato a internet messo a disposizione di bambini in remoti villaggi indiani, senza insegnanti, per bambini che non conoscevano l'inglese. E i risultati.

Su TED, la presentazione di Sugata Mitra.

04 aprile 2009

Hardware/Software Codesign

An adaptive hardware/software codesign model enables consumer electronics companies to reduce production cost and maximize profits by progressively modifying codesign options over the life cycle.

A Survival Kit: Adaptive Hardware/Software Codesign Life-Cycle Model, di Dong-hyun Lee e altri, su IEEE Computer, febbraio 2009.

24-Hour Knowledge Factory

Tre turni: uno in Africa o Europa, uno in Asia, uno in America.

Tutti lavorano di giorno, alla luce del sole (anche con benefici per la salute, dato che lavorare di notte aumenta i rischi di cancro al seno e alla prostata).

L'articolo è di Amar Gupta, su IEEE Computer di gennaio 2009.

10 marzo 2009

Product Owner

Il Product Owner è uno dei ruoli principali di Scrum, uno dei processi agili più diffusi.
In italiano, lo si può tradurre come "proprietario del prodotto", o "responsabile del prodotto".

Dal punto di vista di chi sviluppa software, corrisponde in linea di massima al ruolo di "committente", cioè di chi ha la responsabilità di decidere i requisiti da soddisfare, le priorità di realizzazione, l'accettabilità dei risultati forniti dagli sviluppatori.

Certamente è il ruolo più importante per il successo di un prodotto, di un sistema. Ma è arduo da svolgere, perché non esiste un percorso formativo per diventare Product Owner, e può capitare che il ruolo non sia riconosciuto in termini di autorità e responsabilità all'interno delle organizzazioni.

Sul ruolo di Product Owner, uno scritto interessante di Jeff Patton.

01 marzo 2009

Il (software) design come fatto sociale

Richard Gabriel è uno dei leader storici della comunità dei software design pattern.

Ha pubblicato da poco uno scritto interessante, Designed as Designer, in cui affronta la tesi romantica della creazione di un design (di un'architettura) come espressione totalmente autonoma di un'individualità. Non è certo il primo a smontare la creatività romantica, ma la sua argomentazione è supportata da esempi illuminanti.

Gabriel evidenzia come ogni design (di un edificio, di una poesia, di un software) sia il frutto di due relazioni:
  • del designer con altri designer, e più in generale con altre persone (collaboratori, revisori, ecc.)
  • del designer con il materiale trattato, che condiziona e influenza ogni scelta di design
Il design non è la semplice implementazione nella materia di una creazione già avvenuta nella testa del progettista, ma un graduale e progressivo processo di lavoro in cui le due relazioni (con la materia, e con le opinioni e i prodotti di altre persone) prendono forma.

Lo sviluppo sw è un fatto sociale, più che tecnologico

"As we realize that software development is often more about people - collaboration, communication, and coordination - than technology, developing 'soft skills' such as meeting-management techniques is becoming more important".

Nell'articolo "When Robert Rules", su IEEE Software Jan/Feb 2009, Philippe Krutchen segnala un metodo di gestione delle riunioni pubblicato nel 1896 da un generale USA, Henry M. Robert, e ancora utile oggi, le Robert's Rules of Order.

06 febbraio 2009

Evolutionary System Development

Un articolo di Peter Denning, Chris Gunderson e Rick Hayes-Roth, tre esperti IT di lungo corso che lavorano attualmente per la US Navy, la marina statunitense, segna a mio avviso una tappa importante nel percorso verso la piena affermazione dei processi agili.

"The software engineering community has hotly debated preplanned versus agile processes. After a while they reached a truce where they agreed that preplanning is best for large systems
where reliability and risk-avoidance are prime concerns, and agile is best for small to medium systems where adaptability and user friendliness are prime concerns.
We challenge that conclusion. Preplanning is ceasing to be a viable option for large systems. [...]

Whereas preplanned development seeks to avoid risks, evolutionary development mimics nature and embraces risks. The developers purposely expose emerging systems to risks to see how they fail, and then they build better system variants. It is better to seek risk out
and learn how to survive it. [...]
All the evidence says that that evolutionary processes works for systems large and small, and that risk seeking is the fastest route to fitness. There is too much at stake to continue to allow us to be locked into a process that does not work."

L'articolo è stato pubblicato nel numero di dicembre 2008 di Communications of the ACM.

04 febbraio 2009

Comunità di contenuti

Un articolo di Wojciech Cellary, universitario di Poznan, "Content Communities on the Internet", confronta le comunità territoriali (le relazioni che si stabiliscono nel luogo in cui si risiede) con le comunità che si formano su internet in merito ad uno specifico argomento (ad esempio gli appassionati della Fiat 500, o le persone interessate agli standard ISO9000).

L'analisi comparativa fa emergere alcuni aspetti interessanti, tra cui:
  • nelle comunità di contenuti, il fatto che le relazioni si stabiliscano su un unico argomento porta naturalmente ad una radicalizzazione delle posizioni
  • affinché la comunità di contenuti si sviluppi in modo positivo, la partecipazione non deve essere anonima.
L'articolo è apparso su IEEE Computer, November 2008.

Libro su BPMN

Scritto da Stephen White (il coordinatore del gruppo di lavoro che ha prodotto e fa evolvere lo standard) con la collaborazione di Derek Myers: BPMN Modeling and Reference Guide, Future Strategies 2008.

BPMN (Business Process Modeling Notation) è lo standard per la rappresentazione dei processi di business, gestito dall'Object Management Group (OMG).

Il libro non aggiunge nulla a quanto contenuto nella specifica ufficiale OMG, scaricabile gratuitamente - ma è organizzato e scritto in un modo più comprensibile. Alcuni esempi sono diversi rispetto a quelli presenti nella specifica ufficiale - in altri casi, gli esempi sono identici.

Si poteva fare di meglio, dato il livello di competenza degli autori, ma il libro costituisce comunque un'utile introduzione all'argomento.

29 gennaio 2009

PMBOK 4

Nuova edizione del Project Management Book of Knowledge (PMBOK), la quarta, uscita il 31-12-2008.

Il Project Management Institute (PMI) ha pubblicato un contemporaneo aggiornamento anche di altri tre propri standard:
  • Organizational Project Management Maturity Model (OPM3)
  • Program Management
  • Portfolio Management
Un aspetto di cronaca: il prezzo praticato dal PMI ai propri soci per acquistare lo standard è superiore a quello praticato da Amazon.

Le migliori scuole del Piemonte

Classifica delle scuole medie superiori del Piemonte, compilata dalla Fondazione Agnelli.

Magari le singole collocazioni sono discutibili. Magari sono discutibili anche i criteri di valutazione.

Ma è comunque un grosso passo avanti il fatto che si pensi a rendere esplicita, pubblicamente confrontabile e discutibile, la domanda che genitori e studenti si fanno, da sempre, su quali siano le scuole più affidabili.

Da notare la collocazione in graduatoria delle scuole private, giù giù giù.

06 gennaio 2009

Fare attenzione, sempre più difficile

Email, SMS, Facebook, ... se non si è disciplinati, gli stimoli che ci distraggono ci possono risucchiare.

La capacità di lavorare, di progredire, di ottenere risultati si basa sulla concentrazione, sul prestare attenzione. Ma ogni fonte informativa ed ogni canale di comunicazione si ripromettono di ottenere, sia pure per poco, la nostra attenzione. Di distrarci dal nostro focus.

Questo articolo di Mike Elgan lo spiega bene. Sei ore di lavoro concentrato ottengono ben di più di dodici ore di lavoro inframmezzato da email, telefonate, sms, navigazioni web, ecc.

29 novembre 2008

Usabilità, requisiti e progetti agili

Jakob Nielsen è un esperto di usabilità. Nella sua newsletter Alertbox parla del rapporto tra usabilità e approcci agili. L'argomentazione di Nielsen prende l'avvio dai requisiti:

"Requirement specifications are always wrong.

At best — when derived with care — the requirements might reflect what
users want. More commonly, however, they reflect the desires of user
'representatives' who are too far removed from the coalface to know the
details of the real work. In any case, what users want and what users need
are two different things, which is why it's long been a primary usability
guideline to watch what users do, rather than listen to what they say".

CMMI e Agile

Il Software Engineering Institute (SEI) è un'istituzione finanziata dal governo e da grandi aziende USA. Nei corsi che tengo sono solito raccomandare il sito del SEI come una delle fonti più autorevoli di documentazione sulle tematiche dello sviluppo software. Documenti di alta qualità, e gratuiti.

Tra le altre cose, il SEI è noto per aver creato il CMMI-SW (Capability Maturity Model Integration), un modello per la valutazione del grado di maturità delle organizzazioni che sviluppano software. Modello applicato dal governo americano e da molte organizzazioni internazionali per selezionare i propri fornitori nello sviluppo software.

Il CMMI-SW è spesso ritenuto, a torto, come un modello che porta a burocratizzare lo sviluppo, pesante e con effetti negativi sulla produttività e sulla flessibilità. Può essere applicato così, è vero. Ma pesantezza e burocrazia non sono affatto insite nel modello, bensì sono causate da chi lo interpreta in modo superficiale.

Una recente pubblicazione del SEI, "CMMI or Agile: Why Not Embrace Both!" evidenzia la compatibilità del CMMI con gli approcci agili.

Risorse educative aperte

Global Warming Toward Open Educational Resources, un articolo di Richard G. Baraniuk e C. Sidney Burrus su Communications of the ACM, settembre 2008.

Sulla diffusione di ambienti e strumenti gratuiti per la formazione. Tra cui:

MIT: Open-CourseWare e OCW consortium

Rice University: Connexions

Open University: OpenLearn

Carnegie Mellon University: Open Learning Initiative

Destino degli strumenti Telelogic

Dopo parecchi mesi, si è delineato il quadro di integrazione degli strumenti Telelogic (per la gestione dei requisiti e per la modellazione UML - SysML) in ambito IBM.

Il problema essenziale era come far convivere l'offerta Telelogic con l'offerta concorrente della linea Rational. Un paio di articoli (SDTimes , eWeek) fanno finalmente emergere cosa IBM propone ai propri clienti.

Modelli di stima dei costi nel software

Cocomo (Constructive Cost Model) è ritenuto comunemente il modello per la stima dei costi più completo ed affidabile in ambito software.

Achievements and Challenges in Cocomo-Based Software Resource Estimation (su IEEE Software, September-October 2008) è un articolo scritto dal padre di Cocomo, Barry Boehm, insieme a Ricardo Valerdi del MIT.

L'articolo fa il punto sullo stato dell'arte, le criticità e le tendenze nell'evoluzione dei modelli previsionali.

Tecnologie digitali e disintegrazione sociale

The Dea[r]th of Human Understanding. La penuria (la morte) della comprensione umana. Un articolo di Neville Holmes su IEEE Computer, ottobre 2008.

Holmes cita Nicholas Carr (Is Google Making Us Stupid?), ma espande la sua analisi sul ruolo e sugli effetti dei videogiochi. Pessimista, e convincente.

Princìpi di software testing (Meyer)

Da un articolo di Bertrand Meyer, uno dei nomi più importanti nel campo del software design:
  • Principle 1: Definition. To test a program is to try to make it fail.
  • Principle 2: Tests versus specs. Tests are no substitute for specifications.
  • Principle 3: Regression testing. Any failed execution must yield a test case, to remain a permanent part of the project’s test suite.
  • Principle 4: Applying oracles. Determining success or failure of tests must be an automatic process.
  • Principle 5: Manual and automatic test cases. An effective testing process must include both manually and automatically produced test cases.
  • Principle 6: Empirical assessment of testing strategies. Evaluate any testing strategy, however attractive in principle, through objective assessment using explicit criteria in a reproducible testing process.
  • Principle 7: Assessment criteria. A testing strategy’s most important property is the number of faults it uncovers as a function of time.
Su alcuni di questi princìpi (in particolare sull'ultimo) ho dei dubbi. Ma vale la pena di leggere l'articolo (su IEEE Computer, agosto 2008), per chi ha la possibilità di accedere alla rivista (che consiglio).

10 novembre 2008

La nuvola

The cloud - la nuvola. L'infrastruttura di elaborazione evaporata.

O, meglio, servizi di elaborazione erogati allo stesso modo dell'energia elettrica, da grandi centrali che garantiscono una continua disponibilità. Le stanno costruendo, tra gli altri, Microsoft, Google, IBM, HP, Amazon.

Una soluzione attraente - in termini di costi - per diverse tipologie di potenziali clienti. Ma con rischi significativamente diversi rispetto ad altre forme di outsourcing.

Al cloud computing è dedicato un inserto pubblicato il 23 ottobre dall'Economist.