1 - Fatores de Desenvolvimento de Software
O processo de desenvolvimento de software se dá a partir da especificação, validação e manutenção, que compreende desde a identificação das necessidades até a disponibilização do produto para uso do contratante.
Especificação, Desenvolvimento, Validação e Manutenção
Utilizo o termo contratante aqui representando o cliente interessado em nossos serviços.
No escopo desta aula focaremos na identificação das necessidades, base para todo desenvolvimento, englobando todos os aspectos relacionados a um completo e consistente conhecimento do negócio a ser trabalhado.
Um sistema é desenvolvido envolvendo participantes do negócio e da tecnologia, orientado pelas normas, metas e estratégias do contratante (Figura 1).

Figura 1: Equipe desenvolvimento | Fonte: De autoria própria, 2022.
O contratante tem como responsabilidade designar um profissional para orientar a equipe de negócio e tecnologia, conduzindo os trabalhos, na ambientação da empresa e do negócio.
Vamos precisar conhecer a empresa, seus níveis organizacionais, os funcionários diretos e indiretos que estarão envolvidos nas operações, nos revelando quais são as ações dessas operações e como elas são realizadas. Todo funcionário, independente do seu nível organizacional, deve estar envolvido no processo de desenvolvimento, pois a cada um pertence uma visão diferenciada do negócio abordado.
As pessoas que, direta ou indiretamente tem algum interesse nas operações, denominamos STAKEHOLDERS e, aos funcionários que realizam as ações, USUÁRIOS.
O desenvolvimento de sistemas é uma tarefa desenvolvida pelo Analista de Sistemas, também chamado de engenheiro de software, que requer considerações relevantes em busca da qualidade. Desta forma, cabe a nós conhecermos alguns fatores que podem afetar diretamente o bom andamento do processo de desenvolvimento, quando não são observados e analisados: Relação Usuário X Analista, Riscos do desenvolvimento, e a Relação Analista X Negócio.
Vamos ver um pouco de cada um a seguir.
- Relação Usuário X Analista
- Consideramos como função do usuário a receptividade em fornecer as informações necessárias para entendimento dos procedimentos de negócio de forma clara e consistente. Ao analista de sistema cabe a habilidade de buscar essas informações da forma mais amigável possível e próxima do contexto do ambiente do usuário.
- Contudo, devemos ter cuidado e considerações com alguns aspectos:
- Quanto aos usuários:
- Podem ter dificuldade em expressar necessidades;
- Pouca participação do usuário;
- Podem ter bloqueio quanto a nova proposta de trabalho;
- Quanto aos analistas de sistemas:
- Tende a buscar uma solução imediata, o que desfavorece uma solução completa em atendimento às expectativas do usuário;
- Utiliza técnicas e termos de uma tecnologia que o usuário desconhece, o que dificulta a comunicação;
- A especificação do novo sistema é um documento volumoso e difícil de ser interpretado pelo usuário. A documentação deve ser concisa e atualizada para que possa garantir a continuidade de execução e atendimento dos sistemas;
- Usuários e Analistas têm diferentes pontos de vista do problema (por terem diferentes formações);
- Riscos do desenvolvimento
- Os riscos durante o desenvolvimento do sistema não podem ser ignorados e, desta forma, o analista de sistemas deve estar atento aos seguintes quesitos:
- DINÂMICA DA EMPRESA: a empresa é um órgão dinâmico e com isso suas estratégias estão sempre em movimento. As necessidades podem mudar!
- Turn-over no projeto: alterações na equipe ocasionam adequações, remanejamentos, novos engajamentos.
- Podemos também nos deparar com mudanças na equipe de usuário.
- Analista se preocupa mais com a tecnologia do que com o negócio.
- Relação Analista X Negócio
- Quando estamos em processo de desenvolvimento de sistemas devemos considerar a aplicação que já está em operação na empresa no atendimento dos objetivos. É possível estarmos desenvolvendo parte de um sistemas, que chamamos de módulo, ou refazendo o sistema como um todo. Então, identificamos outras necessidades:
- Entendimento do domínio da aplicação: conhecer a aplicação que já está disponível fará com que possamos identificar o que não está atendendo e, principalmente, conhecer os dados que suportam a aplicação. Lembre-se sempre que os dados representam o pulsar das empresas e precisamos aproveitá-los no novo sistema.
- Entendimento do problema: compreender os procedimentos que não mais atendem às necessidades do problema.
- Entendimento do negócio: conhecer o conjunto de atividades que compõem o negócio pode favorecer no momento de busca de informações. Por exemplo, se vamos desenvolver um sistema de Seguro de Vida e, em experiências anteriores, trabalhamos com esse segmento de negócio, já iniciamos com o conhecimento geral de regras, leis, normas que regem o negócio. Concorda? Com isso, facilitará a busca pelas informações da forma como o novo contratante desenvolve as atividades para alcance de seus objetivos. Porém, tenha cuidado! Não podemos deixar nos influenciar por formas de execução anteriores. Cada contratante tem o seu próprio jeito de fazer o trabalho!
2 - Importância da Comunicação
Preocupar-se com a comunicação é bastante relevante no processo de desenvolvimento de sistemas, pois através dela é que estaremos entendendo às necessidades de nossos usuários e nosso objetivo é ter uma compreensão efetiva, consistente, sem ambiguidades. Assim, realizaremos a entrega de nosso trabalho atendendo às expectativas do nosso contratante.
Alguns pontos favorecem a comunicação: