
No último artigo, “
O que é um sistema de informação computacional ”, levantei uma questão importante sobre conceitos básicos e compreensão de terminologia na interação de um usuário (cliente) e programadores. Como prometido, continuo expandindo esse tópico. E quero falar sobre o planejamento adequado do processo de desenvolvimento e implementação de produtos de software.
Pela natureza da minha atividade, encontro constantemente trabalhos de design. E, no início de qualquer projeto, enfrento a difícil tarefa do planejamento competente. Por que isso é tão importante? Um bom plano é quase metade do sucesso. Sem planejamento, é quase impossível construir trabalho de forma clara e harmoniosa, para atingir metas e cumprir prazos. Isso é especialmente importante quando se trata de trabalho em equipe.
Em princípio, muito se escreveu sobre a importância do planejamento. E não repetirei aqui as verdades conhecidas. É simples: se você sabe onde precisa chegar e é capaz de traçar o caminho certo, alcançará a meta. Se não - infelizmente, ninguém pode adivinhar com antecedência onde você vai acabar.
Armadilhas do Planejamento de TI
Qualquer plano para atingir a meta deve levar em conta esses fatores:
- O objetivo declarado, ou seja, resultado a ser obtido.
- Fatores externos: materiais, ambiente, recursos dos participantes do projeto e futuros consumidores, e muito mais.
Se estamos falando de objetos do mundo material, por exemplo, sobre a construção de uma casa, tudo é relativamente simples. Há um cliente que diz seus desejos. Há um terreno com certas características. Existem materiais de construção com vários parâmetros e custos. E há um certo orçamento. Com base nisso, a versão final do projeto, a estimativa é determinada, as etapas do trabalho são planejadas. Mesmo que você nunca tenha encontrado uma construção, já viu muitas casas, inclusive durante o processo de construção. O resultado é material, assim como fatores externos. Portanto, a escolha de uma solução e a preparação de um plano raramente causam dificuldades.
Ao trabalhar com sistemas de informações de computador, você se depara com o problema da ausência de fatores e resultados materiais. Não vai funcionar aqui, como, por exemplo, ao escolher a base de uma casa, contar com dados iniciais inequívocos e com as leis da física. Além disso, a introdução de cada produto de software é um projeto único.
Cada equipe, como toda pessoa, é única à sua maneira. E eles sempre têm suas próprias necessidades e desejos especiais. Eles ordenam o desenvolvimento e a implementação de software para obter uma solução "para si" quando os programas padrão existentes não são suficientes.
Ao planejar um projeto na área de TI, é necessário:
- Estudar os recursos e necessidades do cliente;
- Entenda claramente a tarefa e leve em consideração todos os desejos;
- Coordene com o cliente as soluções selecionadas.
E somente depois disso podemos prosseguir com o desenvolvimento de um plano de ação. Nesse caso, o cliente pode ser qualquer pessoa, organização comercial ou sem fins lucrativos. O principal é que sempre há alguém que solicita o projeto e o utilizará no futuro.
A prática mostra que apenas o trabalho preparatório com o cliente geralmente causa dificuldades. E aqui, uma abordagem baseada na definição pode ser útil:
Um sistema de informação de computador é uma ideia expressa através de uma linguagem de programação.
Eu dei uma descrição detalhada e justificativa para essa definição no artigo
“O que é um sistema de informações de computador” . Para um melhor entendimento, recomendo que você se familiarize com quem ainda não o leu.
Idéia e seleção de produtos de software
A primeira e mais óbvia coisa a entender: para um produto de software selecionado ou criado para atender a sua ideia, é necessária uma combinação de dois fatores:
- A presença da própria ideia;
- Sua descrição distinta e inequívoca para outros participantes do projeto.
E na fase de uma descrição clara e compreensível da idéia do projeto por terceiros, os chamados esquemas de BPM acabam sendo muito úteis. Em outras palavras, notações gráficas para descrever processos de negócios. Você pode encontrar mais detalhes sobre o que é e como as notações BPM são feitas no meu artigo "
O que é um processo de negócios e a descrição de um processo de negócios ".
Ao mesmo tempo, é importante entender que isso não é necessariamente sobre processos de negócios. Usando as ferramentas de BPM, você pode descrever com êxito qualquer trabalho e outros tipos de processos, ou seja, simule claramente opções para traduzir idéias.
Duas abordagens podem ser usadas para descrever uma empresa ou executar uma tarefa - processo e funcional. Também escrevi sobre suas diferenças e recursos em detalhes no artigo “
Modelagem de Negócios. Abordagens principais . ”
Ao procurar uma solução (formular a própria idéia), muitos preferem uma versão funcional da modelagem. Ele se ajuda a entender a essência do problema e as ferramentas necessárias para resolvê-lo. E para a solução eficaz da tarefa e a preparação do plano de trabalho, como mostra minha experiência pessoal, a modelagem de processos é ideal.
Como fazer:
- Uma notação gráfica (descrição) do processo de negócios é criada. Eu recomendo usar o formato BPMN 2.0 como a ferramenta mais avançada e sofisticada, cuja utilização reduz a probabilidade de erros e soluções ambíguas.
- A idéia expressa na forma de notações BPMN é discutida com as partes interessadas (clientes, usuários, em alguns casos, desenvolvedores).
- De acordo com a idéia acordada, eles escolhem o software ou decidem escrever um produto de software do zero.
- Um plano de trabalho é elaborado levando em consideração as ferramentas, soluções selecionadas e uma ideia detalhada (notação BPMN).
Como criar um modelo BPMN
Para uma compilação bem-sucedida de notações BPM, uma pessoa deve ter certo conhecimento:
- Entenda os recursos da organização (interação do usuário). Sem isso, a incorporação da ideia provavelmente conterá erros. Como resultado, o sistema será inconveniente ou impossível de usar.
- Conheça os recursos dos algoritmos e, no mínimo, os conceitos básicos de programação. Isso é necessário para definir requisitos corretos e realistas para sistemas de software.
- Ter habilidades em trabalhar com notações gráficas. Esse formato, como qualquer infográfico, é a opção mais visual e compreensível para todos os participantes do projeto exibirem a tarefa.
Em cooperação com organizações empresariais ou sem fins lucrativos, o processo de cooperação está estruturado da seguinte forma:
- A declaração geral do problema é formulada pelo chefe da empresa;
- Esclarecimento das etapas dos recursos de trabalho e implementação - chefes e funcionários dos departamentos que trabalharão com o produto de software.
Em alguns casos, a declaração do problema como um todo e os detalhes podem ser realizados por uma pessoa suficientemente informada sobre todas as nuances importantes.
Além disso, a descrição resultante é feita na forma de notação gráfica, onde vários níveis de detalhes também estão presentes. Seu número depende da complexidade do sistema.
O próximo estágio é refinamento e coordenação. Aqui, a notação final é estudada pelos líderes e funcionários da organização, se necessário, eles fazem esclarecimentos. No mesmo estágio, são possíveis alterações nos detalhes da própria ideia, o que ajudará a otimizar o trabalho, inclusive no nível dos funcionários e na interação dos departamentos. É importante entender aqui: o modelo gráfico ajuda a ver muitas "rugas", duplicação desnecessária de funções, etc. E, é claro, ao formular a idéia na forma de notação, podemos e devemos discutir essas deficiências do fluxo de trabalho e pensar em como otimizá-las.
Seleção de produtos de software
Você já tem uma ideia consistente e detalhada, incorporada na forma de notação gráfica. O que é muito importante - a notação passou por todas as discussões, a gerência da empresa assinou a versão final. É possível prosseguir com confiança no entendimento mútuo para a seleção ou criação de um produto de software.
Atualmente, é extremamente raro para organizações comerciais e sem fins lucrativos criar soluções de software a partir do zero. É caro e longo. Além disso, para a maioria das idéias, existem soluções prontas (padrão) suficientes para configurar e / ou modificar um pouco.
E aqui é muito importante que, de todos os sistemas de software adequados para o tópico e a funcionalidade, você precise escolher aquele cuja ideia coincide mais com a do cliente.
Por exemplo, a ideia é: "precisamos da automação do departamento de vendas".
Etapa 1. Um sistema de CRM é mais adequado para implementação. Essas soluções de software são desenvolvidas especificamente para equipes de vendas.
Etapa 2. De todos os CRMs existentes, é necessário selecionar aqueles cuja funcionalidade é mais adequada ao algoritmo de trabalho selecionado (implementação da ideia).
Etapa 3. A escolha dos CRMs adequados da lista é estudar sua funcionalidade adicional: soluções prontas para integração com outros produtos de software, presença de ferramentas internas úteis para a idéia, relação preço / qualidade.
É importante entender: na implementação de qualquer idéia, as pessoas são parte integrante do processo. E se eles não tomarem a decisão escolhida, o produto de software, por todas as suas vantagens, do ponto de vista dos desenvolvedores, será inadequado para a implementação da ideia.
Além disso, a descrição do processo de negócios (a incorporação de uma ideia) é, antes de tudo, uma descrição das atividades das pessoas. Ideias se relacionam à atividade humana. A automação é apenas um fator auxiliar. Portanto, qualquer descrição dos processos de negócios é, antes de tudo, uma descrição do trabalho das pessoas. E só então - a parte técnica da questão.
Infelizmente, na prática, me deparei com uma abordagem errônea quando a notação BPMN é completamente dedicada à parte técnica e, de fato, é uma maneira alternativa de escrever um algoritmo para programadores. Nesse caso, as pessoas e sua interação com as soluções de software estão nos bastidores. E, ao colocar uma solução em prática, surgem sobreposições e mal-entendidos. Como resultado, a ideia é realizada por um período longo e difícil. Ou acaba sendo um fracasso. Só porque em sua descrição eles esqueceram o fator mais importante - as ações das pessoas.
Vantagens da abordagem de processo
O homem pensa sequencialmente. Ao mesmo tempo, é extremamente difícil pensar em várias ações diferentes e abranger várias tarefas ou orientações. O homem pensa passo a passo, resolvendo tarefas uma após a outra à medida que chegam. E, portanto, a incorporação da ideia na forma de uma sequência de ações é a mais adequada. Ele permite que você pense em todos os detalhes e não perca nada importante.
Exclusividade da decisão e facilidade de coordenação pelos participantes do projeto. As notações gráficas são fáceis de ler, são intuitivas para o chefe da empresa cliente, estão próximas aos fluxogramas da algoritmo e, portanto, são convenientes para os desenvolvedores. Como resultado, eles são fáceis de coordenar e, durante a implementação, praticamente não há discrepância.
O formato BPMN ajudará a evitar erros. O ambiente de desenvolvimento de notações gráficas e a simplicidade da exibição ajudam a perceber a maioria dos erros no tempo, a evitar contradições lógicas e processos "incompletos".
Você pode aprender mais sobre as notações BPMN, os elementos e princípios básicos de seu uso, bem como um exemplo prático no meu artigo “
Breve descrição do BPMN com um exemplo ”. Mais exemplos estarão em publicações futuras.