Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lean, Kanban, XP e Modelos Híbridos Estudo de Caso Professor: Me. Jackson Luis Schirigatti 2 Unicesumar estudo de caso Criação de uma plataforma Ágil de desenvolvimento de sistemas de TI: Um Estudo de Caso. A crise econômica advinda de uma forte recessão mundial nos últimos tempos fez com que o setor tecnológico buscasse novas formas de desenvolver Software. Neste momento, estamos passando por uma fase em que a busca por agilidade, qualidade e economia estão em alta; cada vez mais os prazos e orçamentos estão sendo enxugados. O conhecimento do que e quanto precisa ser produzido aumenta indiscutivelmente o sucesso do desenvolvi- mento de projetos, assim como a finalização com êxito dos produtos que serão entregues. Dessa forma, este estudo tem por objetivo definir um novo conceito de desenvolvimento de software e sua aplicabilidade. O presente estudo de caso apresenta a criação de uma nova plataforma de desenvolvimento ágil de sistemas que esteja aderente às principais técnicas existentes no mercado. Em meados de setembro de 2005, a empresa Soluções Ltda. venceu uma licitação no Banco Central de um país, denominado aqui de “Estrangeiro”, para desenvolver um sistema que controlasse as seguradoras de todo o país. Esse sistema tinha como escopo a criação da padronização do plano de conta que as seguradoras passaram a utilizar; ao todo, trinta e seis seguradoras foram integradas ao sistema. As seguradoras transmitem mensalmente via arquivo todo o balanço mensal de todo o movimento operacional. Com isso, o Banco Central Estrangeiro tinha em mãos todos os movimentos de seguro realizados no país. O projeto foi desenvolvido totalmente baseado em uma nova plataforma de desenvolvimento ágil. A proposta era de automatizar cinco departamentos do Banco Central e criar indicadores que mostrariam, no final do processo, o nível de cada seguradora no país, indicadores esses que eram divulgados para o consumidor. O desenvolvimento de um sistema desse porte num processo convencional demo- raria um ano e meio; porém, com a nova plataforma, seis meses foram suficientes para a implantação do primeiro piloto. Essa plataforma foi criada com o objetivo de disponibilizar ferramentas para obter mais agilidade no processo de desenvolvimento de sistemas em TI, demonstrando assim aderência às metodologias de desenvolvimento ágil que se destacam hoje no mercado; como por exemplo as metodologias XP (Extreme Programming), UML, RUP, SCRUM, entre outras. Unicesumar 3 estudo de caso O objetivo foi desenvolver um software aberto, ou seja, que permite aos colaboradores compartilharem conhecimentos, e no futuro, alcançarem uma escala comercial. Sendo uma ferramenta de apoio ao desenvolvimento, planejamento e gerenciamento de sistemas, essa plataforma visa o aumento da qualidade do produto final; além de apresentar maior facili- dade de uso e disseminação de conhecimento, melhorando o processo de levantamento do escopo e estimativas de custo. O conceito utilizado para a criação e desenvolvimento dessa plataforma está funda- mentado em dois pilares que definem a sua concepção, que é a dualidade das coisas que ocorrem no mundo real. Tudo, no mundo, precisa de duas partes para conceber uma ter- ceira ou mudar o estado de uma ou ambas. Na orientação, a objeto segundo Sally Shlaer e Stephen J. Mellor. O mundo está cheio de coisas. Nós abstraímos coisas semelhantes e chamamos estas abstra- ções de objeto. Então um objeto é uma abstração de um conjunto de coisas do mundo real de forma que todas as coisas do mundo real do conjunto (instâncias) tenham as mesmas caracterís- ticas, e todas as instâncias esteja sujeitas a, e em conformidade com as mesmas normas (Shlaer e Mellor, 1990, p.16). Aprendemos que um objeto pode mudar de estado ou não, ou seja, temos objetos estáti- cos e objetos que mudam de estado, e isso fundamenta todos os processos da plataforma de desenvolvimento ágil. A plataforma foi criada com a concepção de dualidade, e para isso foi desenvolvido um modelo de dados simplificado que pode armazenar qualquer tipo de informação independente de suas características. Não importa o tipo de objeto ou o pro- blema que está sendo proposto, a plataforma irá suportar. A ideia é abstrair 100% a base de dados e com isso ganhar produtividade de desenvolvimento. Padronizamos as informações e os processos, unificamos os objetos e deixamos íntegros os dados. Diminuímos o desen- volvimento de novos modelos reduzindo o tempo de análise e criação de base de dados. As regras de negócio são suportadas por um editor de regras que facilita a sua escrita e deter- mina o fluxo operacional de cada processo. Para que isso fosse possível, foi disponibilizada uma ferramenta que facilita o trabalho de edição dessas regras, em que qualquer pessoa que tenha o conhecimento sobre lógica e sobre o negócio poderá criar as regras e o fluxo dos processos do sistema. 4 Unicesumar estudo de caso A plataforma foi concebida com vários módulos que juntos se completam, conforme a seguir: • Metodologia de desenvolvimento para a plataforma ágil; • Navegação em árvore: determina uma melhor visualização de todo o conteúdo de negócio de um sistema. A arquitetura em árvore define as regras de navegação, que devem ser respeitadas de acordo com o nível hierárquico; • Manutenção inteligente – entidades, atributos e propriedades: após ter a definição das entidades que devem ser construídas, essas entidades devem ser cadastradas na plataforma em telas específicas, que geram os parâmetros para criação dos processos e fluxo operacional; • Gerações de tela dinâmica: dinamicamente, este módulo gera uma tela de acordo com o cadastramento das propriedades de tela e de seus componentes como tipo, tamanho, formato etc.; • Disponibilização de APIs: as classes criadas são reutilizadas tanto na plataforma como nos projetos que serão suportados; • Segurança na navegação: na arquitetura da árvore, as regras das navegações devem ser respeitadas de acordo com o nível hierárquico. Apontar para a ramificação em que a entidade se encontra dentro da hierarquia, pois essa poderá ver e atualizar somente as coisas que dizem respeito à sua estrutura; • Editor de regras: as regras devem ser criadas por agrupamento. Esse conjunto de regras deve ser classificado em várias camadas e deve ter uma ordem de execução que encadeia todo o processo; para isso, deve-se utilizar a estrutura de árvore existente. A tomada de decisão é realizada pela teoria de árvore de decisão, em que cada nó determina o seguinte passo: ao criar uma tela, essa deve chamar o conjunto de regras para validação lógica e física dos dados que compõe essa tela, ou seja, ela faz todas as consistências. Unicesumar 5 estudo de caso Em qualquer tipo de tomada de decisão dentro de um processo, esse deve acionar o avaliador pelas regras. • Modelo da plataforma entidade: é possível realizar o modelo de dados (entidade relacionamento) através de um recurso visual. • Gestão – Cockpit e relatórios gerenciais: é uma ferramenta que oferece aos executivos uma tomada de decisão rápida; através de projeções, os indicadores podem auxiliar nas estratégias e planejamentos das organizações. A nova plataforma de desenvolvimento ágil tem como objetivo facilitar o processo de análise e simplificar a forma com que é feito o levantamento dos requisitos e dos processos; para isso, leva em consideração o princípio da metodologia ágil existente no mercado. O concei- to é de particionar o projeto (Sprint) ou a fase, ou seja, fatiar o sistema por funcionalidades priorizando essas funcionalidades, dando início então ao desenvolvimento da funcionalida- de com maior prioridade. Após a conclusão, inicia-se a próxima atividade e assim por diante. Com isso, o produto começa a tomar forma e a ter resultados. Segue o ciclo de desenvolvi- mento que apoia a plataforma de desenvolvimento ágil.Esse ciclo se repete a cada Sprint ou fase, como observado na figura 1 a seguir: Figura 1 – Ciclo de Desenvolvimento Ágil. Levantamento e Análise Construção Testes Iniciais Testes Finais Implantação Fonte: Autor. 6 Unicesumar estudo de caso Para serem utilizadas na plataforma ágil, o “Levantamento” e a “análise” devem ser definidos inicialmente e devem definir com clareza as funcionalidades (escopo) do projeto. Eles devem também conter uma pequena documentação com as regras do negócio, um desenho do fluxo do processo e seus componentes. Nessa fase, devem ser realizadas reuniões periódi- cas e curtas a cada 2 dias ou até 5 dias; um conceito advindo do Scrum que utiliza reuniões rápidas a cada 24 horas de um sprint de 30 dias. Dentro desse processo, serão priorizadas as funcionalidades e disponibilizados formulários específicos e simplificados, que facilitarão a documentação, a saber: • Desenho dos objetos e suas características; • Regras do negócio; • Fluxo dos objetos que mudam de estado. A construção propriamente dita da plataforma foi feita em C#, baseada em Sqlserver e foi transformada em um produto. Utilizando a plataforma, a construção de sistemas é feita na fer- ramenta da plataforma e utiliza a linguagem de programação C# para realizar as adequações necessárias das rotinas especificas. Toda a construção será feita conforme o levantamento e a análise progridem. Nessa fase, serão construídos todos os componentes e as característi- cas para formar um produto. A fase de teste inicial é evolutiva: conforme a análise avança, os testes também devem acompanhar. A integração deve ser feita de forma incremental, ou seja, as unidades devem ser integradas em pequenos segmentos. Esse teste é executado por um testador de inte- gração (geralmente um programador). Já a fase de teste final de sistema deve ser realizada juntamente com todos os processos que compõem o sistema, conforme as regras definidas pelo solicitante. Na fase de teste de sistema o objetivo é executar o sistema sobe o ponto de vista do seu usuário final, varrendo as funcionalidades em busca de falhas. Os testes são executados em condições similares - de ambiente, interfaces sistêmicas e massas de dados - àquelas que um usuário utilizará no seu dia-a-dia de manipulação do sistema. De acordo com a política de uma organização, podem ser utilizadas as condições reais do ambiente, interfaces sistemáticas e massas de dados. Por fim, a fase de Implantação é a disponibiliza- ção do produto ao usuário final. Unicesumar 7 estudo de caso Na aplicação da plataforma ágil de desenvolvimento no estudo de caso, observaram- -se os seguintes pontos: • escala no desenvolvimento; • simplificação de documentações; • simplificação de construção; • abstração de modelagem de dados; • ganho de tempo; • padronização de dados; • unificação de entidades que facilitam a manipulação dos dados; • facilidade de obtenção de resultados; • O desenvolvedor terá de reunir somente as informações de negócio e desenhar o fluxo operacional do processo. O Estudo de caso teve como objetivo principal demonstrar uma nova maneira de de- senvolvimento de software, sua metodologia e suas ferramentas. Durante o processo de desenvolvimento, observou-se que a plataforma apresentava bons resultados de desempe- nho, tanto em relação à criação das telas quanto a facilidade que ela proporcionava. Porém, a plataforma só demonstrou realmente o seu potencial quando a utilizamos na criação do sistema de maior porte: o sistema de controle de seguradoras para o Banco Central. Além da criação dessa nova plataforma de desenvolvimento, a criação do projeto proporcionou também um estudo sobre algumas das metodologias ágeis mais utilizadas atualmente no mercado, que nos permitiu colocá-las em prática. Portanto, o objetivo do estudo de caso foi apresentar uma nova maneira de desenvolver sistemas em TI e entender como as metodologias ágeis podem ser combinadas em plata- formas de desenvolvimento e gerenciamento de software, utilizando-se de métodos ágeis, ferramentas que facilitam a documentação e visualização do fluxo das tarefas (sprints). Fonte do estudo de caso: baseados em fatos reais, os nomes são fictícios para preservar a imagem. 8 Unicesumar estudo de caso REFERÊNCIAS SHLAER, S. MELLOR, J. Análise de Sistemas Orientada para Objeto. Editora McGraw-Hill Ltda. 1990.
Compartilhar