Introdução Lean Integration

le 29/10/2011 par Ualter Azambuja
Tags: Software Engineering

Seguindo a mesma linha de princípios baseado na TPS (Toyota Production System), que criou o Lean Manufactoring, o Lean Integration promove a eliminação de desperdício, melhoria continua e a criação de valores com foco no cliente, para as atividades de integração de aplicações e de integração de toda a cadeia de dados.

Assim como foi feito para o desenvolvimento de software, uma adaptação do TPS foi introduzido por Mary e Tom Poppendieck no livro Lean Software Development, o Lean Integration aplica os mesmos princípios para o processo de integração.

O desenvolvimento de capacidades de integração funcionais e características extras antes mesmo de serem necessárias, é considerado um desperdício. Existe uma outra abordagem, construir apenas as funcionalidades que o primeiro projeto necessita, e realizar de uma forma que seja possível de ser estendido no futuro quando outros projetos surgirem. Esta abordagem é preferencial ao invés de praticar "futurologia", tentando estabelecer o melhor e mais completo serviço de integração para todos os projetos (inclusive os que podem nem existir realmente) já na primeira tentativa! Qualquer código adicional desenvolvido que não traga benefício custará tempo e dinheiro no desenvolvimento e manutenção, caracterizando-se como desperdícios.

Foi pela primeira vez apresentado por John Schmidt através de uma série de artigos de blog chamado 10 Semanas para Lean Integration, em Janeiro de 2009. Logo seguido por um White Paper em Abril do mesmo ano, culminando com o livro Lean Integration, An Integration Factory Approach to Business Agility, em maio 2010. Este livro mostra como utilizar técnicas enxutas (lean) comprovadas para garantir o controle sobre todo o processo de integração. Os autores, John Schmidt e David Lyle, mostram como estabelecer "fábricas de integração", que podem contribuir com os benefícios de ser repetitivo e da melhoria contínua durante todo o projeto de integração empreendido.

Lean Integration pode ser abordado em diferentes domínios, como:

  • Integrações de Sistemas

  • Uma composição de componentes de subsistemas, que deve funcionar como um sistema único, que permita uma interoperação eficiente.

  • Integração de Dados

  • Acesso a dados e funções de diferentes sistemas criando uma visão conjunta, e ao mesmo tempo consistente, da informação central para uso em toda a organização, para maior precisão em tomadas de decisões e realizações de operações de negócio.

  • Integração de Aplicação Corporativa

  • Permite o intercâmbio de informações e automação de processos através das aplicações de negócio que foram independentemente desenvolvidas, podem utilizar tecnologias incompatíveis, são comumente baseadas em modelo de dados diferentes, e administradas independentemente.

O processo de integração deve ser encarado como um processo continuo, uma atividade em curso, e não como uma atividade de um único movimento. É uma estratégia de longo prazo, de como uma corporação encara os desafios de integração de processo e de dados.

Como nos princípios de Agilidade, software é algo que está em constante evolução, ou pelo menos deveria estar, pois o mundo, a economia e o negócio do seu cliente sempre estarão buscando evolução e adaptação. Se o seu software não acompanhar a evolução natural e necessária requisitada pelo negócio, provavelmente a sua empresa, sua proposta, seus valores não estarão em harmonia com os do cliente. Nesse cenário, ser adaptativo e enxuto no processo de integração pode auxiliar na obtenção de melhores resultados.

O software não pode ser tão inflexível como uma mobília que você adquire para sua casa, do contrário na primeira necessidade de adaptação, qualquer mudança ficaria comprometida, e provavelmente o inutilizaria.

Lean Integration, como abordagem de integração, deve ser sustentável e holístico, diferente de outras estratégias de integração que abordam somente parte do problema ou que atuam por um curto período de tempo. Assim, uma visão ampla e trabalho contínuo deve ser observado como pilares. É necessário um foco organizacional na implementação dos princípios de Lean Integration. O modelo mais predominante é o Centro de Competência de Integração, que pode ser estruturado através de um grupo central, para a execução metódica de integrações. Funcionando em um modelo de abordagem de "Fábrica de Integrações".

Alguns princípios do Lean Integration:

  • Eliminação de Desperdícios

  • Desperdício de dinheiro, de tempo e de recursos eliminando dados desnecessários, esforços redundantes e processos ineficientes.

  • Automatização de Processos

  • Automatizar atividades aumenta a habilidade de resposta a grandes projetos de integração tão eficientemente quanto pequenas modificações. A automatização pode eliminar dependências de integrações que seriam riscos na implementação de projetos.

  • Qualidade de Construção

  • Melhoria e qualidade dos processos são enfatizados ao invés de somente inspecionados.

  • Melhoria Contínua

  • A adoção e institucionalização de lições aprendidas e sustentação do conhecimento de integração, são conceitos relacionados que auxiliam na fundação deste princípio.

  • Delegação de Responsabilidade e Autonomia à Equipes

  • Criar equipes multifuncionais, compartilhar e delegar as responsabilidades entre os indivíduos, os quais possuem uma compreensão clara do seu papel e das necessidades dos seus clientes. Para as equipes deve ser fornecido o suporte de um gerente sênior, para inovar e arriscar novas idéias sem o receio de falhas.

  • Plano de Mudanças

  • Aplicação de técnicas de customização para redução de custo e tempo na construção e execução durante o ciclo de vida de integração. O estágio de desenvolvimento é optimizado focando em elementos de integração reutilizáveis e parametrizáveis para permitir a construção de novas soluções mais agilmente. O estágio de operação é optimizado com ferramentas automatizadas e processos estruturados para precisamente monitorar, controlar, refinar, atualizar e corrigir os sistemas de integração.

  • Optimização do Todo

  • Optimizar o todo requer uma perspectiva abrangente de todo o processo, e como os valores do cliente e da corporação podem ser maximizados, mesmo que para isto seja necessário uma sub-optimização individual das etapas e atividades.

Uma metodologia repetitível e ensinável que muda a visão de integração como uma atividade única na linha do tempo para uma atividade sustentável e contínua, que deve contribui para a agilidade da organização.