Archivi categoria: software engineering

Gli agenti AI, le specifiche di analisi e l’organizzazione dello sviluppo

L’uso degli agenti AI per lo sviluppo software porta a un cambiamento profondo nel software engineering. Anche se la dimensione, gli ambiti e gli impatti di questo cambiamento non sono ancora del tutto chiari.

La trasformazione riguarda aspetti sia tecnici che organizzativi, impatta sui ruoli, le competenze richieste alle persone, le metodologie.

I punti aperti sono molti, ed è difficile formulare previsioni sul futuro. Ma alcune domande importanti stanno prendendo corpo, come è emerso dai resoconti dell’incontro su “The Future of Software Engineering” organizzato da Thoughtworks.

Ciò comunque appare chiaro è che le attività di analisi dei sistemi, in particolare la definizione delle specifiche, stanno assumendo un ruolo ancora più essenziale di quello, già importante, che rivestivano nell’ingegneria del software tradizionale.

È il tema centrale del mio corso “AI per analisti IT”: https://corsi.analisi-disegno.com/corsi/ai-per-analisti-it/

LLM e Software Engineering

Secondo Dario Amodei, CEO di Anthropic (l’azienda di Claude) gli LLM saranno entro pochi mesi in grado di svolgere in autonomia ed efficacemente il grosso delle attività di software engineering. Già oggi, ha affermato in un incontro recente, i progettisti della mia azienda delegano ai modelli quasi tutte le attività di realizzazione.

Ma l’ingegneria del software (e dei sistemi) non è solo realizzazione. Restano centrali la comprensione delle esigenze, l’analisi dei processi organizzativi in cui i sistemi vanno integrati, la definizione dei requisiti del sistema da realizzare, la valutazione sui pro e sui contro delle ipotesi alternative di progettazione.

Tutti temi trattati nel mio corso “AI per analisti IT”: https://corsi.analisi-disegno.com/corsi/ai-per-analisti-it/ , dove vengono spiegate le tecniche per usare il supporto degli LLM nelle attività di analisi e progettazione.

Qui il video dell’incontro a Davos, condotto da The Economist con Dario Amodei e con Demis Hassabis di Google:

SWEBOK 4.0

La versione 4.0 della “Guide to the Software Engineering Body of Knowledge” è stata pubblicata dalla IEEE Computer Society.

Il Software Engineering Body of Knowledge (SWEBOK) è un insieme di linee guida e di pratiche che definiscono le competenze e le conoscenze necessarie per i professionisti nell’ingegneria del software.

Copre tutti i vari aspetti dello sviluppo software, e serve come riferimento per la formazione e la certificazione dei professionisti, promuovendo standard elevati e una comprensione comune delle pratiche di ingegneria del software.

La nuova versione comprende importanti aggiornamenti sulla definizione delle architetture software, sulla sicurezza e sulle pratiche attuali, come l’uso dell’intelligenza artificiale.

La si può scaricare a questo indirizzo: https://www.computer.org/education/bodies-of-knowledge/software-engineering/v4https://www.computer.org/education/bodies-of-knowledge/software-engineering/v4

System e Software Engineering – rivedere il rapporto

Nei sistemi attuali l’interazione tra progettazione degli aspetti hardware e software è sempre più importante.

Il rapporto tradizionale tra le due discipline, il system engineering e il software engineering, deve essere riconsiderato alla luce del peso sempre maggiore che il software sta assumendo.

Il direttore del Software Engineering Institute, Paul Nielsen, aveva scritto un articolo sulla necessità di una maggiore integrazione qualche mese fa: “Systems Engineering and Software Engineering: Collaborating for the Smart Systems of the Future“

Ha poi ripreso e sviluppato l’idea in questo video:

Il futuro del software. E il presente.

Il futuro del software, ma già anche il presente, nell’interazione tra esseri umani e intelligenza artificiale.

“Humans and AI are trustworthy collaborators that rapidly evolve systems based on programmer intent”.

Una pubblicazione gratuita del Software Engineering Institute, consiglio di dare un’occhiata almeno all’executive summary:

https://sei.cmu.edu/news-events/news/article.cfm?assetId=741319

Quale metodo per l’Internet of Things?

Quale metodo per l’Internet of Things (IoT)? Come condurre i progetti?

In un articolo in Communications of the ACM, novembre 2017,
Is There a Single Method for the Internet of Things? , Ivar Jacobson e colleghi si pongono la domanda e individuano due metodi: Ignite e IoT Methodology.

Ma servono davvero metodi nuovi? Secondo gli autori, anche i metodi per lo sviluppo di soluzioni IoT devono integrarsi nel framework Essence da loro definito (l’evoluzione di Semat, fatta propria dall’Object Management Group).

In questo modo lo sviluppo di soluzioni IoT può essere confrontato con quello di altre tipologie di sistemi e sfruttare le pratiche che si sono dimostrate utili in altri settori, evitando di ripartire da zero (e dover reinventare la ruota).

Lo scopo di Essence-Semat, come affermano gli autori, è infatti quello di definire un terreno comune con cui poter mettere a confronto metodi diversi, per enuclearne le pratiche  che possono adattarsi nel modo migliore alle esigenze di ogni specifico ambito.