Competenze per lo sviluppo software nellera del web
Upcoming SlideShare
Loading in...5
×
 

Competenze per lo sviluppo software nellera del web

on

  • 782 views

Senza le giuste competenze è talvolta difficile produrre software per il web che riescano ad avere una resa ottimale in termini di funzionalità, user experience e performance. In questa ...

Senza le giuste competenze è talvolta difficile produrre software per il web che riescano ad avere una resa ottimale in termini di funzionalità, user experience e performance. In questa presentazione si analizzeranno le potenziali competenze necessarie per lo sviluppo di Applicazioni per il Web e si analizzeranno alcuni strumenti software nell'ambito dell'Open Source che facilitano la separazione delle competenze, evitando quanto affermato da Albert Einstein: "La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa il perché!"

Statistics

Views

Total Views
782
Views on SlideShare
625
Embed Views
157

Actions

Likes
0
Downloads
6
Comments
0

5 Embeds 157

http://www.smau.it 124
http://wordpress.local 15
http://alpha-framework.com 14
http://future.smau.it 2
http://translate.googleusercontent.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Competenze per lo sviluppo software nellera del web Competenze per lo sviluppo software nellera del web Presentation Transcript

  • Competenze per lo sviluppo del software nellera del Web Diego La Monica (http://diegolamonica.info)09/05/12 Titolo della presentazione 1 /2 3/2
  • INTERNATIONAL WEBMASTERS ASSOCIATION http://www.iwa.it Perché associarsi media partner 1 rete tra professionisti partecipazione a gruppi di lavoro 2 anche internazionali convenzioni per tutela 3 professionalità (esempio: studi legali)quota speciale SMAU: euro 50,00 presso stand IWA Competenze per lo sviluppo del software nellera del Web 2
  • INTERNATIONAL WEBMASTERS ASSOCIATION http://www.iwa.itPartecipazioni internazionali Prima associazione al mondo (dal 1996) che raggruppa chi lavora nel Web, sia nel settore pubblico che privato Obiettivo di IWA è creare rete tra i soci, partecipare allevoluzione dellaPartecipazioni nazionali rete e divulgare conoscenza tramite i soci con eventi ed iniziative media partner Competenze per lo sviluppo del software nellera del Web 3
  • Chi è Diego La Monica?• Membro del Consiglio Direttivo di IWA Italy• Coordinatore Area Tecnica di IWA Italy• Membro del PFWG istituito dal W3C in rappresentanza di IWA/HWG (http://www.w3.org/WAI/intro/aria)• Membro del Web Skill Profile Working Group (http://skillprofiles.eu)• Autore dei framework – JAST (http://jastegg.it) – ALPHA Framework (http://www.alpha-framework.com)http://diegolamonica.infohttp://wili.diegolamonica.infohttp://cleanx.diegolamonica.infohttp://www.alpha-framework.com 4/8 Competenze per lo sviluppo del software nellera del Web
  • Panoramica sul seminario• Introduzione• La competenza• Gli Skill profiles di terza generazione• Esempio reale• Gli Strumenti• Adottare gli skill Fonte: fr.wikipedia.org 5/8 Competenze per lo sviluppo del software nellera del Web
  • La teoria è quando si sa tutto e niente funziona.La pratica è quando tutto funziona e nessuno sa ilperché. In questo caso abbiamo messo insieme la teoria e la pratica: non cè niente che funziona... e nessuno sa il perché! Fonte immagine: fineartamerica.com Competenze per lo sviluppo del software nellera del Web 6
  • • Secondo i miei calcoli avrebbe dovuto apparire così…• In teoria dovrebbe funzionare…• In base alla mia esperienza e a quanto letto nella documentazione il comportamento corretto avrebbe dovuto essere… La teoria è quando si sa tutto e niente funziona. 7/8 Competenze per lo sviluppo del software nellera del Web
  • • Eppure non dovrebbe funzionare!• Finquando funziona non tocchiamolo... potrebbe smettere di funzionareLa pratica è quando tutto funziona e nessuno sa il perchè. 8/8 Competenze per lo sviluppo del software nellera del Web
  • • Eppure dovrebbe funzionare!• Secondo le previsioni il comportamento non è scorretto eppure non svolge il suo compito! Non cè niente che funziona... e nessuno sa il perchè! 9/8 Competenze per lo sviluppo del software nellera del Web
  • Cosa cambia nel Web?• Il W3C definisce le raccomandazioni: linee guida comuni (la teoria)• I vendor (Microsoft, Apple, Google, Mozilla, …) sviluppano i browser (User Agent) che implementano le raccomandazioni … ciascuno a suo modo (la pratica)• I professionisti sviluppano codice che NON funziona su uno o più browser e poi effettuano le opportune verifiche consultando la documentazione (niente funziona e nessuno sa perchè) 10/8 Competenze per lo sviluppo del software nellera del Web
  • Come evitare che ciò accada?• Evitarlo in modo assoluto non è possibile• Si può ottenere una riduzione di situazioni anomale e/o di criticità acquisendo le giuste competenze o coinvolgendo figure professionali con particolari abilità. 11/8 Competenze per lo sviluppo del software nellera del Web
  • Guy Le Boterf: Definizione di Competenza“Un insieme, riconosciuto e provato, delle rappresentazioni,conoscenze, capacità e comportamenti mobilizzati e combinatiin maniera pertinente in un contesto dato”.Rappresentazioni, conoscenze, capacità e comportamentipossono essere riassunti col termine risorse, portandoci adaffermare che la competenza è una qualità specifica delsoggetto: quella di saper combinare diverse risorse, per gestireo affrontare in maniera efficace delle situazioni, in uncontesto dato. (Le Boterf, G., 1990, De la compétence: Essai sur un attracteur étrange, Les Ed. de l’Organisation) http://www.guyleboterf-conseil.com/ Competenze per lo sviluppo del software nellera del Web 15
  • RisorseServer Side Client SidePHP, .NET, Java, Ruby, XHTML, Accessibility, CSS,Python, Perl, Mongrel, XML, Javascript, UX,XHTML, CGI, Wordpress, Progressive Enhancement,IIS, Apache, XML, Joomla, AJAX, Graceful Degradation,Bash, Drupal, Plone, … XSLT, Usability, XSS, UI, …Web Writing, CMS, FOAF, Data Recovery, Oracle, Dump,IA, RDFA, Accessibility, Postgres, MySQL, SQLServer,XSLT, SEM, Communication, Transactions, SQL, Functions,Web reputation, HTML, SEO, Backup, Stored Procedure, …Copywriting, Blog, …Contents Data manipulation 16/8 Competenze per lo sviluppo del software nellera del Web
  • Situazioni Web applicationDatabase developement administration E-commerce Search EngineSocial Optimization communication Web Server administration 17/8 Competenze per lo sviluppo del software nellera del Web
  • Contesto Sicurezza Stabilità Hacking, SQL Injection, Server configuration, Unit test, Application debugging, XSS, XSRF, Script Data consistency, … Injection, … Performance AppagamentoServer tuning, Bottle necks, Progressive Enhancement, UX, Application Analysis, Communication, Accessibility, DB Optimization, … AI, Usability, Responsive design 18/8 Competenze per lo sviluppo del software nellera del Web
  • Risorse + Situazione + Contesto = Competenza 19/8 Competenze per lo sviluppo del software nellera del Web
  • Web Skill Profiles Working Group http://www.skillprofiles.eu/partecipanti/ 20/8 Competenze per lo sviluppo del software nellera del Web
  • Le macroaree Ideazione Progettazione Nascita dellidea Definizione dello scopo Formalizzazione del progetto Definizione dello scopo Pianificazione tempi e personale necessarioFormalizzazione del progetto Progettazione strategica / tecnica Analisi di mercato Search Engine Optimization (SEO) Marketing Realizzazione Definizione dello scopo Progettazione tecnica Analisi di mercato SEO / SEM Progettazione strategica Sviluppo Search Engine Optimization (SEO) Produzione dei contenuti Search Engine Marketing (SEM) T-esting e valutazioni 21/8 Competenze per lo sviluppo del software nellera del Web
  • Le macroaree 22/8 Competenze per lo sviluppo del software nellera del Web
  • Web Skill Profiles di terza generazioneWeb Project Manager Web Content SpecialistAccount Web Server AdministratorMarket Research Analyst Creative Information ArchitectUser Experience Designer Digital Strategic PlannerFunctional Analyst Web Accessibility ExpertDb Administrator Web Security ManagerSearch Engine Optimizator (SEO) Open Data SpecialistSearch Engine Marketer Mobile Applications DeveloperCommunity Manager Online Store ManagerAdvertising Manager Social Media ManagerFront-end Web Developer Reputation ManagerServer Side Web Developer Mobile Manager http://www.skillprofiles.eu/ 23/8 Competenze per lo sviluppo del software nellera del Web
  • Esempio realeLazienda X richiede lo sviluppo di un sistema web di monitoraggio dei file sul webserver su piattaforma LAMP allo scopo di evitare (o almeno tenere traccia di) eventuali manipolazioni da parte di estranei. La procedura dovrà operare in modo autonomo sul server e dovrà generare un report HTML in caso di interrogazione di un URL. 25/8 Competenze per lo sviluppo del software nellera del Web
  • Esempio realeLazienda X richiede lo sviluppo di un sistema web di monitoraggio dei file sul webserver su piattaforma LAMP allo scopo di evitare (o almeno tenere traccia di) eventuali manipolazioni da parte di estranei. La procedura dovrà operare in modo autonomo sul server e dovrà generare un report HTML in caso di interrogazione di un URL. 26/8 Competenze per lo sviluppo del software nellera del Web
  • Potenziali competenze/conoscenze✔ Project Management✔ Problem Solving✔ Budgeting✔ Problem Setting✔ XHTML✔ PHP / Python / Java (server side developement language)✔ Essere in grado di amministrare, configurare e ottimizzare un Server Linux✔ Essere in grado di amministrare, configurare e ottimizzare un Server Apache✔ Web Application Security✔ Internet Security 27/8 Competenze per lo sviluppo del software nellera del Web
  • Web Project ManagerIdeazione - Progettazione✔ Project Management✔ Problem Solving✔ Budgeting✔ Problem Setting✔ XHTML✔ PHP / Python / Java (server side developement language)✔ Essere in grado di amministrare, configurare e ottimizzare un Server Linux✔ Essere in grado di amministrare, configurare e ottimizzare un Server Apache✔ Web Application Security✔ Internet Security 28/8 Competenze per lo sviluppo del software nellera del Web
  • Web Project ManagerIdeazione - ProgettazioneIl Web Project Manager gestisce quotidianamente il progetto web in maniera efficace, con lo scopo di rispettare gli accordi di consegna stabiliti con gli stakeholder. Definisce e pianifica le attività, motiva il team di progetto e lo coordina delegando i vari compiti. Monitora di continuo tempi, costi, qualità, ambito, benefici e rischi. 29/8 Competenze per lo sviluppo del software nellera del Web
  • Web Project ManagerIdeazione - Progettazione✔ Project Management✔ Problem Solving✔ Budgeting✔ Problem Setting✔ XHTML✔ PHP / Python / Java (server side developement language)✔ Essere in grado di amministrare, configurare e ottimizzare un Server Linux✔ Essere in grado di amministrare, configurare e ottimizzare un Server Apache✔ Web Application Security✔ Internet Security 30/8 Competenze per lo sviluppo del software nellera del Web
  • Functional AnalystProgettazione✔ Project Management✔ Problem Solving✔ Budgeting✔ Problem Setting (Tecniche di analisi funzionale, Technical Writing)✔ XHTML✔ PHP / Python / Java (server side developement language)✔ Essere in grado di amministrare, configurare e ottimizzare un Server Linux✔ Essere in grado di amministrare, configurare e ottimizzare un Server Apache✔ Web Application Security✔ Internet Security 31/8 Competenze per lo sviluppo del software nellera del Web
  • Server Side Web DeveloperRealizzazione✔ Project Management✔ Problem Solving✔ Budgeting✔ Problem Setting (Tecniche di analisi funzionale, Technical Writing)✔ XHTML✔ PHP / Python / Java (server side developement language)✔ Essere in grado di amministrare, configurare e ottimizzare un Server Linux✔ Essere in grado di amministrare, configurare e ottimizzare un Server Apache✔ Web Application Security✔ Internet Security 32/8 Competenze per lo sviluppo del software nellera del Web
  • Server Side Web DeveloperRealizzazioneFigura professionale rientrante nello sviluppo applicazioni Web. Si occupa della creazione di applicazioni Web necessarie al funzionamento dei contenuti nel Web e può lavorare come freelance, per agenzie specializzate nello sviluppo di applicazioni o all’interno di un’organizzazione. 33/8 Competenze per lo sviluppo del software nellera del Web
  • Server Side Web DeveloperRealizzazione✔ Project Management✔ Problem Solving✔ Budgeting✔ Problem Setting (Tecniche di analisi funzionale, Technical Writing)✔ XHTML✔ PHP / Python / Java (server side developement language)✔ Essere in grado di amministrare, configurare e ottimizzare un Server Linux✔ Essere in grado di amministrare, configurare e ottimizzare un Server Apache✔ Web Application Security✔ Internet Security 34/8 Competenze per lo sviluppo del software nellera del Web
  • Web Server AdministratorProgettazione - Realizzazione✔ Project Management✔ Problem Solving✔ Budgeting✔ Problem Setting (Tecniche di analisi funzionale, Technical Writing)✔ XHTML✔ PHP / Python / Java (server side developement language)✔ Essere in grado di amministrare, configurare e ottimizzare un Server Linux✔ Essere in grado di amministrare, configurare e ottimizzare un Server Apache✔ Web Application Security✔ Internet Security 35/8 Competenze per lo sviluppo del software nellera del Web
  • Web Server AdministratorProgettazione - RealizzazioneInstalla software, configura ed aggiorna sistemi ICT. Amministra quotidianamente l’esercizio del sistema al fine di soddisfare la continuità del servizio, i salvataggi, la sicurezza e le esigenze di performance. 36/8 Competenze per lo sviluppo del software nellera del Web
  • Web Server AdministratorProgettazione - Realizzazione✔ Project Management✔ Problem Solving✔ Budgeting✔ Problem Setting (Tecniche di analisi funzionale, Technical Writing)✔ XHTML✔ PHP / Python / Java (server side developement language)✔ Essere in grado di amministrare, configurare e ottimizzare un Server Linux✔ Essere in grado di amministrare, configurare e ottimizzare un Server Apache✔ Web Application Security✔ Internet Security 37/8 Competenze per lo sviluppo del software nellera del Web
  • Web Security ExpertProgettazione - Realizzazione✔ Project Management✔ Problem Solving✔ Budgeting✔ Problem Setting (Tecniche di analisi funzionale, Technical Writing)✔ XHTML✔ PHP / Python / Java (server side developement language)✔ Essere in grado di amministrare, configurare e ottimizzare un Server Linux✔ Essere in grado di amministrare, configurare e ottimizzare un Server Apache✔ Web Application Security✔ Internet Security 38/8 Competenze per lo sviluppo del software nellera del Web
  • Web Security ExpertProgettazione - RealizzazioneValuta e assicura la corretta implementazione della politica di sicurezza per le applicazioni e i server web tramite la definizioni dei requisiti delle attività di security testing; la pianificazione, l’esecuzione e la verifica dello svolgimento dei test e la definizione dei rientri opportuni secondo lo scenario specifico.Ha l’esperienza e la capacità per assistere il cliente nella definizione delle strategie relative al security testing. Conosce le best practice le metodologie di settore, gli standard internazionali e la normativa di riferimento ed è in grado di adattare le sue conoscenze allo specifico contesto operativo.Facilita il dialogo tra le funzioni di governo aziendale e le funzioni operative e tecniche. 39/8 Competenze per lo sviluppo del software nellera del Web
  • Come si maturano le competenze?  Esperienza diretta  Trasferimento di conoscenza  Formazione 40/8 Competenze per lo sviluppo del software nellera del Web
  • Come si maturano le competenze?  Esperienza diretta  Trasferimento di conoscenza  Formazione 41/8 Competenze per lo sviluppo del software nellera del Web
  • Esperienza direttaJohnny Storm aliasLuomo torcia, ha datofuoco a diversi abitiprima di controllare ilsuo potere!
  • Come si maturano le competenze?  Esperienza diretta  Trasferimento di conoscenza  Formazione 43/8 Competenze per lo sviluppo del software nellera del Web
  • Trasferimento di conoscenza Peter Parker alias Spiderman matura le sue abilità a seguito del morso di un ragno.
  • Come si maturano le competenze?  Esperienza diretta  Trasferimento di conoscenza  Formazione 45/8 Competenze per lo sviluppo del software nellera del Web
  • FormazioneBruce Wayne aliasBatman segue un durocorso di addestramentotenuto dalla setta delleombre prima diindossare la maschera.
  • Leccezione che conferma la regola! Ha dovuto emigrare
  • Gli strumenti 48/8Competenze per lo http://bareden.sytes.net/oldforum/attrezzi-da-lavoro-t6983.htm sviluppo del software nellera del Web
  • Architettura tipica web application 49/8 Competenze per lo sviluppo del software nellera del Web
  • Applicazione basata su Framework 50/8 Competenze per lo sviluppo del software nellera del Web
  • I FrameworkSono le fondamenta di una buona Applicazione Web – È possibile far operare in un team professionalità distinte (DBA, Server Side Developer, Front End Developer, ecc. ) – Ciascuno si occuperà delle attività di propria competenza – Non cè bisogno del “Webmaster” 51/8 Competenze per lo sviluppo del software nellera del Web
  • Framework che lavorano nel browser ✔ jQuery, MooTools ✔ Prototype (alla base di script.aculo.us) ✔ JAST ✔ Yui, AxsJS ✔ ExtJS 52/8 Competenze per lo sviluppo del software nellera del Web
  • Framework che lavorano sul server ✔ Zend Framework ✔ Struts ✔ Springs ✔ NET Framework ✔ ALPHA Framework 53/8 Competenze per lo sviluppo del software nellera del Web
  • Framework che lavorano in modalità ibrida ✔ Ruby On Rails ✔ Microsoft .NET Framework ✔ Cake PHP, Code Igniter ✔ ALPHA Framework 54/8 Competenze per lo sviluppo del software nellera del Web
  • Quanto mi costa? Lo scopo di un buon framework è di separare le competenze, garantire una sicurezza di base e ottimizare i tempi di sviluppo riducendo al minimo la riscrittura di codice già steso in precedenza per compiti simili. Il costo è determinato dalla complessità delle funzioni accessorie e della Business Logic 55/8 Competenze per lo sviluppo del software nellera del Web
  • Chi ha già adottato gli Skills? 56/8 Competenze per lo sviluppo del software nellera del Web
  • Comune di MilanoAppalto n. 21/2012 per l’Affidamento dei servizi di manutenzione ed evoluzione del sistema dei portali del Comune di Milano, aperto fino al 29 giugno 2012 – Annesso n. 5Obbligo per il fornitore di operare con figure professionali rispondenti alla release v 1.0 (luglio 2012) 57/8 Competenze per lo sviluppo del software nellera del Web
  • ISIS EuropaCorso di studi professionali Servizi Commerciali per le Community OnlineCorso di 5 anni con esame di certificazione a conclusione del percorso formativo 58/8 Competenze per lo sviluppo del software nellera del Web
  • Fondazione Idis-Città della ScienzaCorso specialistico basato su standard europei per formare la figura protagonista della realtà dei Social Media: il Community Manager.Data inizio: 16 Novembre 2012Durata: 72 ore in 6 settimaneQuota discrizione: € 1.200,00 Sconto Soci IWA 15% 59/8 Competenze per lo sviluppo del software nellera del Web
  • 60
  • Perchè adottarre i Web Skills Profiles?Misurabilità delle competenze professionaliAcquisizione di nuove risorse umane nelle aree di carenzaIndicatori di performance determinabili e quantificabili.Gratificazione e crescita professionale individuale e collettiva 61/8 Competenze per lo sviluppo del software nellera del Web
  • http://diegolamonica.infome@diegolamonica.infodiego.lamonica@gmail.com@jastDiego La Monicadiego.la.monica0279702 62