Dada sua complexidade, o processo de desenvolvimento de um software é uma tarefa que deve ser realizada em equipe. Para tanto, são necessário profissionais, especialistas de diversas áreas. Por exemplo: gerentes, analistas, projetistas programadores, clientes e avaliadores de qualidade. Veremos algumas características destes profissionais, entretanto, dependendo do tamanho da equipe e do projeto, uma mesma pessoa pode desempenhar mais de uma função. De outro modo, várias pessoas podem desempenhar uma mesma função.
Gerente de Projeto
Este é responsável pela gerencia e coordenação das atividades realizadas no desenvolvimento do software. Também é de responsabilidade do gerente de projeto orçar o projeto e estimar o tempo necessário para seu desenvolvimento. Além disso, ele deve definir quais os recursos necessários para a execução do projeto.
Após definidos, estes aspectos o gerente deve acompanhar o desenvolvimento para garantir sua conformidade com o prazo e recursos previstos.
O analista de sistema é o profissional que extrairá do cliente os requisitos funcionais desejados e interpretará estes requisitos para a equipe de desenvolvedores. Deste modo, o analista de sistemas funciona como uma ponte de conexão entre os profissionais de negócios e os desenvolvedores do projeto. Desta forma, ele deve ter pleno conhecimento do linguajar técnico e de negócios de modo que possa caminhar seguramente pelos dois mundos e servir de comunicação entre eles.
É necessário, também, que o analista de sistemas possua ética profissional. Este tratará de informações, às vezes, sigilosas de seus clientes.
Este é o profissional que trabalhará com os modelos extraídos após a analise e acionará aspectos tecnológicos necessários para a solução do problema proposto. Existem diversos tipos de projetistas, tais como os de interface gráfica e de redes.
Este profissional terá a visão macro do projeto. Ele é responsável por arquitetar todo o projeto, como a escolha de quais subsistemas farão parte do projeto. Ele também é responsável por tomar decisões globais que influenciarão no desempenho do sistema. O arquiteto de software trabalha em conjunto com o gerente de de projeto.
É o profissional responsável por implementar o sistema. E, obviamente, deve ter domínio da linguagem de programação proposta para a o sistema. Normalmente existem diversos programadores cooperando em um mesmo projeto. É comum a confusão entre as tarefas de um analista de sistemas e um programador. Entretanto, existem diferenças bastante significantes nas funções de cada um. Enquanto o analista participa de todo o processo de desenvolvimento do software, o programador preocupasse somente com a parte tecnológica do sistema. Dentro do ambiente profissional é comum programadores serem promovidos a analista de sistemas.
O cliente também é um componente fundamental no processo de desenvolvimento de um software. Podemos observar dois tipos distintos de clientes, o contratante e o usuário. Em alguns casos o mesmo cliente pode assumir o mesmo papel, isto dependera do tamanho da empresa. Em empresas grandes o contratante normalmente, é um membro da diretoria que solicita o software, enquanto o usuário é o subordinado que utilizará o software para desempenhar sua função na empresa.
Há casos, onde não haverá clientes específicos. Isto ocorrerá quando o software for projetado não para uma empresa em particular, mas para venda em mercado. Neste caso o cliente final será alvo da equipe de marketing.
Os avaliadores de qualidade asseguram que o software tenha as especificações propostas no projeto. Deste modo avaliam confiabilidade e desempenho, dentre outros fatores relevantes para o sistema.
É extremamente importante conhecer o mundo que abrange o desenvolvimento de um sistema. Principalmente para estudantes da área. Sendo assim, é possível ter uma ideia do que esperar no mercado de trabalho e focar em um objetivo.
via: Bezerra, Eduardo. Princípios da análise e projeto de sistemas. Editora Campus. 2006.