Top Banner
ROME 11-12 april 2014 ROME 11-12 april 2014 Programmazione + Ingegnerizzazione = $ business [email protected] @fergor Ferdinando Gorga IBM
26

Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

Jul 11, 2015

Download

Technology

Codemotion
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014ROME 11-12 april 2014

Programmazione + Ingegnerizzazione = $ business

[email protected]

@fergor

Ferdinando GorgaIBM

Page 2: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014 - Ferdinando Gorga

Probabilmente siamo qui perché ci piace il software e ci piace farlo.

Motivi che ci spingono a scrivere software:

•Insonnia

•Amore per la tecnologia

•Inclinazione verso l’enigmistica

•Cervello pieno di idee

•Desiderio di innovare

•Desiderio di creare business

Page 3: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014 - Ferdinando Gorga

Il software è un meccanismo per veicolare guadagni e business

Il software è una componente importante della tecnologia e abilitatore di nuove tecnologie.

Le nuove tecnologie consentono di creare nuovi modelli di business (ad esempio il commercio elettronico, il mobile government ...) e quindi nuovi guadagni, nuove aziende, nuova ricchezza.

Sono anche lo strumento di disruption di modelli e abitudini consolidate.

In poco più di 20 anni la metà delle aziende nel gruppo delle top 500 Fortune è scomparsa.

Erano leader di settore e sicure di prosperare.

Page 4: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014 - Ferdinando Gorga

Immaginiamo di essere in grado di scrivere del software nella maniera migliore possibile, poniamoci la seguente domanda:

Saper programmare è un’attitudine sufficiente a creare una macchina che implementa business e veicola guadagni o sono necessarie altre competenze e l’uso di altre discipline?

In altri termini: cosa altro dobbiamo saper fare per far si che il software che scriviamo sia un veicolo di business?

Prima di rispondere a questa domanda consideriamo quali sono i trend e i contesti che condizionano la produzione e l’utilizzo del software.

Page 5: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014 - Ferdinando Gorga

Globalizzazione: le competenze

Scrivere un sistema software non semplice implica la collaborazione con un team di

persone che possono essere reperite ad hoc in tutto il mondo.

La tecnologia IBM può connettere queste persone distribuite sul territorio azzerando le

distanze e favorendo l’utilizzo dei migliori skill al prezzo più conveniente.

Le tecnologie: mobile

Il software è sempre più utilizzato tramite dispositivi mobili. Questa tecnologia

crescente porta nuovi problemi e nuove sfide (frammentazione delle architetture,

linguaggi e S.O.) e nuove implicazioni (qualità e criticità delle app) con ulteriori costi.

E’ necessaria una vision e strumenti che consentano la produzione del SW mobile con

un approccio non pionieristico, tipico delle nuove tecnologie.

Il software mobile che noi percepiamo è quasi sempre l’ultimo strato di una architettura

composta da ulteriori sistemi di backend.

E’ il System of Engagements (SoE)

La complessità è in crescita

Page 6: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014 - Ferdinando Gorga

Il mercato e la competition:

Oggi il software ha una connotazione più ‘umanistica’ che mai, nel senso di essere

profondamente connesso con l’esperienza di vita sociale dell’umanità occidentale.

Oggi il software è soggetto a mode (l’esempio di preferenza di taluni sistemi di email

o social su altri), a doversi misurare con la competition che può arrivare anche da

inaspettate direzioni (un esempio è la quasi totale disruption del mercato degli SMS

da parte di app tipo Whatsapp – che costa meno di 10 sms).

•Le regole del mercato che 10 anni fa erano stabili e ineludibili sono attualmente totalmente

stravolte.

•La separazione dei ruoli di fornitore/consumatore di informazioni in molti casi è totalmente

ribaltata o inesistente

Le applicazioni devono evolvere velocemente per soddisfare le esigenze e le

aspettative degli utilizzatori. La crescita e maturazione delle applicazioni porta con se

nuovo business e nuovi clienti. Avere un canale che veicoli i feedback e le richieste

consente, insieme all’utilizzo della ‘sentiment analysis’, di far crescere le nostre app

nella giusta direzione.

Crescita dell’app in gergo tecnico significa enhancement request, codifica, test, build, deploy, misurazione dei livelli di qualità. Se devo essere veloce per

soddisfare in un giorno le richieste dei miei clienti tutte queste fasi devono essere

eseguite automaticamente.

Page 7: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014 - Ferdinando Gorga

Una risposta a questi trend, vincoli e condizioni è l’adozione dell’opportuna tecnologia per implementare le seguenti practices:

•Continuous delivery e DevOps

•Quality management

•Collaborative application lifecycle management

•Automazione (dei test, delle build, del deploy, della produzione della documentazione)

•Il riuso del capitale intellettuale maturato in azienda

•La virtualizzazione

•In generale l’utilizzo estensivo della tecnologia

Page 8: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014 - Ferdinando Gorga

Cosa significa Qualità di un’app

Assenza di bug?

Per avere speranza e continuità di successo l’assenza di bug è solo un traguardo

iniziale.

Le applicazioni devono essere progettate e misurate a 360 gradi attraverso la

percezione dell’utenza: performance, contenuti, estetica, usabilità, user experience

ecc.

Se non abbiamo strumenti per indagare anche la parte ‘umanistica’ di quel software

gli utenti non lo sceglieranno e non lo porteranno in tasca nel loro smartphone.

Le qualità di un’app sono sempre più simili a quelle di un capo di abbigliamento.

Non basta che copra e che sia adeguato alla stagione. Deve anche esibire altre

caratteristiche (come trend, materiali, brand, target di età ecc).

La qualità è un fattore critico differenziante

Il suo ranking può essere in maniera ‘virale’ condiviso attraverso i canali social e

l’immagine della società e della soluzione ne può essere fortemente impattata.

Un approccio omnicomprensivo alla qualità delle applicazioni e dei sistemi che IBM

ha ideato è il seguente.

Page 9: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014

Cosa serve ai tester mobile?

Page 10: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014

Continuous delivery for mobile appsbacked by a set of cloud services for each stage of the app lifecycle

DeveloperChecks in code

Mobile build service

Manual mobile testing services

Post-release mobile services

Daily

Hourly

Re

lea

se

Weekly

Automated mobile testing services

Mobile device farm

Page 11: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014

Automated mobile testing capabilities

DeveloperChecks in code

Mobile build service

Automated mobile testing services

Manual mobile testing services

Daily

Hourly

Re

lea

se

Weekly

• In-app user feedback• Crash data capture & analysis

• App store user sentiment analysis

• Over-the-air distribution

• In-app bug reporting• Crash data capture & analysis • Performance profile capturing

• Problem determination

Mobile device farm

Automated mobile testing services

Mobile device farm

• Automated function test• Random generated testing

• Remote test device access (via device farm)

• Mobile device resource utilization analysis

• Crash data capturePost-release

mobile services

Page 12: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014

IBM Automated Mobile App Function TestingHigh quality mobile apps built and tested for a rapidly evolving mobile infrastructure

� Mobile Test Automation

� Support Worklight and native iOS or Android mobile apps

� Eclipse Client integration

� Integration with Rational Quality Manager and IBM Worklight Studio

� End-to-end mobile testing

� Capture and replay of multi-touch events with virtualization of multi-tier systems

“Being agile, we are developing tests as we write our code, so automating the functional

tests of our mobile apps and using them for regression on multiple platforms makes our

team much more productive!” - Mobile developer

IBM Rational Test Workbench v8.5 and Worklight Studio v6.0

Page 13: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014

Test EditorDiscover test flow

Screen captures of test elements

Insert test verification points

Page 14: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014

Test Reports clientAvailable in workbench or moile client

Page 15: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014

Virtualize back-end services to maintain agility

Rational Test WorkbenchService Virtualization support for

isolating mobile client tier

For focused automated mobile client tier functional testing, use

Service Virtualization to simulate the mobile middle tier and back

office systems.

Client Tier DevicesUI Testing

Client Value: Mobile development team can meet aggressive schedules and reduce MIPS usage on enterprise systems

Page 16: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014

Specific cloud hosted mobile development services for all phases

of mobile app maturity

DeveloperChecks in code

Mobile build service

Automated mobile testing services

Manual mobile testing services

Daily

Hourly

Re

lea

se

Weekly

• In-app user feedback• Crash data capture & analysis

• App store user sentiment analysis

• Over-the-air distribution

• In-app bug reporting• Crash data capture & analysis • Performance profile capturing

• Problem determination

Mobile device farm

Automated mobile testing services

Mobile device farm

• Automated function test• Random generated testing

• Remote test device access (via device farm)

• Mobile device resource utilization analysis

• Crash data capturePost-release

mobile services

Page 17: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014 - Ferdinando Gorga

IBM Mobile Quality AssuranceIbm.biz/mobilequalitycloud

Una soluzione per la sentiment analysis, per i test manuali per i beta tester è

Una soluzione per l’automazione di test funzionali e prestazionali, per la virtualizzazione di sottosistemi o di sistemi di backend è

IBM Rational Test Workbench

Una soluzione per l’automazione delle attività di deploy è:

IBM UrbanCode uDeploy

Una soluzione per la scrittura di app enterprise multipiattaforma è:

IBM Worklight

Open beta

Una soluzione per la scrittura di app enterprise multipiattaforma è:

IBM Worklight

Una soluzione per gestire cicli di sviluppo con team distribuiti è:

IBM Collaborative Life-cycle Management (Jazz)

Page 18: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014

Helping the software team get smarter about their mobile apps

Tester End UsersDeveloperLOB/Digital Marketer

“When someone leaves a negative review in the app store, it scarsyour app for life, you can’t respond to it, and you can’t learn more about the problem in order to fix it quickly.”

- Mobile Orchard

• How effective our mobile

app is at engaging

customers? • How can I stay on top of

current quality metrics, and

turn them into an

actionable strategy?

• How could I get visibility to

issues that customers

experience in production so that I can address them

quickly?

• How can I get more

people to test the apps so

that we can cover different devices, network carriers,

and OS versions?

• How can I get the latest

and greatest build without

wasting my time to track that down?

• How can I quickly submit

bug reports with

screenshots and device

details right from the application?

• How can I provide

direct and

constructive feedback?

Page 19: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014

Tester End UsersDeveloper

Over the air build distribution1 In app bug reporting 2

Crash log reporting

4

In app user feedback 3

LOB/Digital Marketer

Sentiment Analysis5

Builds

User Feedback Crash logs

BugsBugs vs. Crashes

Quality Dashboard with Sentiment Analysis

Continuously deliver quality mobile applications

IBM Mobile Quality Assurance (beta)

Page 20: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014

Over the air app distribution

Developer uploads new build

Identifies test devices

IBM MQA notifies testers

Testers download new version

through the app or thru IBM MQA

Enables developers to distribute new builds to test devices

Page 21: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014

In app bug reporting

When bugs are identified, user simply

shakes their device

1. IBM MQA is activated

2. Bug details are reported in

structured manner to RTC

Bug details include

•Device maker & model

•OS & version

•Carrier & connection speed

•Battery life & resolution

•Repro steps & screenshot

Enables developers to receive bug reports

Page 22: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014

Crash log reporting

When your app crashes, IBM MQA logs

the event

IBM MQA captures the crash details

•Device maker & model

•OS version

•Carrier & connectivity

•Battery life

•Stack trace

•Logs

IBM MQA aggregates all crashes into an

easy-to-use reporting UI

Enables developers to know when and why crashes occur

Page 23: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014

Direct user feedback

Developers can customize the feedback

workflow

When user has feedback, they trigger a

feedback widget

IBM Mobile Quality Assurance is

activated

Free-form feedback is shared directly to

IBM MQA

Enables developers to connect with users

Page 24: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014

Evidence-based prioritization

Collaborate on mobile strategy and end

user experience

IBM MQA delivers

•Tracking of app installations

•Cumulative usage sessions

•Crash report tracking over time

Enables prioritization of action on mobile app development

Page 25: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014

Sentiment Analysis

Mine app ratings and reviews to extract

actionable feedback

IBM MQA allows users to see

•Review stats on their mobile apps

•Detailed attribute scores

•Cumulative sentiment score and trends

Enables line of business to mine user sentiment

Coming soon – Not yet in Open Beta

Page 26: Programmazione + Ingegnerizzazione = $ BUSINESS - Gorga

ROME 11-12 april 2014

© Copyright IBM Corporation 2012. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.