Os materiais do site podem ser usados com referência à fonte. Licença
Otimização de processos de negócio do desenvolvimento paralelo de produtos de software por dois departamentosАвтор: Бугаевский Тимофей.
Sobre nós: Site pessoal de Timofey Bugaevsky e da empresa Zetka Interactive Gestão: Materiais para gestores. Modelo simulado dos processos empresariais de uma empresa de desenvolvimento de software segundo o modelo SCRUM: Modelo simulado dos processos empresariais de uma empresa de desenvolvimento de software segundo o modelo SCRUM com testes reforçados. Descrição e otimização de processos de negócio do desenvolvimento paralelo de produtos de software por duas unidades interligadas da empresa de desenvolvimento de software No trabalho foi analisado e construído um modelo de processos de negócio de uma unidade de uma empresa de desenvolvimento de software para ter em conta a actividade de empresas de diferentes dimensões e áreas de actuação. Foi realizada uma análise funcional-custo, foi identificado e eliminado um estrangulamento. A optimização permitiu reduzir os tempos de inactividade dos trabalhadores e acelerar o lançamento de novas versões dos produtos da empresa, obtendo assim um efeito económico. O trabalho é uma tentativa de estudar e aplicar, em tarefas práticas, o sistema de modelação de negócio Business Studio. No trabalho foram utilizados a experiência de trabalho com sistemas de modelação de engenharia: SIMULINK, МВТУ e formação em engenharia. Características do trabalho de lançamento do produtoNo modelo considera-se o lançamento paralelo de dois produtos por dois departamentos: • Produto para pequenas empresas. • Produto corporativo. O trabalho de ambos cruza-se na interacção com departamentos adjacentes. Em geral, o trabalho das unidades de desenvolvimento no lançamento do produto é semelhante, pelo que o esquema foi construído como um processo único de lançamento do produto, que se divide consoante o produto produzido nos pontos em que isso é necessário, para, por exemplo, indicar os cargos que executam determinada operação. Como exemplo de um desses pontos, é apresentado o processo Execução de trabalhos que cabem num sprint, a partir do processo de desenvolvimento de uma nova versão do produto. Existem 3 níveis em que podem ser desenvolvidas as funções do produto: 1. O próprio produto. 2. Bibliotecas. 3. Plataforma. As bibliotecas são utilizadas para agregar e unificar funcionalidades que podem ser usadas em diferentes produtos. A sua utilização permite tornar o funcionamento de todos os produtos da Empresa semelhante e simplificar a aprendizagem de novos produtos por parte de utilizadores familiarizados com um dos existentes. A ordem de desenvolvimento do produto, quando o seu protótipo está pronto, é a seguinte: 1. Em paralelo, é realizado o desenvolvimento de novas funcionalidades do produto e das suas dependências: plataforma e bibliotecas. 2. Quando a plataforma e as bibliotecas estão prontas e testadas, e também está concluído o desenvolvimento de novas funcionalidades do produto, é efectuado o teste geral e a correcção do conjunto de entrega: produto, bibliotecas e plataforma. Em consequência, o número de requisitos implementados depende do trabalho de vários departamentos: • Se alguma funcionalidade for comum, a sua implementação é transferida para o nível das bibliotecas. • Se alguma funcionalidade não puder ser implementada com os meios de desenvolvimento actuais, é encaminhada para o departamento de desenvolvimento da plataforma. • Quando um requisito é demasiado complexo para ser incluído na plataforma, é excluído do trabalho e a sua implementação é adiada. Se o departamento de desenvolvimento do produto conseguir implementar todos os requisitos, mas, por exemplo, na plataforma for impossível implementar alguns, o número de requisitos implementados diminui pelo número daqueles que os departamentos adjacentes não conseguiram ou não tiveram tempo de implementar. O desenvolvimento é realizado com recurso à tecnologia SCRUM [2]. Esta pressupõe que os colaboradores, num determinado período de tempo chamado sprint, executam o número de tarefas atribuídas que conseguirem. Um exemplo de implementação do ciclo de execução de trabalhos para o lançamento de uma nova versão da plataforma é apresentado abaixo. OptimizaçãoA optimização pode ser realizada em três níveis [3]: 1. Questionando a qualificação necessária para a execução do trabalho (se o processo de negócio estiver descrito em detalhe, pode ser executado segundo instruções por uma pessoa com menor qualificação). 2. Questionando a correcção do processo de negócio (se o processo de negócio estiver descrito, surge a possibilidade de o melhorar: alterar a prioridade das operações executadas, o número de colaboradores que as executam, e a ordem das próprias operações). 3. Questionando a necessidade de executar este processo de negócio (se existirem dados sobre todos os processos da empresa, surge a possibilidade de comparar a sua eficiência e recusar de forma fundamentada os menos eficientes, vendo que não são necessários noutras operações ou que foi encontrada uma substituição adequada). Neste trabalho utilizaremos o segundo método: ajustar o processo de negócio descrito com o objectivo de optimizar a sua execução. Resultados da modelação antes da optimizaçãoRealizemos a modelação do lançamento de uma versão do produto para pequenas empresas. Como resultado da modelação, foram cumpridos 95% dos requisitos e foi lançada uma versão do produto para pequenas empresas. O tempo de inactividade dos programadores do produto para pequenas empresas foi de 1,5 semanas. O tempo desde o início do trabalho numa nova versão do produto até ao seu lançamento foi de 2 meses. O diagrama de Gantt do trabalho de lançamento do produto, se se fizer a média dos dados de ocupação na execução dos trabalhos de desenvolvimento e teste do produto para pequenas empresas, bibliotecas e plataforma, fica assim: Acções de optimizaçãoReduziremos a espera pela disponibilidade da nova versão da plataforma e das bibliotecas e, em vez de aguardar a conclusão da verificação dos resultados dos testes pelo responsável da unidade correspondente, transformaremos isso num aviso por relatório. Antes: Depois: Para o processo A5.3.3 Teste e correcção, utilizado para o desenvolvimento de bibliotecas, faremos o mesmo. Alteraremos a prioridade da operação Descrição do erro, de modo a que o teste não seja executado primeiro e só após a sua conclusão sejam descritos os erros e enviados aos programadores para correcção; em vez disso, à medida que os erros forem encontrados, começar-se-á imediatamente a corrigi-los. Antes: Depois: Adicionaremos mais um testador. Antes: Depois: Daremos aos programadores mais tempo para corrigirem autonomamente os erros na funcionalidade implementada antes de a enviarem para teste. Isto reduzirá a probabilidade de serem encontrados erros durante o processo de teste e, consequentemente, a duração do processo de teste e correcção. Antes: Depois: Resultados da modelação após a optimizaçãoRepetiremos a modelação do lançamento de uma versão do produto para pequenas empresas. Como resultado da modelação, foram cumpridos 94% dos requisitos e foi lançada uma versão do produto para pequenas empresas. O tempo de inactividade dos programadores do produto para pequenas empresas foi de 2 dias. O tempo desde o início do trabalho numa nova versão do produto até ao seu lançamento foi de 1 mês e 3 semanas. O tempo de inactividade reduziu-se em 1 semana e 1 dia (4 vezes), em comparação com o processo de negócio não optimizado. O intervalo desde o início do trabalho dos programadores do produto para pequenas empresas no produto até à conclusão reduziu-se nesse tempo (em 12%) O diagrama de Gantt do trabalho de lançamento do produto passará a ser o seguinte: Verificação dos resultados em regime de trabalho regularPara verificar como funcionará o departamento de desenvolvimento de software em regime de trabalho regular, lançando todos os meses 1 versão do produto para pequenas empresas, 1 versão do produto corporativo e 2 versões das bibliotecas e da plataforma, realizaremos a modelação do lançamento de 4 versões do produto (2 versões do produto para pequenas empresas e 2 do corporativo). Definiremos um período de 6 meses para que os trabalhos de preparação da primeira versão (planeamento, etc.), bem como os trabalhos finais, sejam executados na íntegra. Vemos que é lançado o número definido de versões do produto e são cumpridos 94-97% dos requisitos dos utilizadores. Os programadores dos produtos trabalham com uma carga de 90-95%, o que pode ser considerado um bom indicador. O tempo livre pode ser gasto em questões organizacionais e no trabalho com o correio electrónico.
Efeito económicoA redução do tempo de inactividade dos programadores do produto para pequenas empresas, mantendo-se inalterado o seu número, foi, por versão (2 meses de desenvolvimento), por colaborador, de 12%. O que, calculado para todos os colaboradores do departamento e convertido para um mês, com um custo salarial (FOT) de 200 000 rublos por mês por colaborador, totalizou: 11 pessoas * 12% * 200 000 rub. = 264 000 rublos. Para o departamento de desenvolvimento de produtos corporativos, a mesma optimização dará uma poupança mensal de: 18 pessoas * 12% * 200 000 rub. = 432 000 rublos. O custo salarial (FOT) do testador adicional será de 160 000 rub. Poupança total por mês: 264 000 + 432 000 – 160 000 = 536 000 rub. Esta poupança traduzir-se-á num lançamento mais frequente (12% mais frequente: 1 mês e 3 semanas em comparação com 2 meses) de novas versões dos produtos e na redução do custo de lançamento de cada nova versão. ConclusõesA modelação de processos de negócio não é apenas uma forma de descrever e obter informação geral sobre o estado actual da organização, mas também uma poderosa ferramenta de optimização da actividade da organização, permitindo tomar decisões de gestão fundamentadas sem realizar uma experiência à custa dos recursos da empresa através de uma optimização errada, que, por exemplo, não tenha em conta uma restrição sistémica (ver um exemplo desse erro em [4]). Bibliografia1. Estrutura do modelo de processos de negócio [Recurso electrónico] // Business Studio Documentação [site]. [2016]. URL: http://www.businessstudio.ru/wiki/docs/v4/doku.php/pt/csdesign/bpmodeling/struct (data de acesso 02.06.2016). 2. Kniberg H. S.M. Kanban e Scrum: extrair o máximo. Agile Ukraine, C4Media, Editora InfoQ.com, 2010. 78 p. 3. Processos de negócio. Optimização de processos de negócio [Recurso electrónico] // Canal Metodologias de negócio abertas TRIZ-RI no Youtube [site]. [2014]. URL: https://www.youtube.com/watch?v=67bk0gDFX1s (data de acesso 11.09.2016). 4. Jeff Cox, Dee Jacob, Susan Bergland. O novo objectivo. Como combinar produção lean, seis sigma e a teoria das restrições; trad. do inglês por P. Mironov. — M. : Mann, Ivanov e Ferber, 2011. — 400 p. 5. Modelo de simulação da actividade de desenvolvimento de software [Recurso electrónico] // ZK Interactive [site]. [2016]. URL: http://zkinteractive.com/management/soft_co_bm/pt/ (data de acesso 29.12.2016). |