- 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
24 dicembre 2009
Contesto, requisiti, architettura
Tra i rischi che impattano sulle architetture software due sono particolarmente rilevanti:
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:
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.
Etichette:
agile,
project management,
software
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.
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).
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.
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."
" “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.
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."
"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.
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".
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
The Economist, August 29th 2009
Etichette:
economia,
organizzazione,
outsourcing
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:
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:
"The Metropolis Model. A New Logic for Development of Crowdsourced Systems", in Communications of the ACM, 07/2009.
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.
"The Metropolis Model. A New Logic for Development of Crowdsourced Systems", in Communications of the ACM, 07/2009.
Etichette:
open source,
project management,
software
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.
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.
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."
"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".
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".
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."
"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."
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."
Etichette:
metriche,
project management,
software
Iscriviti a:
Post (Atom)