Total de visualizações de página

segunda-feira, 9 de maio de 2016

Modismos e paixões em tecnologia e metodologia


A Fumsoft, ao longo desses seus últimos anos, tem procurado levar aos seus associados e à comunidade mineira, elementos inovadores. Na área de melhoria de processos de software, a Fumsoft foi pioneira em Minas Gerais, lançando o MPS.BR-SW, que alcança hoje quase 100 certificações. As primeiras empresas a fazerem melhoria em Processos de Serviços (MPS-SV), em MG, são clientes da Fumsoft.
A Fumsoft também introduziu o modelo Certics em Minas, formando a primeira empresa certificada aqui. Na área de dados, foi também pioneira no estado, em treinamentos de Ciências de Dados, Hadoop, Governança de Dados, além do evento DataTalk e da primeira pesquisa feita sobre Gestão de Dados, no Brasil. Dessa forma, abriu um espaço fundamental para a discussão de outros domínios, além de serviços e processos. Essa é a sua missão.
Com os novos momentos, a Fumsoft está trazendo conceitos, visões e proposições, como Learning Shots, Lean e Lean Startup, visando criar abordagens mais evoluídas, demandadas pelo tempo, onde restrições, desperdícios e necessidades de otimizações são fatores primordiais. Tempos onde a visão conjunta dos “stakeholders” envolvidos cria um croquis mais bem definido dos problemas e das soluções desejadas, via o entrelace de suas percepções.
No último dia 25 de abril, a Fumsoft, seguindo esta trilha, realizou um evento inédito, LeanTalk, que teve como tema a “Abordagem Lean”, em pilares de Processos, Comportamentos, Finanças e Marketing.  Nascida em proposições da Toyota para a melhoria de seus processos automotivos, as ideias ganharam as áreas de TI de muitas empresas e continua a crescer, daí o interesse da Fumsoft em sua apresentação. Esse evento será recorrente e, brevemente, exploraremos mais o conceito Lean, apostando na sua aplicabilidade.
Ao longo de mais de 40 anos tenho testemunhado o aparecimento de novas proposições metodológicas e tecnológicas. Todas elas tiveram o seu momento de ápice, quando, após analisadas e adaptadas às necessidades e contextos das empresas, puderam ser utilizadas com sucesso. Lembro-me de Análise Estruturada (de Chris Gane), seguida pela Análise Essencial (de Palmer, McMenamim), sucedida pela Análise OO (de Booch, Rumbaugh e Jacobson). A elas, seguiram RUP (da IBM), trocada pelos métodos ágeis (Beck, Beedle, Cockburn, Fowler, Sutherland, etc), hoje, já em revisão e questionada por DAD-Agilidade Disciplinada (de Scott Ambler) e outros como Lean, Zen, etc.
O ponto mais importante a se observar nessas novas proposições é justamente a sua adequação à cultura da empresa, ao contexto existente (tempo e ambiência) e colocar um olhar crítico para se adotar o que de bom estão trazendo (e podem apostar, todas contribuem com novos conceitos e olhares inovadores) e atentar para aquilo que pode ser deixado de lado, se não em definitivo, pelo mesmo temporariamente. Isso vale para Lean, Agile, Data Science, Gestão de Dados, MPS, Big Data, etc.
Há alguns fatos observados, ao longo dessa estrada, que ilustram esses pontos. No lançamento do Java, pela Sun, num congresso, no início dos anos 90, havia fan-clubes formados, com gritos e alvoroços, dignos da presença de ídolos pop. Hoje, o Java é uma das linguagens bem-sucedidas, mas há outras tanto quanto. Quando o MPS-BR se encontrou com “Agile” pela primeira vez, houve apostas de que essas duas proposições, nunca se casariam, pelos princípios aparentemente opostos que carregavam. Adaptações e ajustes foram feitos por seus adeptos e, hoje, grande parte das 650 empresas certificadas MPS, usam Scrum, com absoluto sucesso.
Modismos ou paixões extremadas não são boas conselheiras, para temas de tecnologias ou metodologias. Nenhuma das soluções é “snake oil” ou bala de prata, para resolver sozinha todas as nossas dores. Todas elas, sem exceção, com melhorias propostas, sejam conceituais, ambientais ou procedurais, certamente têm algo importante para ser aproveitado e aplicado nos nossos ambientes. Não necessariamente para tudo, nem para todos os contextos. Basta olhar com um pouco mais de visão seletiva e deixar as paixões para rolar com os filhos no carpete da sala ou nos abraços com eles nas arquibancadas do Mineirão….

domingo, 24 de abril de 2016

Governança de dados e a Agilidade-III-final


Depois da discussão sobre  DAD de Scott Ambler, numa espécie de Agile com mais disciplina, vamos continuar analisando outras visões atualizadas sobre GD-Governança e Gestão de dados existentes, que tocam no assunto, com maior ou menor intensidade.   

Agile DG-FSFP-First San Francisco Partners

A consultora Kelle O´Neal, da FSFP, hoje contando também com a parceria de  reconhecido John Ladley, usa o label Agile DG para definir o seu método de implantação de GD nas empresas , embora os conceitos apresentados sejam próximos dos de qualquer programa de GD, digamos “tradicional” e não ágil, conforme visto na figura 02.  A sua visão centra nos P´s tradicionais da GD, com Politicas, Padrões, Processos, Pessoas e Papeis, Comunicação(Propaganda), Tecnologia(Plataformas), Monitoração e medidas (Performance ), além de Estratégia. Na essência, muito do que temos trazido à discussão neste blog, nos cursos de Pós da Puc-MG e Fumec e  nos treinamentos  específicos nas empresas. Alguns conceitos estão abaixo decompostos: 

Estratégia: Relativo à Visão e Missão, Objetivos gerais e específicos, alinhamento com objetivos de negócios e Princípios. No fundo, o estabelecimento das linhas mestres da Governança de dados, necessárias para se conhecer a direção e esclarecer os objetivos que devem justificar a implementação de um programa como este. Tem o “mote” tradicional de se agregar valor à empresa através da melhor solução de dados, usado em todas as abordagens;

Organização: Aqui veremos o Modelo de operação da GD, com os P´s de Papeis e Pessoas, os pontos de arbitragem sobre pendências (“issues”) de dados e o devido escalonamento, em casos de itens sem resolução. Mostra a estrutura da GD, seus membros, os papeis e responsabilidades definidos, como os gestores de dados, os owners e suas respectivas responsabilidades e “accountabilities”(responsabilidades finais);
Políticas, Processos e Padrões: Aqui entram outros P´s da GD, sobre os quais temos discutidos intensamente:  Políticas, Processos, Padrões, além de Regras e Controles, Definições, uso de metadados, taxonomia e classificação e glossário de negócios;
Medidas e Monitoramento: Nesse ponto aparece o P de Performance (Desempenho). Ponto fundamental para se acompanhar o andamento do processo de GD. Uso de medidas, medições e análise com monitoramento do progresso do programa e com acompanhamento numérico das pendências apresentados amistosamente em dashboards, scorecrds,etc. É elemento fundamental de balizamento do programa de GD, a fim de justificar a sua adoção;
Tecnologia: Parte mais tecnológica, envolve as ferramentas de colaboração e de ciclo de vida da Informação/Dados, acompanhamento de Dados Mestres e compartilhamentos, Arquitetura de Dados, Segurança, Qualidade de dados e fluxo de  gestão (stewardship), além de repositório de Metadados e glossário de negócios. Tem um certo sabor das disciplinas de DM(Data Management), encontradas no diagrama DMBOK e em outros modelos correlatos ;

Comunicação: Elemento fundamental, por vezes negligenciado, envolve o plano de Comunicação de GD, com divulgação em massa, atualizações individuais e personalizadas, além de mecanismos e estratégia de treinamento. É também parte fundamental da estratégia, visando a uma GD bem sucedida.



                           Figura 2-Visão de GD Ágil da FSFP-First San Francisco Partners 

GD e os princípios da Agilidade

Robert (Bob) Seiner, experiente consultor de dados, um dos mais antigos do EUA, editor do conhecido TDAN(The Data Administration Newsletter), sugere uma aproximação diferente, quando se discute os aspectos de conjugação de agilidade e de dados. Ele incentiva a avaliação dos 12 princípios da Agilidade, hoje já com algumas alterações, para identificar pontos de convergência e de divergência entre a Agilidade e GD-Governança de dados. Essa comparação, na minha visão, pode ser desenvolvida e balizar algumas orientações de planejamento de dados, antes do desdobramento dos requisitos, que acontece dentro dos sprints, no ciclo Scrum.  Afinal, qualquer sistema em desenvolvimento (seja via ágil ou cascata), terá um conjunto de dados que circulará por eles. Esses dados não necessariamente somente serão usados por aquele sistema em desenvolvimento, naquele Sprint. Alguns dos princípios de Agilidade são obviamente compatíveis com os de GD e outros o serão, desde que haja alinhamento e convergência entre as duas linhas de pensamento. Por exemplo, entregas rápidas e incrementais sugerem que pequenas partes da solução(estórias ou um conjunto delas) sejam entregues ao invés de esperar pelo todo. Um projeto de BD, dentro do contexto de GD, poderá também ser feito em pequenas construções, desde que alinhavados por um modelo conceitual maior, que costure essas partes, feitas em separado. As tabelas que atendem aquele pedaço do sistema deverão estar coerentes com a visão maior de um modelo organizacional. A Agilidade sugere que os requisitos podem surgir ou evoluir dentro de um release, ou de sprints. Caso os requisitos que alteram estórias, impliquem em alterações de Bancos de dados(inclusões ou refactoring), esses mesmos elementos de dados deverão ser alterados em outros partes  de código (onde já estão sendo usados) e que poderão estar fora do contexto daquele Sprint, gerando os chamados débitos técnicos. Lembre-se que a premissa de agilidade, normalmente é de time-box, com tempo fechado. Isso normalmente impossibilita extensões de escopos e gera transferência de requisitos para outros ciclos. Outro aspecto fundamental de ser discutido é a presença dos usuários em direta interação com os desenvolvedores. Os representantes do negócio poderão estar presentes com a visão de dados (da mesma forma que no Scrum tradicional), mas isso, sabemos, não é tão trivial. Provavelmente, a área de dados estará representada na equipe pela figura de um gestor técnico de dados(DBA,DA, Arquiteto), etc para opinar sobre esse domínio. O Gestor técnico, por sua vez, deverá fazer parte da estrutura formal de GD, com as atribuições de ações operacionais, mas alinhado por um Comitê de gestores de dados, por exemplo. Essas discussões de dados, entretanto, muito provavelmente, merecerão momentos especiais, do tipo “Sprint exclusivo de requisitos de dados”, para que o alinhamento aconteça entre a Agilidade e a GD. Nas figuras 3.1 e 3.2, apresento uma análise dos princípios canônicos da Agilidade, com as devidas considerações sobre GD.   

                                 Figura 3.1-Paralelo entre os princípios da Agilidade e considerações de GD

                         Figura 3.2-Paralelo entre os princípios da Agilidade e considerações de GD 


A figura 3.3, mostra o tradicional ciclo de Scrum, com a sugestão da participação de gestores de dados durante os trabalhos, conforme anteriormente discutido. Esses gestores deverão estar completamente alinhados com a estrutura de GD definida, não somente se atendo a trabalhos de BD, mas também como elementos com visões de gestão, qualidade e integração dos dados



Outros autores continuam também  pensando em formas de aproximar Dados e Agilidade, além de Scott Ambler, Kelle O´Neal e Bob Seiner,  discutidos anteriormente. Especificamente esses autores (Collier, Core e Hughes) partiram, já há um tempo, para a adoção do termo Ágil, mas com um foco bem específico em uma das áreas de conhecimento da Gestão de dados - Os Projetos de BI. Surgiu assim o conceito de Agile BI.

Agile BI

Collier escreveu o livro  Agile Analytics(Value driven approach to Business Intelligence and DW) em 2012. Lawrence Corr (junto com Jim Stagnitto) escreveu Agile Data Warehouse Design em 2012 também. Ralph Hughes, o pioneiro do BI Ágil, escreveu Agile Data Warehousing em 2008. Os três livros partem de premissas de adoção de agilidade, dentro dos projetos, nesse caso  de DW/BI e inovam com a adoção de conceitos iterativos(releases,sprints, PO,etc) nesses cenários de projetos de depósitos informacionais. Entretanto é fundamental que os dados, antes de se tornarem insumos para os projetos de BI, deverão estar alinhados no contextos de gestão e governança de dados, para que o todo funcione. Muitos projetos de BI tem demonstrado, no seu resultado final, as consequências dessa inobservância. Empresas tem gasto milhões em projetos de BI, se esquecendo que essa camada nada mais é do um ponto de transformação. Lapsos gerenciais nesses projetos esquecem da máxima: “garbage in, garbage out”, seduzidos por interfaces e vitrines espetaculares, mas com dados pobres e inconsistentes. Depois choram lágrimas de esguicho, devido aos dados mal governados na sua origem, produzindo resultados pífios, porém com uma plástica de vitrine sedutora. Ai já é tarde...

Resumo da ópera:

O resumo da ópera é que essas abordagens de agilidade, independentemente de sua gênese, deverão estar perfeitamente alinhadas com os P´s da GD, daqui pra frente. Políticas, Processos, Padrões, Planos, etc farão toda a diferença nesse casamento de duas linhas fundamentais, que vieram pra ficar. O mapeamento dos princípios mostra que as equipes Ágil e de Dados deverão definir um estilo de projeto que poderá trazer alterações aos aspectos canônicos da Agilidade. Fica a pergunta: O que poderá ser ajustado na Agilidade para se encaixar a GD e vice-versa. Há desafios pela frente neste domínio. Se prepare para enfrentá-los. 
                                       

quarta-feira, 6 de abril de 2016

Governança de Dados e a Agilidade-II (continuação)


DAD-Disciplined Agile Delivey

Scott Ambler acaba de lançar em 2015, o seu livro Introduction to Disciplined Agile Delivery(co-autoria de Mark Lines) , chamado coloquialmente de DAD. A ideia é apresentar algumas arquiteturas alternativas à tradicional Agilidade basicona. O objetivo do livro, parece estar marcado pela presença da palavra Disciplined(disciplinado) contido na proposição, mandando uma mensagem que remete a um maior controle, conforme queríamos sugerir. Procura preencher alguns gaps deixados pela camada Ágil tradicional e sugere  quatro possíveis abordagens ou ciclos de vidas, expandindo a visão ágil hoje consolidada, através do uso do eufemismo  “escalando a agilidade”. DAD traz uma mistura de várias abordagens, como Modelagem ágil, Extremme Programming, UP do velho RUP, Kanban, Lean Software development,etc, tudo centrado na visão por objetivos. Os 4 ciclos propostos são:

1-Versão básica do Scrum, enriquecida com genoma do RUP. Contém os aspectos básicos do Scrum, com releases, sprints/iterações, retrospectivas ao final desses pontos, reuniões diárias nos sprints,etc e introduz as fases “rupianas”  de Inception (Concepção) Construction(Construção)  e Transition(Transição);
2-Um ciclo de vida avançado com Lean. Contem a proposição Lean com desenvolvimento contínuo, sem, obrigatoriamente,  os protocolos de releases, sprints,etc do item anterior, que se transformam em opções. Exige claramente maior controle da equipe;
3-Um ciclo de vida de entrega contínua. Contém ênfase na entrega contínua e pode ser visto como uma decorrência/extensão  natural do ciclo anterior, casado com os aspectos  atuais de DEVOPS, fincado nas premissas de desenvolvimento, testes e integrações continuas;
4-Um ciclo de vida exploratório, baseado no lean-start-up . Contém elementos para uma  abordagem quando não se conhece claramente os problemas a serem resolvidos  e portanto nem as soluções imaginadas. Favorece experimentos e laboratórios, minimizando investimentos em soluções e priorizando a descoberta. É a base das ações de P&D já existentes nas empresas;

Essas novas visões do agilismo poderão contribuir para um encaixe maior  com a gestão de dados necessária. Na fase de Inception, os aspectos de dados poderão ser amplamente discutidos, como por exemplo  a criação de modelos de dados de domínios, alinhando-os com direções estratégicas de dados já definidas em níveis acima.
A proposição de Ambler, por ter tido certa moradia na IBM(onde ele atuou por um  período e também pela incorporação de genoma do RUP), acabou deixando espaço para a criação de algo mais neutro, mas que mantém o mesmo sabor de proposta. Dessa forma, surgiu o SAFE, uma nova proposta com visão mais corporativa, centrada nos mesmos princípios de visão organizacional, mas sem reminiscências da IBM.

SAFE-Scaled Agile Framework

Enquanto o Scrum era considerado algo mais focado na construção, o Safe-Scaled Agile Framework se volta para a empresa, numa visão organizacional. A visão mostrada no link –  scaledagileframework.com  -   permite claramente a observação de novos elementos que trazem um conteúdo mais estratégico, necessário para se colocar a agilidade em consonância com aspectos de negócios e por consequência, com os de dados, centro das nossas discussões nesse pedaço aqui.  Nitidamente se observam três grandes camadas. Na primeira camada(chamada Portfólio)  há a tradicional gerência de Portfólios, com  “temas”  estratégicos(lembre-se que em Agilidade, “Temas e Épicos” são sinônimos de requisitos em granularidades diferentes), há owners de épicos(requisitos de alto nível, onde dados deverão ser considerados), há a presença do arquiteto corporativo(onde a arquitetura de dados deverá ser considerada), há épicos de negócios(requisitos de negócios, que se associam com requisitos de dados), há épicos de arquitetura(requisitos de arquitetura, onde também entram as arquiteturas de dados), backlog de portfólios  e há uma nítida visão do planejamento dos releases.  A camada seguinte (denominada Programa) se apresenta com a Gerência de Produtos, com roadmaps (no mineirês, oncotô-proncovõ), a Gerência de Releases com épicos de programa(requisitos daquele conjunto de projetos/releases), há portfólio de programas, etc. Na terceira camada, chamada de Equipe(Team), chegamos aos ciclos de iterações (sprints)  hoje conhecidos dentro do Scrum tradicional. Há as equipes ágeis, a figura do PO, do Scrum Master, dos desenvolvedores e testadores e as estórias encaixadas nas iterações.

Conclusão: Embora as palavras gestão de dados, governança de dados,etc não sejam explicitamente citadas nesses novos frameworks que estendem o Agilismo, não há dúvida, que há um novo espaço para se discutir em conjunto,  o cruzamento dessas duas linhas fundamentais(Agilidade e Dados). A Agilidade não pode prescindir da Gestão de dados. A figura 01 mostra uma possível visão de Scrum com uma camada superior onde aspectos de dados deverão ser considerados.



sábado, 19 de março de 2016

Governança de Dados e a Agilidade


Lean Data Governance: Outro assunto emergente, dentro do tema de Governança de dados, se refere ao seu encontro com os métodos ágeis. Há uma clara necessidade de se aproximar os dois conceitos, na medida em que os métodos ágeis facilitam o desenvolvimento de soluções, mas os dados deverão ser preservados via políticas, padrões e processos, a fim de se evitar o “data-chaos”, que hoje se aproxima das empresas. Não interessa o caos de dados, produzido por agilidade. Ambas as abordagens devem ser importantes para a organização. Scrum, consagrada e com adoção sem volta , garante desenvolvimentos rápidos e entregas frequentes e precisas. Entretanto, é fundamental que tais entregas de códigos estejam acompanhadas de dados corretos. Simples assim.? Nem tanto.. Os métodos ágeis, tradicionalmente refratários a certos níveis de controle que comprometam a rapidez de suas ações, deverão abrir espaço para que os aspectos de dados sejam considerados como um ativo e não como uma peça absolutamente colateral do processo Scrum. Um ponto de convergência entre as duas abordagens deverá ser buscado, com o apoio e a aprovação da alta gerência. Conceitos atrelados a um Sprint inicial de  dados são possíveis  modificações a pensar. Embora os rótulos “agile”, “lean”, etc estejam na moda, há poucos autores pensando sobre o tema, quando o cenário é Gestão de dados. Há Scott Ambler, Ken Collier, Lawrence Corr e Ralph Hughes  e os mais destacados que são : Kelle O´Neal da First San Francisco Partners(empresa de Consultoria, agora em parceria com John Ladley e a sua IMCue Solutions) e Robert Seiner(da KIK Consulting). Esses são os que eu conheço e acompanho.

O primeiro(Scott Ambler) é um velho conhecido da área de Bancos de dados que se apaixonou pelos movimentos ágeis já no seu nascedouro(quando os primeiros sinais dos manifestos ágeis foram publicados)  e promoveu o conceito de “Agile Data”, com diversas proposições para a mistura dos dois genomas(Agilidade e Dados). Entretanto, o foco inicialmente  dado por Scott Ambler(veja link  http://agiledata.org/) é muito mais de “Agile Data Base Governance”, do que “Agile Data Governance”. E isso faz certa diferença, que deverá ser observada com o devido cuidado. Todas as suas ideias são centradas na linha de que a “Governança de TI” é a que deve ser a prevalente, e que a de dados é uma componente dela, como  é a de sistemas, por exemplo. Sua visão, de certa forma,  se choca, com os conceitos de dados vistos como ativo organizacional(portanto pertencente à organização) e não mais um recurso de exclusividade da TI(anos 60-70-80). Embora a aplicação de preceitos de agilidade seja válida em projetos de BD, levantando aspectos de aderência  para padrões, modelos, metadados,etc, isso deverá ser costurado e alinhado  com visões acima dos projetos, coerentes com modelos, arquiteturas e estratégias. Por exemplo, dentro da visão do Release Planning , poderia se ter algo que se alinhe em níveis de Estratégia de dados. Isso também certamente adicionará na receita Scrum, novas etapas(sprints, atividades,etc), hoje normalmente desconsideradas em função da prioridade tempo. Além disso, Scott baseava  algumas de suas premissas em pesquisas antigas(uma mostrada no site, data de 2006, feita pelo Dr Dobbs), portanto já ultrapassadas em muitas de suas diretivas. Scott Ambler faz afirmações generalistas que se encaixam perfeitamente no conceito de GD Ágil, mas a sua essência é claramente voltada para o estágio físico dos dados. Isso deixa dúvida sobre a amplitude e completude dos conceitos de GD, como se busca nesse momento. O mundo, hoje, se preocupa com os dados, desde o seu nascedouro (o seu ciclo de vida, o seu significado via glossário, gestores tomando conta e ownerships com “accountability”, prestando contas sobre eles)  e não somente quando eles se tornam inquilinos de tabelas relacionais. Nesse momento, sem as devidas observações acima, os erros de dados já podem ter acontecidos e  não tem “recovery”. Ai mora a diferença. Entretanto, parece haver luzes recentes sobre a necessidade de se aproximar dados e agilidade. Numa espécie de evolução dos métodos ágeis tradicionais, estão surgindo novas propostas do Agilismo.  DAD(Disciplined Agile Delivery)  e SAFE(SCALED Agile Framework) são duas delas, que certamente auxiliarão nesta aproximação fundamental de dados e agilidade. Voltaremos depois...