A importância da comunicação na engenharia de software.

Introdução

A comunicação é tão essencial para um projeto que se torna seu fôlego de vida. Sem uma comunicação eficiente um projeto dificilmente será bem sucedido. Acrescente a intangibilidade (do software) e terá um belo desafio. (Intangível é a qualidade de algo que não pode ser tocado).

Felizmente podemos recorrer à literatura e buscar diversas lições aprendidas estruturadas em modelos e técnicas de levantamento de requisitos, que nos ajudarão a aperfeiçoar nossas análises em busca de maior acertividade em nossos projetos.

Abaixo serão abordado alguns temas que considero importante para o sucesso em um projeto de software.

A comunicação

Fonte: pixabay.com

“Alguns autores concluem que a comunicação pode representar até 90% de um projeto”. CHAVES(2006). Podemos perceber nesta citação, do livro Gerenciamento da Comunicação em Projetos – FGV, a sua importância. No meu entendimento é a área de conhecimento do PMBOK(PMI) que é presente em todos os projetos e que seu resultado afeta diretamente todas as demais áreas de conhecimento.

Ainda de acordo com CHAVES (2016, p.18) : “A palavra comunicação tem origem latina (comunicare) que significa partilhar, dividir. É a transmissão e recepção de mensagens, entre um emissor e um receptor, com o uso de sons, signos, símbolos, escritas etc”.

Discutir ideias e convertê-las em um produto de software é um imenso desafio, quase uma arte, por isso precisamos sempre aperfeiçoar nossas habilidades de nos comunicar, para que seja possível extrair o máximo de informações precisas durante os levantamentos de requisitos e no decorrer do ciclo de vida do software.


Técnicas para levantamento de requisitos

As técnicas para levantamentos de requisitos são muito bem abordadas no capítulo 4 do livro livro Engenharia de Software (9. edição). Aqui será abordado apenas uma breve visão de cada tópico.

Entrevista

Segundo SOMMERVILLE(2011): “as entrevistas são parte da maioria dos processos de engenharia de requisitos”. A entrevista tem por objetivo entender a necessidade do cliente.

SOMMERVILLE(2011) ainda indica que os especialistas utilizam terminologias diferentes, ou seja, o vocabulário pode não ser muito bem entendido por ambas as partes. A comunicação se torna importante, pois toda dúvida deve ser sanada, assim como sugere as primeiras páginas do livro UML 2.

A entrevista vem para completar o levantamento de requisitos e muitas vezes é o único recurso que o analista tem, mas esta técnica possui falhas, como por exemplo: se não for bem conduzida a entrevista pode levar a questionamentos e respostas sem valor, também é preciso saber abordar o entrevistado e estimular que ele participe, mas nem sempre terá todas as informações que realmente precisa. As pessoas nem sempre relatam tudo o que fazem.

O ideal é utilizar a entrevista aplicando outras abordagens, como a técnica de prototipação ou construção de cenários por exemplo.

Questionário

Os questionários são utilizados geralmente quando se tem uma barreira geográfica considerável.

Com questionário é possível obter informações de forma estruturada e remota, o que minimiza os custos e tempo.

É importante que o questionário seja bem elaborado e não possua margem para a ambiguidade.

Brainstorming

Consiste em realizar um grupo de discussão de ideias, com objetivo de captar informações relevantes de forma interativa e espontânea.

Neste modelo as ideias podem surgir rapidamente, por isso é importante uma pessoa exclusiva para tomar nota.

Outra possibilidade é permitir que as pessoas anotem suas ideias e as coloquem em um quadro, assim em um momento oportuno todas estas ideias serão analisadas por todos do grupo, uma de cada vez.

Prototipação

Esta técnica geralmente é utilizada no início do projeto, no planejamento.

Consiste em criar uma forte noção da aplicação apenas com modelos de protótipos com ou sem funcionalidades, de forma rápida com objetivo de validar os requisitos. Ideal para quando não ainda não está claro o que será desenvolvido.


Modelos de processos de software.

A escolha de modelos de desenvolvimento de software está muito relacionada à complexidade do sistema a ser desenvolvido e principalmente à variação de mudanças de escopo do projeto.

Conhecer e aplicar os modelos de desenvolvimento de software são fundamentais para o sucesso do projeto, também para atingir os prazos e custos.

Um projeto de software exige uma comunicação eficiente e, sempre que possível, bem documentada, pois é uma ótima forma de validar requisitos e realizar o planejamento.

As principais etapas do desenvolvimento de um software são: Planejamento, execução, implantação e controle / manutenção.

Na fase de Planejamento é que se identifica qual será o melhor modelo a ser seguido. Abaixo apresento os principais modelos e quando usar cada um deles

Modelo Cascata

O modelo clássico. Quando se tem uma definição clara do que será desenvolvido e não houver um movimento significativo de mudanças no escopo do projeto o modelo Cascata se mostra eficiente.

Neste modelo a fase do planejamento é a mais importante, pois exige um esforço entre levantamento e validação dos requisitos, uma vez que todo projeto será executado mediante ao levantamento realizado.

Um ponto negativo é que qualquer alteração no escopo do projeto pode resultar em custos, uma vez que um requisito pode ter sido identificado tarde demais, sendo necessárias grandes mudanças no sistema.

Por isso é sempre estar atento a quaisquer sinais de alteração de escopo e a comunicação no

Modelo Incremental

Esta abordagem permite construir várias partes do sistema ao mesmo tempo, além de ser possível abordar diversas frentes de trabalho e integra-los posteriormente.

Modelo Iterativo

O modelo Iterativo é um modelo semelhante ao modelo Cascata. O que diferencia é que o desenvolvimento é feito em vários ciclos, produzindo uma nova versão em cada etapa.

Modelo Prototipação

Este modelo consiste em entregar protótipos, possibilitando acompanhar a evolução dos requisitos do projeto.

É um ótimo modelo para validar requisitos, principalmente em sistemas complexos. Entretanto os protótipos são produtos com entrega ágil que podem gerar uma alta expectativa no cliente, principalmente em protótipos interativos, uma vez que poderá ficar subentendido que o sistema já está sendo concluído, quando na verdade está ainda sendo planejado.

Conclusão

Os projetos de desenvolvimento de software, complexos ou não, exigem uma comunicação eficiente, de modo que seja possível alcançar o objetivo com maior acertividade, desta forma é possível reduzir custos e atingir prazos.

Abordar a comunicação em projetos de tecnologia – principalmente de software – pode ser um desafio e deve ser tratado com prioridade. A comunicação eficiente fará a diferença em seu projeto.

Devemos também estar bem alinhados quanto aos processos e modelos de desenvolvimento e aperfeiçoamento de software.

Na área de tecnologiaO estudo é constante.

Referências

PMI (2013) PMBOK: Um guia do conhecimento em gerenciamento de projetos. 5 ed.

SOMMERVILLE, Ian. Engenharia de Software 9.ed. Pearson 2012.

CHAVES, Lúcio et. al. Gerenciamento da comunicação em projetos. Rio de Janeiro: Editora FGV, 2006. 


JUNEJA, Prachi. Importance of communication in an Organization. Disponível em: <https://managementstudyguide.com/importance-of-communication.htm>. Acesso em: 06 junho.2018.

Anydesk – Software para acesso remoto.

Acesso Remoto

O Acesso remoto é um recurso, utilizado através de softwares, que permite conectar em outro computador por meio da internet, desta forma é possível dar manutenção em softwares em diferentes localizações geográficas.

Anydesk

O anydesk é um software de acesso remoto, comumente utilizado pelas maiores empresas de suporte a sistemas, como ERPS e profissionais de tecnologia.

Para baixar o AnyDesk acesse o link e baixe: http://anydesk.com/

Como utilizar

Após baixar o AnyDesk abra o arquivo e irá abrir uma janela.

Após abrir o sistema, no lado esquerdo, será gerado um número. Este número deve ser passado para o suporte técnico que irá acessar seu computador.

Após enviar o ID o sistema poderá solicitar uma permissão, que deverá ser aceita, a partir deste momento o operador terá total acesso no seu computador, até que você feche o aplicativo.

Fluig No Code – Desenvolver e gerenciar processos sem a necessidade de programar.
Código HTML.

A nova aposta da TOTVS com o Fluig se chama No Code. No Code é uma expressão que pode ser entendida como “não codificar”, ou “não programar”. Basicamente é permitir que qualquer usuário sem conhecimentos técnicos em programação seja capaz de criar processos e formulários sem a necessidade de codificação.

A ferramenta de Processos do FLUIG é robusta e o construtor de formulários também não deixa a desejar. Entretanto, esta já exigia uma evolução para acompanhar a responsividade, design e outras evoluções de frontend.

Estas evoluções no entanto não é novidade, se comparado com ferramentas alternativas como o KissFlow por exemplo, uma das ferramentas mais utilizadas pelas maiores empresas do mundo.

Vantagens do FLUIG NO Code

A TOTVS então iniciou o movimento e na versão 1.6.5 do FLUIG há uma prévia desta novidade, a versao beta destas evoluções da ferramentas. É simplesmente fantástico. Em meus testes pude perceber que a ferramenta é estável, traz muitas melhorias e cumpre muito bem o que promete.

Agora o construtor de formulários permite a criação de colunas, de forma que os campos fiquem lado a lado, diferentemente dos templates do editor de formulário antigo, que permitia criar apenas uma coluna e os campos ficavam na vertical. Também o visual melhorou consideravelmente, além de componentes mais atualizados.

Além do formulário parece haver um movimento para entregar no Fluig ferramentas de uso mais simplificado, como o tasks, que é semelhante ao trello.

Também tem o flow, que da mesma forma se aplicaria as evoluções do modelador de processos.

A desvantagem do FLUIG No Code

Infelizmente, há um ponto negativo que destaco, que é o custo. O que parecia ser uma evolução se tornou um produto. A partir da versão 1.7 a TOTVS removeu das plataformas, sendo habilitado apenas para aqueles clientes que o adquirirem.

Quando parecia avançar, infelizmente damos outro passo para traz. Assim como o LMS ( no meu ponto de vista um dos principais recursos do FLUIG que agregaria valor) foi descontinuado, as novidades parecem vir para somar, mas somente na mensalidade.

Acesse: https://www.totvs.com/fluig/nocode/

Referências

TOTVS Fluig No-Code

(Minutos 35:00, 44:30 a 46:00)

Atualização 12.1.28 – RM Folha de Pagamento – WebService FopFuncData

A consulta por webservice, na atualização 12.1.28 trouxe uma nova necessidade de estruturação dos cadastros dentro do RM. A não configuração deste recurso poderá trazer o seguinte erro: Usuário precisa estar vinculado com um funcionário ou à um chefe externo para ter acesso à estas informações.

Ao utilizar o SOAPUI, ou FLUIG, era necessário no sistema a criação apenas de um usuário que faria a consulta dos Funcionários e este usuário deveria ter permissão de leitura na tela de Cadastros de Funcionários.

Na versão 12.1.28 as informações do funcionário só poderão ser acessadas via webservice através de um funcionário ou Chefe externo, devendo portanto ser configurado nas seguintes telas: (Lembre-se de fazer em ambiente de testes e verificar como isso impactaria sua estrutura de organograma)

Primeira Opção:

  • Cadastrar um novo Chefe Externo: Ideal para quando você tem um usuário do sistema que não está vinculado a nenhum funcionário.
  • Preencha os dados e informe o usuário, após isso abra a tela chefes e supervisores.
  • Na lista que se abrir escolha a RAIZ que o usuário terá acesso, ou coloque na raiz principal e clique no botão ‘Novo Chefe Externo’
  • Após incluir o novo chefe o sistema irá permitir a consulta por webservice.

Segunda Opção:

  • Abrir o cadastro de Funcionários na aba de Identificação ( a tela padrão do funcionário )
  • Inserir no campo (Código do Usuário) o usuário que é utilizado para integrações.
  • Acessar a Tela Chefes e Supervisores
  • Na lista que se abrir escolha a RAIZ que o usuário terá acesso, ou coloque na raiz principal e clique no botão ‘Novo Chefe’
  • Após incluir o novo chefe o sistema irá permitir a consulta por webservice.
Como executar uma fórmula visual do RM utilizando WebServices no Fluig.

Existe um webservice para execução de Fórmulas Visuais no RM, entretanto não obtive sucesso na sua utilização, na versão 12.1.27.

Porém há uma outra alternativa, que é executar as fórmulas visuais utilizando webservices de Jobs do RM, desta forma é até melhor, pois gera os logs nos jobs, sendo assim se torna capaz de acompanhar a execução das rotinas pelo RM.

O link abaixo contém o conteúdo necessário de exemplo para execução deste webservice.

https://github.com/wmsilva191/fluig/tree/master/FormulaVisual