39
The The use use of of Agile Agile Practices Practices The The use use of of Agile Agile Practices Practices in in Distributed Distributed Software Software Development Development with with support support of of Open Source Open Source Tools Tools

Agile Brazil 2010 - DSD + Open Source + Agile Methods

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Agile Brazil 2010 - DSD + Open Source + Agile Methods

TheThe use use ofof AgileAgile PracticesPracticesTheThe use use ofof AgileAgile PracticesPractices

in in DistributedDistributed Software Software DevelopmentDevelopment

withwith supportsupport ofof Open Source Open Source ToolsTools

Page 2: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Who am I?

Guilherme [email protected]

� MSc in Computing Science, Software Engineering area (UFRGS)

� Graduate and Postgraduate Professor (FACENSA and UniRitter)� Graduate and Postgraduate Professor (FACENSA and UniRitter)

� IT Consultant with +15 years software development experience, where I worked for 9years as CTO (Open Source Development and Consulting Company)

� Agile Methods Instructor/Consultant (TargetTrust Training and Technology)

� Agile Methods Pioneer in Brazil, working since 2001 (Lean, Scrum, XP)

� XP-RS/GUMA (Agile Methods User Groups of the Rio Grande do Sul) Founder and Vice-Coordinator

� IASA and ScrumAlliance Member

Page 3: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Backlog

�Distributed Software Development(DSD)

� Agents

� The Problem� The Problem

� Practices adopted

� Open Source Tools

� Lessons Learned

Page 4: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Distributed Software Development

� Categories� Onshore

� Physical/Time distance between processpeople

� Customers, Users, Team members

� Onshore� Nearshore� Offshore� Insourcing / Outsourcing

� Challenges� Communication� Independent teams� Culturals barriers� Work ways

Page 5: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Agents

Page 6: Agile Brazil 2010 - DSD + Open Source + Agile Methods

The problem

� SAC Customization

� Legacy Application (Clipper)

� Delphi + SQLServer Solution

Should we develop a new solution (reengeneering and data migration)?

Page 7: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Distance

� 10 peoples (Customer + Team)

� PO definition

� Secretary participation

Page 8: Agile Brazil 2010 - DSD + Open Source + Agile Methods

SCP2 – Protocols and Processes Control

System

� Application for Document Management� Processes� Protocols

� Offices integration

� Production of Management Reports� Support to public management� Decision-making

� Offices integration� Secretaries� Departments

Page 9: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Preparing the ground

� Culture (principles and values)� ROI Focus� Eliminate wastes

Lean

� Priorization and Planning based onbusiness valueScrum business value� Self-organizing Teams� Collaboration and Commitment

Scrum

� Communication and feedback� Engineering Practices� Frequent Deliveries� Tech Quality

XP

Page 10: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Practices adopted

� Awareness for all involved� Real present meeting

� Work way lecture

� Creating effective communication channels� Definition of necessary infrastructure� Work freedom

Page 11: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Practices adopted

� Immersion� Genchi genbutsu

� Business concepts definition� Initial backlog definition

Page 12: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Domain Model

Page 13: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Practices adopted

� Work structure� Dashboards� Weekly sprints� Releases at the end of sprint� PO definition� Remote work monitoring (users)� Reviews and remote presentations each week� Remote diary meetings (if necessary)

Page 14: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Dashboard

Page 15: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Practices adopted

� Design� Agile Modeling and Domain Driven Design

� Use of Patterns (GoF, Martin Fowler, EAI, J2EE)

Page 16: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Architecture

Page 17: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Practices adopted

� Development� Development� Patterns, Code conventions� Unit and functional Tests� Best practices� Continuous Integration� Use of IM tools� “Stop the production for the production doesn´t have to stop”

Page 18: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Practices adopted

� Data Migration� Baby steps

� Tests and reports to ensure data quality

Page 19: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Environment

Development Server(POA)

Production Server(SP)

Synchronization

Page 20: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Open Source Tools

PHP Code Sniffer CPD DCD

Page 21: Agile Brazil 2010 - DSD + Open Source + Agile Methods

SCP2

Page 22: Agile Brazil 2010 - DSD + Open Source + Agile Methods

SCP2

Page 23: Agile Brazil 2010 - DSD + Open Source + Agile Methods

SCP2

Page 24: Agile Brazil 2010 - DSD + Open Source + Agile Methods

SCP2

Page 25: Agile Brazil 2010 - DSD + Open Source + Agile Methods

SCP2

Page 26: Agile Brazil 2010 - DSD + Open Source + Agile Methods

SCP2

Page 27: Agile Brazil 2010 - DSD + Open Source + Agile Methods

SCP2

Page 28: Agile Brazil 2010 - DSD + Open Source + Agile Methods

SCP2

Page 29: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Unit Test

Page 30: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Patterns, Best Practices, Refactoring

Page 31: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Continuous Integration

Page 32: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Code Conventions

Page 33: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Code Conventions

Page 34: Agile Brazil 2010 - DSD + Open Source + Agile Methods

SCP2: Testimonial

“Após a implantação do SCP2, nós conseguimos controlar processos,memorandos, ofícios entre outros documentos de uma forma eficaz, e emtempo real, as tramitações são visualizadas no momento doencaminhamento, e a consulta do documento pode ser realizada por todousuário que tem acesso ao sistema, independente da localidade física domesmo.Com esta estrutura e com o auxilio da APOENA Software Livre, nós daPrefeitura Municipal de Hortolândia conseguimos eliminar boa parte dosproblemas relacionados a perda de documentos já nos primeiros meses deproblemas relacionados a perda de documentos já nos primeiros meses deutilização. Atualmente, 100% dos documentos tramitados na Prefeiturapassam pelo registro do SCP2, onde a consulta de documentos é realizadade qualquer ponto que tenha acesso a internet e um usuário paraautenticação no sistema, o que facilitou muito o nosso trabalho e trouxemaior eficácia nas funções de controle de documentos em geral.”

Douglas NascimentoIT DepartmentHortolândia - SP

Page 35: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Numbers of SCP2

� +800 users� +350 Secretaries/Departments� +220.000 processes, generating +700.000 records� +60.000 protocols, generating +90.000 records

Page 36: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Lessons learned

� Work cultural aspects� Principles and values

� Show the importance of all stakeholders for success

� If is possible, to encourage real meetings between projectmembers

Page 37: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Lessons learned

� Infrastructure is very important� Simple tools, Speakerphones, Webcams� Wikis, CI, Tests tools

� Create mechanisms for effective comunication� Feedback

� Questions? Increase the deliveries� Less is more

Page 38: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Overcoming Fear Exercise

Two people, please...Two people, please...

Page 39: Agile Brazil 2010 - DSD + Open Source + Agile Methods

Support