Escolar Documentos
Profissional Documentos
Cultura Documentos
Nesta seo voc encontra artigos voltados para as prticas e mtodos geis.
Expandindo mtodos geis com DevOps: Neste contexto, o DevOps possibilita realizar
Os mtodos geis buscam diminuir o tempo de entregas mais rpidas e com qualidade pelo fato
entrega de produtos de software focando em uma dos envolvidos estarem alinhados com necessi-
maior aproximao com o cliente e no desenvolvi- dades e metas individuais e coletivas ao longo
mento do que realmente agrega mais valor para o dos processos.
cliente. Embora importante, esta preocupao mui- Este artigo apresenta conceitos para potencializar
tas vezes no suficiente para atender complexa a utilizao de metodologias geis no ciclo de vida
lgica do mercado. Por exemplo, durante a fase de de sistemas, expandindo sua aplicao para alm
operao da soluo, que ocorre aps sua implanta- do desenvolvimento, chegando at a operao do
o, tem-se equipes formadas por especialistas em aplicativo em ambientes de produo, aprimoran-
reas de infraestrutura, telecomunicaes, banco do assim a construo e entrega de produtos de
de dados e servidores fsicos ou virtuais. Este grupo qualidade.
totalmente diferente dos profissionais envolvidos
no desenvolvimento do projeto acaba entrando em Em que situao o tema til:
Daniel Paz de Arajo conflito com o restante da equipe, pois enquanto Organizaes voltadas para o desenvolvimento
daniel.paz@araujo.co o desenvolvimento possui grande necessidade de de aplicaes desktop, web ou mobile, podem
Atua como coordenador de desenvolvi- mudanas para atender constantes alteraes no aprimorar seus processos de desenvolvimento e
mento de sistemas na Atech Negcios em sistema e suportar melhorias e correes de erros, operaes com foco na qualidade e satisfao do
Tecnologia e como professor de ps-gradu- a equipe de operaes tende a evitar mudanas, cliente atravs da adoo de DevOps, agilizando
ao no Senac So Paulo. Realiza pesquisas
nas reas de tecnologia, arte e educao e
pois procuram manter condies estveis para que toda sua cadeia produtiva com a integrao de
autor de artigos tcnicos e palestrante os sistemas de produo se mantenham disponveis atividades, ferramentas e automatizao de tra-
nas reas. Possui formao de Bacharel em para os usurios finais. balho repetitivo.
Cincias da Computao pela Universidade
Jos do Rosrio Vellano em Minas Gerais;
Mestre em Processos Cognitivos e Ambien-
O
tes Digitais pelo curso de Tecnologias da
ciclo de vida de um sistema parcial ou completa. De forma simplista,
Inteligncia e Design Digital, da Pontifcia prev a aplicao de processos as fases de criao do sistema podem ser
Universidade Catlica de So Paulo; MBA envolvendo diferentes ativida- divididas em pr-construo, constru-
em Gesto da Tecnologia da Informao des realizadas por papis, ferramentas e o e operao. No primeiro momento
e Especializao em Docncia no Ensino tcnicas em fases bsicas sistematizadas ocorre o entendimento do objetivo da
Superior pela Fundao Getlio Vargas. Em
seu site http://www.araujo.co esto publi-
que percorrem desde a comunicao soluo, que na segunda fase cons-
cados contedos sobre temas diversos. com o cliente at a entrega da soluo truda e posteriormente implantada e
utilizada em um ambiente propcio para sua operao. Para analistas de qualidade, desenvolvedores e testadores en-
realizar este trabalho, normalmente so formadas equipes volvidos na construo do produto em si, at especialistas
de especialistas em cada atividade. Por exemplo, durante em redes, bancos de dados e servidores, responsveis por
o desenvolvimento pode existir uma equipe especfica de garantir a disponibilidade do sistema para seus clientes e
analistas escrevendo o cdigo do programa enquanto outros usurios por meio de uma abordagem gil. Atravs da me-
preparam e executam testes. lhoria integrada e contnua de processos geis, o DevOps
A operao da soluo ocorre aps sua implantao, e possibilita realizar entregas mais rpidas e com qualidade
para isso normalmente tm-se outras equipes formadas por pelo fato dos envolvidos estarem diretamente alinhados
especialistas, tais como analistas de infraestrutura, teleco- com necessidades e metas individuais e coletivas ao longo
municaes, banco de dados e servidores fsicos ou virtuais. dos processos.
Aparentemente, tal diviso beneficia a gesto, pois comum Em 2012, Httermann publicou um livro de DevOps
que cada equipe possua seu prprio gestor. Mas o que se per- voltado para desenvolvedores em que explica os inmeros
cebe na prtica que devido aos diferentes objetivos de cada aspectos envolvidos na engenharia de sistemas como, por
equipe acabam surgindo alguns conflitos, pois enquanto o exemplo: a cultura da empresa, atravs de seus processos,
desenvolvimento possui grande necessidade de mudanas ferramentas e pessoas, que so as responsveis por criar e
para atender constantes alteraes no sistema e suportar normalmente utilizar o software; a automao, importante
melhorias e correes de erros, a equipe de operaes tende para se reduzir trabalho repetitivo e ter rpido feedback; e sua
a evitar mudanas, pois procuram manter condies estveis medio, que possibilita identificar pontos para melhoria e
para que os sistemas de produo se mantenham disponveis incentivar de forma alinhada todos os envolvidos.
para os usurios finais. Atualmente, o uso de mtodos geis no est mais limi-
Os conceitos de melhoria contnua j existem h um bom tado a empresas pequenas ou voltadas para inovao, pois
tempo em processos de produo, inclusive de sistemas. Este passaram a ser os modelos mais utilizados pela indstria
modelo prope que a melhoria deve ser constante e infinita, de software devido aos ganhos em agilidade, eficincia e
no sentido de que sempre haver pontos a serem aprimorados. satisfao do cliente. Parte desta proliferao est relaciona-
A mesma ateno para a qualidade dada em mtodos geis, da com as necessidades de software da contemporaneidade,
que se baseiam em processos enxutos, comunicao e priori- fortemente voltadas para solues web e/ou mveis, que
dades para construir solues de qualidade em prazos ade- exigem velocidade e constante atualizao dos aplicativos.
quados. Tais mtodos so amplamente aplicados atualmente DevOps tambm pode ser muito til para empresas que tm
em desenvolvimento de sistemas e tm a vantagem receber a necessidade de atualizar a verso do sistema em dezenas,
feedback dinmico que permite a rpida identificao de pontos centenas ou at milhares de equipamentos, pois poder ser
de melhoria. Alm disso, tm auxiliado consideravelmente feito de forma automatizada, no momento mais adequado.
a aumentar a velocidade e qualidade dos produtos gerados Mesmo para aqueles que utilizam Plataforma como um
pelos analistas, programadores, testadores e gestores, fun- Servio (Platform as a Service PaaS) e aparentemente no
cionando como um fluxo constante de construo e reviso necessitam de uma equipe de operaes podem utilizar
de trabalho. DevOps como um mecanismo organizado para disponibili-
No outro lado, equipes de operaes tm sido tratadas na zar as novas verses de suas solues automaticamente.
prtica como grupos isolados, voltados para a disponibilidade Importantes conceitos de agilidade, tais como equipes
dos sistemas em ambientes de produo com foco na garantia multidisciplinares e entregas constantes, permitem reunir
pela estabilidade dos mesmos, criando assim mecanismos no DevOps diferentes especialistas no mesmo projeto. Estas
que tendem a evitar mudanas e instabilidades operacionais equipes podem envolver analistas de sistemas, desenvol-
para usurios e clientes. Esta diferena cria uma separao vedores, testadores e analistas de qualidade, todos com o
inadequada entre as equipes, que deveriam atuar em busca mesmo objetivo: entregar uma soluo funcional no fim do
do mesmo objetivo: entregar o melhor produto possvel. Para ciclo de desenvolvimento. Entretanto, evidente que a apli-
se alcanar este resultado, considerando a integrao das ati- cao de tais mtodos est focada na definio e construo
vidades de tais especialistas responsveis por criar e manter do software, na maioria das vezes terminando na fase de
os sistemas, inevitavelmente existir uma perspectiva melhor transio, momento em que o software foi verificado e va-
para que cada um faa seu trabalho com foco coletivo. Neste lidado para a operao do mesmo ao ser disponibilizado no
sentido, o objetivo do DevOps resolver o conflito entre as ambiente especfico para utilizao do usurio final.
equipes de desenvolvimento e operaes utilizando metodo- DevOps a extenso dos mtodos geis com o objetivo
logias geis, com metas voltadas para o negcio da empresa de disponibilizar o software em produo de forma rpida
como um todo, e no apenas em uma rea especfica. e estvel, atravs da integrao de processos e ferramentas
para automatizar processos e potencializar o ciclo total do
Ampliando a agilidade com DevOps desenvolvimento de sistemas.
DevOps abrange diversos papis e processos dentro do A cultura de confiana e companheirismo entre as equipes
conjunto de processos da engenharia de sistemas, desde de desenvolvimento e operaes so a base para um DevOps
tais como priorizao e alocao de recursos. Em sua obra a requisitos especficos. Os requisitos especficos devem ser a
respeito do Kanban, David Anderson apresenta cinco funda- base para a deciso de qual ferramenta utilizar;
mentos que tm sido identificados em implementaes bem Colocar os itens de configurao, incluindo arquivos fontes,
sucedidas com este mtodo: scripts de banco de dados, middleware, infraestrutura, arqui-
1. A visualizao do trabalho fundamental para entender vos de configurao, de forma flexvel no controle de verso.
sua realizao. Sem este entendimento a tomada de decises Desta maneira, a atualizao de tais itens nos ambientes se
sobre mudanas se torna ainda mais difcil; torna mais rpida;
2. Limitar o trabalho em andamento, de acordo com as pos- Aplicar integrao contnua que sincroniza continuamente
sibilidades de realiz-lo. Alm de categorizar o trabalho, esta o trabalho da equipe;
forma mais realista para a identificao da produtividade Identificar e manter de forma independente os sistemas de
da equipe e assim a previso para trmino das atividades se apoio, tais como gerenciadores de verses do cdigo fonte e
torna mais evidente; repositrios de componentes que sero utilizados para o de-
3. Gerenciamento de fluxos de trabalho em diferentes esta- senvolvimento e disponibilizao do produto final;
dos como, por exemplo, os no iniciados, em andamento ou Realizar e evidenciar testes para buscar garantir que a im-
finalizados. Desta forma, possibilitada a avaliao contnua plantao do sistema foi correta;
de mudanas evolutivas ou corretivas com foco na qualidade Manter ambientes semelhantes entre desenvolvimento e
do produto; operaes;
4. Explicitao do trabalho para que as atividades sejam rea- Cobrir tarefas repetitivas e demoradas atravs da automao;
lizadas de acordo com um conjunto de processos definidos e Certificar que o software entregue apenas construdo pelo
assim mantendo-os sob o controle dos gestores; servidor de compilao.
5. Melhoria colaborativa atravs do entendimento compar-
tilhado de teorias sobre o trabalho, fluxo, processo e risco, Observe que estes so apenas alguns itens comumente iden-
permitindo que a prpria equipe sugira e entre em consenso tificados como importantes. Dessa forma, situaes especficas
a respeito das melhores aes a serem realizadas. podem levar necessidade de considerar outras prticas ao
implementar a liberao automtica de verses.
Para DevOps, a utilizao de um sistema Kanban, seja ele
fsico ou digital, extremamente til, pois permitir uma
viso clara e direta sobre as atividades que envolvero as
equipes de desenvolvimento e operaes, e ser percebida a
integrao atravs da conexo de atividades entre as equipes.
Equipes de desenvolvimento gil tm adotado com sucesso o
Kanban em seu trabalho, o que pode ser estendido tambm
para a integrao com a operao, aprimorando o fluxo de
atividades.