SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
01-a-Intro-BetterDev
Report
Marcio Marchini
Follow
Lean and Agile In The Large Software Development Coach at MQM Soluções
Jan. 14, 2016
•
0 likes
•
584 views
1
of
36
01-a-Intro-BetterDev
Jan. 14, 2016
•
0 likes
•
584 views
Download Now
Download to read offline
Report
Marcio Marchini
Follow
Lean and Agile In The Large Software Development Coach at MQM Soluções
Recommended
mqm-Agile
Marcio Marchini
485 views
•
50 slides
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
Bill Scott
19.7K views
•
65 slides
Enabling Lean at Enterprise Scale: Lean Engineering in Action
Hyperdrive Agile Leadership (powered by Bratton & Company)
758 views
•
65 slides
The Fight Over HTML5
Mike Wilcox
335 views
•
127 slides
Top Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocks
ZeroTurnaround
23.8K views
•
11 slides
Agile Route Company Presentation
Ariel Stefano
426 views
•
15 slides
More Related Content
Similar to 01-a-Intro-BetterDev
From open source labs to ceo methods and advice by sysfera
fOSSa - Free Open Source Software Academia Conference
1K views
•
45 slides
OSGI,
James Governor
1.7K views
•
32 slides
Big Event Looping Deck
Steve Lange
551 views
•
58 slides
Developers Nepal Meetup #4 Report
Punit Jajodia
190 views
•
13 slides
Final Report_213110090
Arvind Singh Rathod
139 views
•
28 slides
Vittorio Viarengo, ViVi software
Nicolò Borghi
2.2K views
•
77 slides
Similar to 01-a-Intro-BetterDev
(20)
From open source labs to ceo methods and advice by sysfera
fOSSa - Free Open Source Software Academia Conference
•
1K views
OSGI,
James Governor
•
1.7K views
Big Event Looping Deck
Steve Lange
•
551 views
Developers Nepal Meetup #4 Report
Punit Jajodia
•
190 views
Final Report_213110090
Arvind Singh Rathod
•
139 views
Vittorio Viarengo, ViVi software
Nicolò Borghi
•
2.2K views
Vittorio Viarengo, ViVi software
Nicolò Borghi
•
1.7K views
仕様決定、部品化、ディレクションがなぜ重要か
Kohei Otsuka
•
802 views
Journey to the center of the software industry world
Amr Salah
•
578 views
curriculo-sandro-en
Sandro Bihaiko
•
115 views
Recipe of a rockstar developer
Topu Newaj
•
1.3K views
Unbundling the Bank
Matt Deacon
•
468 views
Mohamed attia farag
Mohammed Attia Farag
•
754 views
Ibm at sae2012 highlights
ibmsae
•
167 views
MSLC Company Profile
Muhammed Shakir
•
831 views
Pareto will tell you to stop using your ORM - Mateo Collina
WeyWeyWeb
•
11 views
TDD - Cultivating a Beginner's Mind
Shai Yallin
•
1.8K views
Software Craftsmanship
Mike Clement
•
946 views
Open Source And Java
wiradikusuma
•
723 views
Fakes
Joel Cochran
•
532 views
More from Marcio Marchini
Critérios de Aceite de Código Para Times Internos ou Terceirizados
Marcio Marchini
1.2K views
•
17 slides
É Pythonico, mas... é macarrônico
Marcio Marchini
732 views
•
23 slides
Whitepaper-Custos
Marcio Marchini
1.2K views
•
24 slides
OmbrosDeGigantes-TDC2014
Marcio Marchini
462 views
•
70 slides
BDD-NamoroOn
Marcio Marchini
1.1K views
•
26 slides
01-b-Ping
Marcio Marchini
1.1K views
•
45 slides
More from Marcio Marchini
(8)
Critérios de Aceite de Código Para Times Internos ou Terceirizados
Marcio Marchini
•
1.2K views
É Pythonico, mas... é macarrônico
Marcio Marchini
•
732 views
Whitepaper-Custos
Marcio Marchini
•
1.2K views
OmbrosDeGigantes-TDC2014
Marcio Marchini
•
462 views
BDD-NamoroOn
Marcio Marchini
•
1.1K views
01-b-Ping
Marcio Marchini
•
1.1K views
gae
Marcio Marchini
•
559 views
Branches-Intro
Marcio Marchini
•
627 views
01-a-Intro-BetterDev
1.
Better Developer ([A]: Desenvolvimento
a la Eclipse/Canadá) Marcio Marchini www.BetterDeveloper.net
2.
© 2012 Marcio
Marchini • Parte 1: Brownfield Development (Legado…) • Parte 2: Greenfield Development (Certo desde o Início…) Visão Geral
3.
© 2012 Marcio
Marchini Márcio Marchini está envolvido em Desenvolvimento de Software Orientado a Objetos desde o fim dos anos oitenta, usando Smalltalk e depois Java e C#. Marchini participou do projeto do IBM VisualAge, que originou o Eclipse, na OTI em Ottawa/Canadá (hoje "OTI IBM Labs" ). Lá tambem participou do desenvolvimento da Máquina Virtual IBM Java J9 (utilizado em alguns telefones da Nokia e outros), e do projeto cujo código foi doado pela IBM ao Apache Harmony (http://harmony.apache.org/). Marchini trabalhou também como Líder Técnico na área de Telecom na MITEL Networks, também no Canadá, e posteriormente juntou-se como Pesquisador e Líder de Equipe, Projeto e Consultor de Desenvolvimento de Software na BRL (Bedarra Research Labs, Canadá). Junto com o time da Bedarra, Marchini trabalhou apoiando grandes e pequenas companhias a fazerem a transição para o Desenvolvimento Ágil de Software. Dentre as empresas que apoiou destacam-se a Cognos (atualmente parte da IBM) e a Samsung na Coréia do Sul. Marchini também possui experiência com educação e treinamento à distância, tendo integrado a parceria com a Online-Learning.com, que preparou a plataforma e o conteúdo dos cursos SCORM para TDD da Object Mentor e Bedarra. No Brasil, Marchini implantou, como CTO na Audaces, o desenvolvimento Agile In The Large, onde os softwares legados foram adaptados a serem produzido com build continuo, testes automatizados com relatório de cobertura, etc. Marchini é também co- autor de um método e produto para depuração de máquinas virtuais Java (US Patent 6,637,024). Instrutor: Márcio Marchini
4.
© 2012 Marcio
Marchini Segundo Mike Keith... Co-autor da JSR 220 (EJB 3.0) e membro do grupo da JSR 244 (Java EE), bem como autor dos livros Pro EJB 3: Java Persistence API e Pro JPA 2: Mastering the Java(TM) Persistence API , Mike Keith tem isso a dizer sobre nosso trabalho, juntos na IBM/OTI Labs: “I had the opportunity to get to know and work with Marcio at OTI and have valued my association with him ever since. Marcio is the killer combination of a very bright mind, a good work ethic, and loads of creativity. Add in his contagious enthusiasm and friendly character and Marcio is the complete package: a smart, talented, team builder. Any company Marcio chooses to work for would be insane to pass up the opportunity to hire him.” May 8, 2011 Recomendações (Mike Keith)
5.
© 2012 Marcio
Marchini Segundo Jeff McAffer... Um dos principais arquitetos do Eclipse e autor do livro Eclipse RCP e de OSGi atualmente assumindo a posição de arquiteto do Visual Studio na Microsoft, eis o que Jeff McAffer tem a dizer do nosso trabalho: “I worked with Marcio for a number of years in a diverse set of projects. He is well-grounded and well-rounded. I greatly appreciate his ability to think and act at multiple levels from low-level technical detail to high-level design to organizational/process topics. Very bright, good people skills and an overall great guy.”May 19, 2011 Recomendações (Jeff McAffer)
6.
© 2012 Marcio
Marchini Segundo Erich Gamma... Nome que dispensa introdução, Erich Gamma escreveu a bíblia de Design Patterns, cumprindo um papel crucial também na IBM no desenvolvimento do projeto Eclipse. Eis sua recomendação: “I remember well when we worked together at OTI on Java tools. The deliverables from Marcio were always on time and with high quality. Marcio was a pleasure to work with.” June 20, 2011 Recomendações (Erich Gamma)
7.
© 2012 Marcio
Marchini Segundo Dave Thomas... Fundador da OTI, posteriormente comprada pela IBM Canada, e criador do berço do projeto Eclipse e da máquina virtual Java da IBM, eis as recomendações de Dave Thomas: “I strongly recommend Marcio, to the extend that I would gladly hire him again. I've worked with him since the 90s in different companies. He is an strong technical leader, mentor and an outstanding team player. He knows how to build and deploy commercial software products as well as how to work in a speculative R&D environment.” April 25, 2011 Recomendações (Dave Thomas)
8.
© 2012 Marcio
Marchini Entendendo nosso background profissional… • Carreira Profissional em Software Industrial no Canadá • Inicialmente na empresa OTI, que foi o berço do Eclipse • Antes do Eclipse havia Leapfrog, VisualAge, Smalltalk… • Bedarra / Dave Thomas novamente • A seguir: entendendo nosso background e o que queremos transferir nesse curso. (O que nos moldou profissionalmente)
9.
© 2012 Marcio
Marchini OTI – Breve Histórico Fonte: http://www-03.ibm.com/software/ca/en/ottawalab/roots.html Object Technology International (OTI): 1988-2002 A world leader in object-oriented technology founded in 1988, OTI is the company behind big- name products like VisualAge for Java, VisualAge Smalltalk, VisualAge Micro Edition, WebSphere® Studio Device Developer, WebSphere Micro Environment, WebSphere Custom Environment, WebSphere Studio Workbench, and Eclipse. OTI is known for its lead role in the design and development of IBM's IDEs for Java, Smalltalk and embedded systems. More recently, OTI led in developing Eclipse, the open source, next- generation application development tools platform, and WebSphere Studio Workbench, the IBM supported version of Eclipse technology. OTI was acquired by IBM in 1996, and operated as a wholly owned subsidiary for seven years. In 2003, OTI transitioned to become a full part of IBM with the formation of the new IBM Ottawa Software Lab. Founder: Dave Thomas (see http://en.wikipedia.org/wiki/David_A._Thomas_ %28software_developer%29 )
10.
© 2012 Marcio
Marchini OTI/Canadá –1994 Chegando no Mundo OTI: Vários Regression Tests de ENVY/Swapper. Hmmm, na universidade não tinha disso. Swapper: Legado que precisa evoluir. Hmmm, na universidade não tinha disso. Time de Release Engineering, com builds. Hmmm, na universidade não tinha disso. Milhares de clientes grandes pelo mundo, inclusive IBM, mainframes, etc. Tem que rodar bem e sem erro. Hmmm, na universidade não tinha disso. Ninguém seguindo Waterfall ou usando OMT (precursor do UML). Mas também nada de prototipação. Hmm... O que é que esses caras usam?? Componentes. APIs bem definidas nas “boundaries”. Times pequenos com Team Leaders. Sem Managers. “Eat Our Own Dog Food” (or “Drink Our Own Champagne”): Bug/Ticket System em Smalltalk. IDE em Smalltalk. Team tool em Smalltalk (ENVY/Developer). Mailer em Smalltalk!!!! Etc. CEO: Dave Thomas. Professor / Carleton University. ACM Distinguished Engineer.
11.
© 2012 Marcio
Marchini OTI JIT – O Segredo Segredo do Dave Thomas: JIT: Just-In-Time Software Development Inspirado em Lean/Toyota Secreto/interno. “Competitive Advantage” Nomes Modernos: Lean, Ágil
12.
© 2012 Marcio
Marchini OTI JIT – O Efeito Colateral Smart People Attract Smart People!!! (experimente um Google dessa frase) Peopleware!!!!
13.
© 2012 Marcio
Marchini Clusterização e Disparidade de Talentos •Produtividade pode variar de 10:1 Dave-ProductivityVaries Dave-ProductivityVaries.m4v
14.
© 2012 Marcio
Marchini OTI JIT – Mais Efeito Colateral Assmimilação Borg Reversa IBM Compra OTI e assimila o know-how. (ex. Erich Gamma, OTI Zurich) VMs Smalltalk, VMs Java. (John Duimovich & VM team) IDEs. (Greg Adams & teams) Método JIT de Software. (Dave Thomas & Brian Barry) Spin off: Eclipse Foundation. (Mike Millinkovitch: ex-OTI) IBM se tornando Ágil ?!?! (início: Websphere)
15.
© 2012 Marcio
Marchini 2007 - IBM Jazz – Familiar? IBM Jazz (Rational Team Concert) “People, not organizations, build great software”. http://jazz.net/pub/index.jsp “Jazz is a joint project between IBM Rational and IBM Research to build a scalable, extensible team collaboration platform for seamlessly integrating tasks across the software lifecycle.” Soa Familiar??? Jim des Rivieres (“API wizard”)
16.
© 2012 Marcio
Marchini Software em Empresas Grandes: 1994…2003 (Espera aí... No Canadá não é todo mundo que nem a OTI ???) MITEL / Ottawa PBX: Pascal “envenenado” p/ “baixaria”, compilador in-house. Código “massaroca” (emaranhado) UML? Não!!!! Unit Tests? Não!!! Mas... Pelo menos tinha Continuus (version control, Bug Report, etc) Rational Rational Team Concert: Todo analisado/projetado up-front em UML, certo? Não!!!
17.
© 2012 Marcio
Marchini Software em Empresas Grandes: 1994…2003 (É todo mundo profi que nem a OTI ???) Time na Samsung / Seul UML: Usado entre releases, pros times “descansarem”. Brincar de desenhar diagramas. O gerente quer. Na hora do aperto: Hack and Release Mas... Pelo menos tinha JIRA, Perforce. Bedarra CTIP p/ alguns grupos. Time na Cognos / Ottawa Business Intelligence: 6M LOC em C, C++, APL, VB, Java, etc. UML? Não!!!!! Unit Tests? Não!!!! Todos os testes feitos “através da GUI” com ferramentas tipo Mercury. Mas... Pelo menos tinha Bug Tracking (in-house), Build System (in-house), Perforce, Smart Bear (code review)
18.
© 2012 Marcio
Marchini Empresas Grandes 2001… ISO 900x, 6-Sigma, CMMi Teoria: Implante um Processo Rígido, a Qualidade Vai Vir “In theory, theory and practice are the same. In pratice, they are different”. ISO 900x, CMM etc A Máfia da Certificação. Scuba Divers, anybody? Consultores querendo vender seus livros “Pra Inglês Ver”: No papel a gente faz assim/assado, pro auditor (ISO| CMMi|<insira sigla aqui>) ver. Na prática, bom, .... É tudo uma questão de incentivos… “It’s possible to ship 0 lines of working software, but a pile of documentation, and be CMM-compliant. Not so with Agile.” -Bjorn, CTO New Relic (ex-Eclipse Foundation, ex-OTI, ex- prof. Carleton University)
19.
© 2012 Marcio
Marchini Empresas Grandes 2003… Ágil! SCRUM Sub-conjunto de XP (Extreme Programming)
20.
© 2012 Marcio
Marchini Manifesto Ágil (>10 anos!!!) Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas
21.
© 2012 Marcio
Marchini XP XP Practices Whole Team - a.k.a. "customer present" Short Cycles (short iterations) User Stories Acceptance Tests Test Driven Development Pair Programming (a.k.a. Continuous Code Review) Collective Ownership Continuous Integration (detect breaking code early) Sustainable Pace (40-h week) Open Workspace The Planning Game (Business people decide on priorities, Developers decide on estimates) Simple Design (Do the simplest thing that could possibly work) Refactoring Metaphor (big picture is shared by all) • Problemas • Imagem: Extreme é “coisa pra jovem". Arriscado. • Religião: Pair Programming 24/7 ??!! • Empresas grandes são geralmente conservadoras
22.
© 2012 Marcio
Marchini Subconjuntos/Paleativos de XP Code Review como substituto de Pair Programming (Smart Bear, etc) Unit Tests apenas pra novo código Testes via GUI pra depois refatorar ...
23.
© 2012 Marcio
Marchini SCRUM SCRUM Product Release Backlogs Individual Sprint Backlog Potentially Shippable Product Increment SCRUM Meeting The Product Release Backlog contains all of the work items required to build a specific release of the product. An informed customer or the product owner acting on behalf of the customer is responsible for prioritizing the Product Backlog into individual Product Release Backlogs. The SCRUM produces potentially shippable working product increments. The definition of a potentially shippable increment is determined by an informed customer. Daily SCRUM meetings are held every 24 hours to monitor progress. Selected backlog items are added to a Sprint Backlog. These backlog tasks are expanded by the scrum team and the team sprints to complete the items. Schwaber, Beedle Scrum Backlog Each scrum is assigned its own Scrum or Team Backlog containing the work items for that specific release
24.
© 2012 Marcio
Marchini SCRUM SCRUM Practices Product Backlog Sprint (a.k.a. Short Iterations; Time-boxed) Sprint Planning Meeting Sprint Backlog Daily Scrum Meeting Sprint Review Meeting Roles Product Owner Scrum Master Scrum Team Repare: Nada quanto a “Engineering Practices”. Contraste com XP.
25.
© 2012 Marcio
Marchini Diga Mais Sobre XP + SCRUM Baixe e leia o PDF:
26.
© 2012 Marcio
Marchini O Lado Negro de Lean/Ágil A Máfia da Certificação. Parece com os níveis de Scuba Divers… • (sim, sim, eu também fiz o curso de Scrum Master) A Máfia da Consultoria. Todo mundo agora é expert. Lembram-se de OO? Mesma estória. • (sim, sim, eu também dou consultoria em Ágil) Micromanagment (O que você fez ontem? O que vai fazer hoje? etc.) • Algumas pessoas simplesmente não têm Peopleware skills. Visão simplória de alguns – falta de conciliação com empresas grandes, com Legacy Code Acima de tudo, não esqueça: No Silver Bullet (Fred Brooks) http://en.wikipedia.org/wiki/No_Silver_Bullet
27.
© 2012 Marcio
Marchini Quão Bem Está Seu Grupo? Joel On Software - Test The Joel Test: 12 Steps to Better Code, By Joel Spolsky Wednesday, August 09, 2000 http://www.joelonsoftware.com/articles/fog0000000043.html 1.Do you use source control? 2.Can you make a build in one step? 3.Do you make daily builds? 4.Do you have a bug database? 5.Do you fix bugs before writing new code? 6.Do you have an up-to-date schedule? 7.Do you have a spec? 8.Do programmers have quiet working conditions? 9.Do you use the best tools money can buy? 10.Do you have testers? 11.Do new candidates write code during their interview? 12.Do you do hallway usability testing?
28.
© 2012 Marcio
Marchini Bedarra – Lean and Agile In The Large • Designed for large and small software development projects • Designed for projects that span multiple teams • Designed for requiring a supplier-customer relationship • Designed for any type of project such as software applications, components, internal, third-party, or consulting projects
29.
© 2012 Marcio
Marchini Lean and Agile In The Large – Formato Eletrônico
30.
© 2012 Marcio
Marchini Process Overview Release Engineering Phase Continuous integration and test Manage dependencies Manage the “End Game” Agile Product Team Scrums… Definition Phase Convert requirements to features Design architecture (ADD) Scrums… Envisioning Phase Assess market risks Assess R & D risks Gather requirements Develop vision Scrums… Development Phase Adopt test-driven development model Implement & re-factor code using pair development Employ a Continuous Integration & Test Environment Make progress visible to team and management SCRUMTeam1 Potentially Shippable Product Agile Principles SCRUMTeam2 SCRUMTeamN Requirements Backlog Risk Backlog Vision Prototypes Look & Feel Guidelines Release Backlogs Product Backlog Product Architecture SCRUM Release Backlog Shippable Code Increments Sprint Release Backlogs
31.
© 2012 Marcio
Marchini AIL - Envisioning
32.
© 2012 Marcio
Marchini AIL - Definition
33.
© 2012 Marcio
Marchini AIL - Development
34.
© 2012 Marcio
Marchini AIL – Release Engineering
35.
© 2012 Marcio
Marchini OTI em Florianópolis/UFSC/EDUGRAF • Mais detalhes em http://xp.edugraf.ufsc.br/bin/view/XP/ODesenvolvimentoAgil http://palestrajim.edugraf.ufsc.br/
36.
© 2012 Marcio
Marchini Entendendo a Carga do Curso… Resumindo: Fomos privilegiados por estar no lugar certo na hora certa e pudemos aprender muito trabalhando com os Mestres… Esperamos aqui poder repassar vários ensinamentos e experiências adquiridas!