Pagine

lunedì 31 marzo 2008

CMMI + altri metodi e standard

Se si cerca la soluzione unica e definitiva ai problemi dello sviluppo e della gestione dei sistemi informatici, può capitare di pensare che CMMI (Capability Maturity Model Integration), ISO, ITIL, CoBIT, Six Sigma, lean, processi agili, ecc. siano tra loro alternativi. Non è così, afferma Mike Phillips del Software Engineering Institute, che chiarisce le relazioni tra i diversi approcci al miglioramento dell'IT.

Per analisi più dettagliate delle relazioni tra CMMI e altri approcci, un buon punto di partenza è questo.

L'analista (definizione di Karl Wiegers)

"Lo sviluppo dei requisiti è un’attività di esplorazione. L’analista non è un semplice scrivano che registra ciò che dicono i clienti. L’analista è un investigatore che pone domande per stimolare il ragionamento dei clienti, cercando di scoprire informazioni nascoste e di generare nuove idee."

Karl E. Wiegers: More About Software Requirements, Microsoft Press 2006.

Scegliere lo strumento giusto per la gestione dei requisiti - o forse nessuno

Selecting The Right Requirements Management Tool — Or Maybe None Whatsoever.
Un report di Forrester Research (Carey Schwaber e Peter Sterpe), del settembre 2007.

Riporto l'executive summary:
"Many of today’s requirements management tool purchases are misguided: Application development and program management professionals often buy requirements management tools for the wrong reasons and select tools that are out of line with their needs. To avoid purchasing tools that are more complex and more expensive than necessary, app dev organizations need to be realistic about the problems that a requirements management tool can address, the level of tooling that they require, and their ability to build and maintain tool integrations."

Nelle indicazioni finali, viene suggerito di prendere in considerazione strumenti integrati in una soluzione complessiva di ALM (Application Lifecycle Management), piuttosto che strumenti stand-alone, isolati.

Il report è scaricabile, previa registrazione, dal sito di Computerworld.

UML - Apogeo 2007 (recensione)

Autore: Enrico Amedeo
Titolo: UML. Imparare a descrivere sistemi orientati agli oggetti graficamente e in modo standard.
Editore: Apogeo. Anno edizione: 2007

Punti di forza:
  • Discreta copertura di UML, corredata da esempi Java. Utile per l'aggancio tra UML e gli aspetti di programmazione.
  • Prezzo contenuto (7,50 euro)
Punti di debolezza:
  • Alcune imprecisioni concettuali, (ad esempio il fatto che i diagrammi di sequenza consentano di descrivere il dettaglio dell'implementazione degli algoritmi).
  • Parecchia attenzione ai dettagli, manca però qualche accenno all'uso di UML per la rappresentazione di alto livello dell'architettura del sistema.

UML pratico - Paravia 2007 (recensione)

Autori: Ernesto Damiani, Mauro Madravio, Andrea Bőhm
Titolo: UML pratico. Con elementi di ingegneria del software. 2a edizione.
Editore: Paravia Bruno Mondadori Editori. Anno edizione: 2007

Punti di forza:

  • Introduzione generalissima a varie tematiche relative allo sviluppo software, tra cui UML. Forse valida come primo approccio all'ingegneria del software, ma solo in ambito universitario.

Punti di debolezza:

  • Sulle 150 pagine, solo 50 circa parlano di UML. Diagrammi di attività, stato, package, componenti e deployment sono condensati in 10 pagine. Il livello è davvero elementare.
  • UML 2 non è trattato, nonostante la data di pubblicazione sia il 2007, se non in un appendice di 2 pagine copiata quasi integralmente da un mio articolo (non citato).

Elenco strumenti gestione requisiti

Pubblicato da Incose (International Council on Systems Engineering). Utile.

Consente un confronto delle caratteristiche dei diversi strumenti di gestione requisiti. Con riferimenti ai siti dei produttori, che hanno la responsabilità delle dichiarazioni pubblicate (la cui attendibilità, pertanto, è tutta da verificare) e del loro aggiornamento.

Le iniziative metriche durano poco

Secondo Ed Yourdon, solo il 10% circa delle iniziative intraprese dalle organizzazioni per impiantare un sistema metrico in ambito software ha una durata superiore ai 18 mesi.

Perché? I motivi, secondo Yourdon, sono principalmente legati ai conflitti politici interni alle organizzazioni.

Previsioni a partire dai function point

In un intervento sulla mailing list requirements-engineering, Capers Jones, un'autorità nelle statistiche relative allo sviluppo software, ha fornito queste indicazioni:

"Function point size raised to the 0.4 power gives a useful prediction of
development schedules in calendar months. (Agile projects should use the 0.34
power).

Function point size raised to the 1.25 power gives a useful and alarming
prediction of the probable number of bugs that will be encountered.

Function point size raised to the 1.2 power predicts numbers of test cases
needed.

Function point size divided by 150 predicts development team size."

Software Quality Requirements

Il numero di IEEE Software di Marzo-Aprile 2008 ha come tema centrale la gestione dei requisiti di qualità.

Tra gli spunti, un confronto tra Tom Gilb e Alistair Cockburn sulla precisazione i requisiti. Gilb sostiene l'esigenza di quantificare, Cockburn ritiene che in un contesto agile non sia il caso di farlo, e che in alcuni casi possa risultare dannoso.
A differenza di quanto normalmente accade, l'esito del confronto non è per nulla conciliatorio, segno di un contrasto profondo tra i rispettivi punti di vista.

Planguage

Tom Gilb – Competitive Engineering. A Handbook for Systems Engineering, Requirements Engineering, and Software Engineering using Planguage. - Elsevier 2005

È un testo pesante, faticoso. Però vale la pena faticare, perché Planguage è un linguaggio con costrutti utili per precisare i requisiti.

IBM e Telelogic

L'acquisizione di Telelogic da parte di una società controllata di IBM non si è ancora completata, ma è in via di conclusione. Da verificare le ricadute sui prodotti nell'area della gestione requisiti (Doors e Requisite(Pro) e del visual modeling UML (Tau, Rational Architect e Rational Modeler).

CrossTalk, marzo 2008

Nel numero di marzo 2008 di CrossTalk ("The Journal of Defense Software Engineering", la rivista software dei militari USA), tra le altre cose:

- Un articolo di Ellen Gottesdiener su "Good Practices for Developing User Requirements". L'aspetto più interessante è un elenco di modelli utilizzabili per rappresentare i requisiti utente.

- Un articolo di David Coe che riporta dati sperimentali, per quanto in ambito universitario, sull'uso degli Use Case Points.

Il cliente - Mahatma Gandhi

Nell'inserto speciale dell'Economist sull'e-government, una citazione del Mahatma Gandhi:

"Who is the customer? The customer is the most important visitor on our premises. He is not dependent on us. We are dependent on him. He is not an interruption of our work. He is the purpose of it. He is not an outsider in our business, he is part of it. We are not doing him a favour by serving him. He is doing us a favour by giving us an opportunity to do so."

La citazione è tratta da un discorso tenuto da Gandhi in Sudafrica, dove svolse attività come avvocato negli anni tra il 1893 ed il 1895.

E-government: successi ed insuccessi

Inserto speciale in The Economist del 16 febbraio 2008 su tecnologie e governo. Particolarmente interessante un articolo sugli investimenti nel settore della sanità nel Regno Unito.

L'importanza delle parole

Un eccellente (non è una novità) intervento di Gerry McGovern , esperto di gestione dei contenuti (content management), che sottolinea quanto sia decisiva l'importanza della comunicazione testuale per il successo di una iniziativa sul web.

Informatici in Italia

Dalla newsletter AICA (Associazione Italiana per il Calcolo Automatico) n.23 di Novembre-Dicembre 2007, leggo che :

"Sul portale della Borsa Nazionale del Lavoro è stata attivata la sezione dedicata al Settore ICT che consentirà agli oltre 1,3 milioni di specialisti informatici del nostro Paese di orientarsi e aggiornarsi nello scenario particolarmente mutevole del settore fornendo informazioni specifiche, strumenti e servizi utili ai professionisti ICT. "

La notizia è interessante, ma se il numero degli specialisti informatici in Italia è questo, come è possibile che a livello di pubblica opinione, di politica e di relazioni di lavoro si parli così poco di questo milione ed oltre di persone?

La storia degli inizi di Rational

Descritta nel suo blog da Grady Booch. Rational è stata una delle società leader nel mondo dell'object oriented e del visual modeling, ed è nota soprattutto per essere all'origine dell'Unified Modeling Language (UML). Rational è stata acquisita 5 anni fa da IBM.

La partecipazione degli utenti ai progetti

Erica L. Wagner and Gabriele Piccoli:"Moving Beyond User Participation to Achieve Successful IS Design" in Communications of the ACM, december 2007

L'articolo mette in luce con estrema chiarezza uno dei nodi principali dello sviluppo software.

"We suggest that rather than fighting human nature by trying to force the participation of user groups throughout a project, we should broaden our thinking about development and implementation methodologies to reflect what happens in practice. We find that in practice user participation can be most powerful after ‘go live’ when users are truly engaged.

[...] we acknowledge it will be difficult to fully engage users before the software begins to affect their daily lives, which are generally at ‘go live.’ Yet, we are not suggesting there is no value in user involvement via prototyping or phased roll-out techniques. When properly implemented, these techniques can help increase communication, provide some valuable feedback in the design process, and generally improve goodwill on the user side. But it is critical to recognize that trying to force engagement of user groups throughout a project goes against human nature. We should therefore expand our thinking about the stages of the systems development life cycle, and incorporate this broadened perspective into whichever methodology is used.
We need to recognize that implementation extends beyond “flipping the switch.” Legitimizing the post-implementation activities that are often kept as a shameful secret — a sign of project failure — will help to manage expectations and avoid much of the conflict that erodes trust between the user community, project champions, and the development team by more naturally mimicking human behavior.

[...] It is time to speak honestly about the gap between our intentions to build working systems and our ability to do so in practice. This gap is typically not caused by a lack of effort on behalf of developers or users, but rather is the result of misdirected efforts. The systems development and implementation process will continue to be overly challenging if we work against the tide by trying to make users fit our theories of how and when they should participate in development initiatives."

CMMI e processi agili

Un sondaggio curato da Scott Ambler per la Dr. Dobb's Agile Newsletter.

Inoltre, una serie di articoli sui processi adeguati per i progetti brevi sul numero di febbraio 2008 di CrossTalk, the Journal of Defense Software Engineering. Tra cui un articolo di Capers Jones che mette in rapporto CMMI e processi agili.

Sondaggio sul Business Process Management

Business Process Trends ha pubblicato il sondaggio "The State of BPM - 2008", con risposte ottenute a fine 2007. Per quanto sondaggi di questo tipo siano poco scientifici, alcuni dati sui trend sono interessanti.
Per scaricare il sondaggio è necessaria una registrazione al sito.

Casi d'uso e requisiti non funzionali

Casi d'uso per requisiti non (strettamente) funzionali. Alistair Cockburn riporta un esempio di caso d'uso per il richiamo di un servizio in ambito SOA.

Intervista al CEO di Infosys

Intervista al CEO di Infosys, la maggiore software house indiana, su Information Week. Aspettative crescenti dei clienti sull'outsourcing, esperienza e formazione degli sviluppatori indiani, differenze culturali.

Mega e BPMN

MEGA integrerà, nella proprie soluzioni per la modellazione dei processi e per l’enterprise architecture, l’ultima versione degli standard di Business Process Modeling Notation (BPMN™).
La MEGA Modeling Suite con l’ultima versione degli standard BPMN sarà disponibile nel corso del primo trimestre 2008.

Costo e produttività delle risorse umane

Martin Fowler discute il legame fra talento, produttività e costo nello sviluppo software. Di come, cioè, avvalersi della collaborazione di risorse relativamente più costose possa comportare vantaggi sotto il profilo economico.