All Posts in Agile

febbraio 20, 2017 - No Comments!

Hiring Great People – come abbiamo migliorato il nostro processo di recruitment

hiring

Attirare e selezionare le persone giuste consente di costruire un grande team, di farlo crescere in salute, mantenendo e consolidando la propria cultura aziendale.
Eppure troppo spesso il processo di recruitment è sottovalutato o demandato quasi interamente al reparto HR o a società esterne.

Nella sessione dell'agile day del 2015 Pietro di Bello ha raccontato il processo di recruitment che nel corso degli anni abbiamo messo a punto, di quali siano gli aspetti che valutiamo più importanti, dell’importanza di coinvolgere pienamente il team in questo percorso, facendo anche un confronto con i metodi di selezione “tradizionali”.

Si tratta ovviamente di un percorso mai fisso: il processo di recruitment può e deve cambiare ed adattarsi al crescere dell’azienda. E come tale pone sempre nuove sfide, che vorrei raccontarvi, sia di quelle vinte che di quelle perse.

Le slides della presentazione

 

Se vuoi provare dal vivo il nostro processo di recruitment, invia la tua candidatura dalla pagina di carriere.

febbraio 13, 2017 - No Comments!

Case Study PhotoVogue

Photovogue

Nata come società di stampa, al giorno d'oggi la maggior parte dei contenuti di Condé Nast è distribuita attraverso canali digitali, per cui sono necessari la stabilità delle piattaforme di distribuzione e la flessibilità della tecnologia.

PhotoVogue, parte del marchio Vogue, è una piattaforma per i fotografi che vogliono mostrare il loro talento con la possibilità di partecipare a mostre internazionali e iniziative e la possibilità di essere rappresentato da un'agenzia di New York Art + Commerce, una delle più prestigiose al mondo.
La piattaforma, lanciata nel 2011, aveva bisogno di un importante aggiornamento della tecnologia per supportare la crescita costante. Nel corso del kickoff del progetto il team ha deciso di sfruttare tutte le tecnologie all'avanguardia fornite da Amazon.

Abbiamo partecipato all’implementazione nel corso di un periodo di tempo di tre mesi, portando l'adozione di metodologie agili e le operazioni automation di infrastruttura. Amazon ha realizzato un case study sul progetto.

La soluzione

serverless architecture

  • AWS Lambda abilita la scalabilità automatica in base al traffico di PhotoVogue to scale.
  • Il Web Client di PhotoVogue utilizza le API REST costruite con AWS Lambda e AWS API Gateway.
  • Gli utenti possono caricare le loro foto utilizzando la funzionalità delle S3 Pre-Signed URLs.
  • AWS S3 scatena una AWS Lambda function che converte la foto caricata dall'utente in vari formati.
  • AWS RDS con MySQL sono usati come servizio di database.
  • AWS CloudFront è usata come content delivery network per i contenuti.
  • AWS API Gateway è usato come layer di caching per le API rest.

Leggi il case study: https://aws.amazon.com/solutions/case-studies/photovogue/

gennaio 13, 2017 - No Comments!

Mobile Development the XP way

XP mobile

Lo sviluppo di applicazioni mobile comporta nuove sfide rispetto allo sviluppo web tradizionale, come, ad esempio, testare l’applicazione su dispositivi in continua evoluzione o automatizzare i processi manuali ripetitivi e soggetti ad errori per il rilascio sui vari store e piattaforme di distribuzione.
All’ultimo Agile Days, Tiago ha raccontato la nostra esperienza e le soluzioni implementate per arrivare ad un processo di mobile continuous integration con compilazione automatica e rilasci per i tester. In una comunità non molto test infected non è stato facile applicare TDD, ma i risultati ottenuti in termini di stabilità e pulizia del codice giustificano l’investimento.

Slides della presentazione

Link utili

Tiago è anche il trainer del corso “Continuous Delivery su progetti iOS”  in cui vengono spiegate a livello teorico e pratico i principi e le tecniche che permettono di automatizzare il processo di rilascio su App Store. Contattaci per organizzare una sessione on-site per il tuo team.

gennaio 5, 2017 - No Comments!

Serverless Test Driven Development

serverless tdd

Il paradigma serverless permette di dimenticarci della gestione dei server per poterci concentrare sulla realizzazione di funzionalità. Insieme a Filippo Liverani all'Italian Agile Day abbiamo visto come creare funzioni Lambda mantenendo alta la qualità del codice, con l'utilizzo del test driven development e ambienti locali di sviluppo e di produzione quanto più simili possibili con Docker.

Durante il talk, Filippo ha mostrato in un'applicazione di test come scrivere il primo test di accettazione in locale, un microciclo red, green, refactor e il deploy su Amazon Web Services con il framework Serverless, per poi eseguire con successo il test di accettazione direttamente sull'endpoint creato su AWS.

Repository del progetto: https://github.com/xpeppers/serverless-tdd

Slides della presentazione

Contattaci per maggiori informazioni su come adottare Serverless in azienda e se l'argomento test driven development ti interessa non perdere la prossima edizione del corso TDD explained.

dicembre 20, 2016 - No Comments!

La pratica del daily journal

daily journal

All'ultimo Agile Day, Pietro di Bello ci ha raccontato la pratica del daily journal: un diario di bordo, da scrivere a fine giornata, per raccontare come è andata, le cose apprese, cosa manca per chiudere il task in lavorazione e quali ostacoli si sono incontrati.

Le slides della presentazione:

febbraio 25, 2016 - No Comments!

Coding Dojo a Trento: Refactoring codice Java

Il 27 gennaio abbiamo organizzato presso la sede trentina di XPeppers un coding dojo che ha riscosso un'ottima partecipazione di sviluppatori e sviluppatrici provenienti da tutta la regione Trentino-Alto Adige/Südtirol.

L'argomento della serata è stato il refactoring di codice legacy in Java, e i partecipanti si sono confrontati sulla risoluzione del Gilded Rose kata. Lo scopo del kata in questione è quello di andare ad aggiungere delle funzionalità ad una codebase esistente, scritta in modo ben lontano dall'ottimale e priva di test che ne provino il funzionamento corretto.

Come si è svolto il nostro Coding Dojo

Dopo una piccola introduzione al problema le persone presenti all'evento hanno avuto occasione di alternarsi in pair programming alla tastiera (prima come navigatore e poi come driver) e di mettere mano alla codebase con il supporto di tutte le persone partecipanti. Inizialmente si è cercato di comprendere meglio la codebase andando ad aggiungere un minimo set di test che dimostrassero la validità delle funzionalità già presenti.

Coding Dojo: Tutti assieme attorno alla tastiera

Tutti assieme attorno alla tastiera

Dopo questa prima fase abbiamo deciso di introdurre le nuove funzionalità richieste e qui ci sono venuti in soccorso i test scritti precedentemente perchè eseguendoli spesso ci hanno dato la sicurezza di non introdurre regressioni.

Tra un test in barra verde e una mossa di refactoring su Eclipse, i partepanti hanno potuto consumare degli stuzzichini delle bibite gentilmente messe a disposizione da XPeppers.

Pur non essendo riusciti a concludere l'esercizio, nelle 3 ore di coding dojo abbiamo avuto occasione di metterci a confronto con persone aventi background, skills ed esperienze diverse. E' stata sicuramente un'esperienza positiva e ne è riprova l'ottimo feedback emerso nel corso della retrospettiva tenutasi a fine incontro dove abbiamo analizzato con il classico "glad/sad/mad" la serata e i risultati ottenuti.

Coding Dojo: Retrospective time

Retrospective time

A fine sessione ci siamo lasciati con l'auspicio di organizzare questo tipo di eventi in modo più ripetitivo in modo da esplorare assieme argomenti di diverso tipo e creare un gruppo di appassionati di sviluppo software.

 

febbraio 15, 2016 - No Comments!

FOSDEM 2016 a Bruxelles

by Christian FeiTiago Martinho

Anche quest'anno XPeppers ha partecipato alla conferenza FOSDEM il 30 e 31 gennaio a Bruxelles!

FOSDEM è una conferenza gratuita dedicata a sviluppatori ed ormai è diventata il punto d'incontro in Europa che ogni anno ospita più di 7000 persone, presso l’università ULB di Bruxelles.

Da tutto il mondo sviluppatori appassionati di open-source vengono per discutere e condividere le loro esperienze.

Ci sono innumerevoli stanze dedicate a linguaggi di programmazione, tecnologie e pratiche come virtualizzazione, testing e automazione, fino al mondo open-source in generale.

Abbiamo seguito talk soprattutto legati ai temi Testing and Automation, Virtualisation, Configuration Management, Containers and Process Isolation e IoT.

Nel talk Jenkins as Code abbiamo conosciuto il plugin per Jenkins Job DSL, che rende programmabile la creazione di job Jenkins. Il presentatore ha mostrato come l'infrastruttura di Uber ha sfruttato questo strumento per scalare e automatizzare molti processi che prima richiedevano un intervento manuale.

Per rimanere nel contesto testing e automazione, abbiamo seguito la presentazione "Beyond config management", in cui l'autore ci ha esposto le sue considerazioni su DSL (scritti in Groovy) per modellare e definire l'infrastruttura in modo programmatico. Potendo compilare questo codice, abbiamo la possibilità di avere un'analisi statica sul codice dell'infrastruttura, oltre alla sua testabilità.

Secondo l'autore, e anche secondo noi, l'approccio di modellare l'infrastruttura tramite codice, cioè "Infrastructure as code", è una pratica essenziale per creare architetture affidabili e resilienti.

Nel talk PostgreSQL features for IoT da Simon Riggs abbiamo visto le nuove funzionalità di PostgreSQL dove la vision è avere un database che permette la creazione di applicazione dove l'ambulanza arriva prima del incidente perché la misurazione del battito cardiaco ha rilevato che la persone sta per avere un infarto. Questo database può registrare una grande quantità di dati in poco tempo in continuo, l'esempio fatto è quello di registrare le misurazione di glucose ogni minuto di ogni cittadino del europa.

Nel talk Build an IoT platform on Matrix da Matthew Hodgson è stata presentata una introduzione al framework Matrix. Questo framework permette di create una piattaforme aperta e decentralizzata dove vari dispositivi IoT riescono a comunicare tra di loro in una forma semplice e affidabile.

Puoi trovare i video di tutti talk qui FOSDEM 2016


 

Ogni anno viene organizzata una serata dedicata al FOSDEM, al Delirium Café vicino al Grand Place, la piazza centrale di Bruxelles. Non potevamo perderci questo evento per conoscere nuove persone, per fare networking e per goderci delle ottime birre belghe (la scelta è molto vasta; parliamo di oltre 25 birre)!

Come potete vedere non abbiamo resistito agli sticker che venivano distribuiti ai vari stand:

FOSDEM stickers!

dicembre 29, 2015 - No Comments!

Agile@Work – Bolzano 2015

Conferenza Agile, Cloud, Devops

Il 4 Dicembre 2015 si è tenuto a Bolzano l'evento “Agile@Work”, una conferenza su Agile, Cloud e Devops.

La collaborazione tra XPeppers, TIS e Red Oddity è stata un fattore determinante per la buona riuscita della conferenza come dimostrato dal numero dei partecipanti e dalla velocità con cui sono stati prenotati i posti disponibili. A questa prima edizione hanno partecipato infatti circa 100 persone provenienti principalmente del Trentino Alto Adige e dalle altre regioni del nord Italia.

Agile@Work Bolzano 2015

Agile@Work Bolzano 2015

Tematiche

La giornata è iniziata con l’introduzione di Roberto Bettazzoni in sessione plenaria che ha catalizzato l’attenzione facendo una panoramica generale su come utilizzare il Framework Cynefin per identificare ed affrontare situazioni semplici, complicate, complesse e caotiche e sul ruolo centrale delle retrospettive per adattare il modo di affrontare i problemi in base alla situazione esistente.

La giornata è continuata poi su tre track parallele dove sono stati presentati talk e workshop che hanno riscosso tutti un grande successo. Di seguito potete trovare i link ai video ed ai materiali resi disponibili dagli speaker.

Ha riscosso particolare interesse anche l’idea di rendere disponibile un aula dove le persone hanno potuto continuare a discutere degli argomenti presentati nei talk.

Riepilogo delle sessioni

Si riporta di seguito l’elenco delle sessioni presentate (talk e workshop), i link ai materiali presentati ed alla play-list dei video.

Why you need to change your way of working - Roberto Bettazzoni

Some of the most advanced technical practices allow to get sustainable and effective benefits only if you use them properly. Unfortunately the inertia in adapting the way of working to the changing needs can thwart any technological advantage.
In this talk I discuss the reason why an appropriate change of the way of working is a non postponable need. I also present some methods and indicators to help you adapting your way of working to the product’s needs, your company's culture and the technical practices.

Visualizza presentazione su SlideShare

What is Agile? - Marco Trincardi

Most of the times Agile is described as a set of practices. In this presentation I will give a different point of view of Agile, where practices are just a means to build an effective working culture.

Visualizza presentazione su SlideShare

Continuous Delivery on Java projects - Paolo D'Incau

We will talk about real life examples where we apply Continuous Delivery practices and principles. We will tell how you can evolve in an iterative way a CD pipeline starting from simple tasks (build and deploy on a single environment) to a multi-environment pipeline inspired by what we learned by hurting ourselves. We will give concrete examples, keeping the focus on the code, the infrastructure and the relationship with the different stakeholders.

Visualizza presentazione su SlideShare

Hiring Great People - Pietro Di Bello

Getting the right people will help create a great team, and will let it grow healthy. Moreover, it will keep it rooted in your company culture, and sustaining that same culture in turn. Nevertheless, too often recruiting is overlooked or completely delegated to HR or external recruiting agencies.
In this session I’ll share our experience in building our actual recruitment process, how we got to this recruitment workflow, what lessons we’ve learned and what are the key elements of a recruitment process. I’ll also examine some differences compared to a more “traditional” way of selecting and assessing people.

Visualizza presentazione su SlideShare

Event-driven (serverless) applications - Danilo Poccia

We built event-driven user interfaces for decades. What about bringing the same approach to mobile, web, and IoT backend applications? You have to understand how data flows and what is the propagation of changes, using reactive programming techniques. You can focus on the core functionalities to build and the relationships among the resources you use. Your application behaves similarly to a “spreadsheet”, where depending resources are updated automatically when something “happens”, and is decomposed into scalable microservices without having to manage the infrastructure. The resulting architecture is efficient and cost effective to run on AWS and managing availability, scalability and security becomes part of the implementation itself.

Visualizza presentazione su SlideShare

Agile banks, is it an oxymoron? - Marco Trincardi

Stated that Bank is an example of Control culture a Bank, Introducing Agile in a Bank is more working on existing culture than teaching practices.
In this talk I want to share my year experience on agile introduction in one of the most important Italian Bank.
I will cover the topic on how to be agile introducing agile, Scrum of scrum as the simple thing that could possible work, the compromises we accepted, the pitfall we faced; in essence how to instill an Agile Culture in a Control Culture environment.

Visualizza presentazione su SlideShare

Extreme Contracts - Turning negotiation into collaboration - Jacopo Romei

We care too much for contracts and too little for collaboration. We maximize contracts' value as safety devices and we never focus on their value as collaboration enabler. We want contracts that go fast towards a deadline instead of finding agreements which bring you and your counterpart to trust each other as soon as possible. We read in the Agile Manifesto: "[We value] customer collaboration over contract negotiation". How can we make the latter foster the former?

Test Driven Infrastructure - Filippo Liverani

Many IT operations teams are used to managing infrastructure manually or with simple one-off scripts. This manual work and lack of verifiable behavior results in many issues and in uncertainty. In software development, Test Driven Development (TDD) is well recognized for improving design, increasing code quality, and allowing refactoring and better knowledge sharing.
Similar benefits can be gained in infrastructure projects when infrastructure is treated as code, driving that code development with tests. Configuration management tools such as Chef and Puppet allow infrastructure to be easily described as code and provide a complete support to introduce and run tests. This can allow development and operations teams to collaborate and confidently deliver working infrastructure code.

Visualizza presentazione su SlideShare

Collective code ownership in Extreme Programming - Dario Coco

What can we do to improve communication and knowledge sharing in an Agile team? Collective Code Ownership is one of the most important rules in Extreme Programming: every member of the team is responsible for the architecture.
In this talk we'll explore the connection between CCO and the other XP rules, and we'll see some techniques that can help us in following this good practice.

Visualizza presentazione su SlideShare

Video


Approfondire gli argomenti

Per ricevere maggiori informazioni sui temi trattati, puoi contattare gli organizzatori ai seguenti indirizzi:

  • XPeppers: info@xpeppers.com
  • TIS Innovation Park: info@tis.bz.it
  • Red Oddity: info@redoddity.it

Il team XPeppers sta preparando il calendario corsi per il 2016. Visto il notevole interesse su queste tematiche riscontrato alla conferenza, sta pensando di proporre dei corsi anche a Trento e/o Bolzano. Se foste interessati a frequentare uno dei corsi disponibili vi invitiamo a compilare il modulo che abbiamo predisposto. Questo ci pemetterà di organizzare i corsi nelle sedi che risultano più comode per gli utenti interessati.

Ringraziamenti

Un ringraziamento particolare a:

  • XPeppers, TIS Innovation Park e Red Oddity per l’organizzazione dell’evento.
  • TIS Innovation Park per aver offerto la sede per l’evento e per il servizio.
  • Red Oddity e  TIS Innovation Park per aver promosso l’evento tra le aziende locali.
  • XPeppers per aver offerto il pranzo ed il coffee-break.
  • Tutti gli speaker per aver proposto talk e workshop che hanno riscosso grande interesse.
  • Tutte le persone che hanno partecipato per aver investito una giornata del loro tempo per confrontarsi sui temi trattati.