• No results found

The 1968 Election in the Context of Critical Elections

Os participantes deste grupo são servidores públicos da área de Tecnologia da Informação, com mais de cinco anos de experiência na profissão. A Tabela 2 dispõe alguns dados pessoais dos profissionais do grupo focal 1.

Tabela 2: Dados dos participantes do grupo focal 1

Identificação Idade Tempo na profissão Tempo na organização

[G1-P1] 31 anos 10 anos 7 anos [G1-P2] 39 anos 15 anos 15 anos [G1-P3] 27 anos 6 anos 6 anos [G1-P4] 38 anos 20 anos 18 anos [G1-P5] 31 anos 10 anos 8 anos [G1-P6] 55 anos 8 anos 8 anos Fonte: O autor

Para os profissionais, manutenção de software está relacionada, de maneira mais ampla, à continuidade de um sistema. A definição de manutenção se organiza basicamente em torno de dois principais conceitos: “correção de erro” e “evolução” do software. As falas que seguem ilustram o que os participantes responderam ao serem questionados sobre o que os mesmos entendiam por manutenção de software:

[G1-P2] – Eu vejo dois conceitos: um, manutenção em termos de corrigir erros da aplicação, e o outro, manutenção em função de dar continuidade ao produto. Evolução.

[G1-P4] – Qualquer alteração que precise ser feita, por qualquer motivo, é a manutenção desse software.

[G1-P5] – Cuidar para que o software continue vivo, para que ele continue funcional. Seja corrigindo, seja evoluindo a situação dele, melhorando.

As principais causas pelas quais existe manutenção de software também estão relacionadas aos dois elementos encontrados na definição de manutenção: correção e evolução do software. Existe uma impressão que as principais causas para as manutenções corretivas são decorrentes de um desenvolvimento mal feito (falha na construção do software: análise, projeto,

implementação, teste, etc.). Geralmente, as manutenções evolutivas são atribuídas às mudanças das funcionalidades já existentes e ao surgimento de novos requisitos para o software. O entendimento que manutenção de software irá sempre existir também é identificado nas opiniões dos participantes. Dessa forma, a manutenção é vista como uma atividade inevitável, coincidindo assim com o que atesta a primeira lei de evolução do software (LEHMAN, 1980). As razões pelas quais existe manutenção são exemplificadas pelas seguintes falas:

[G1-P2] – Se for correção, a causa pode estar num problema de levantamento. A falta de um levantamento bem feito...

[G1-P6] – Da manutenção corretiva, pode ser porque não fizemos o levantamento das informações corretamente e não soubemos projetar. A manutenção evolutiva é devido às novas necessidades que vão surgindo dos usuários, e a gente tem que acompanhar essa evolução, fazendo novos módulos, implementando novas coisas.

[G1-P4] – A sociedade muda, as leis mudam, e o software muda.

Observando as práticas profissionais, nota-se uma clara diferença de pontos de vistas, considerando os dois principais modelos de trabalho existentes na organização. Os profissionais que trabalham com sistemas legados [G1-P2, G1-P3, G1-P5 e G1-P6] (modelo assim conhecido na organização por seu portfólio abranger os sistemas mais antigos da empresa) não possuem um processo ou uma metodologia para a execução dos serviços de manutenção. Por esse motivo, a visão desses profissionais é que suas atividades são executadas de forma desorganizada e baseadas exclusivamente nos seus conhecimentos e experiências. Já os profissionais que trabalham no modelo de fábrica de software [G1-P1 e G1-P4] sentem-se mais a vontade em dizer que sua rotina de trabalho é planejada, o que torna mais organizadas as atividades de manutenção. A divisão de fábrica de software (assim também conhecida na organização) possui uma equipe exclusiva para manutenções de software.

[G1-P1] – A gente (da fábrica) faz o levantamento, coloca dentro de um cronograma, vê quais são as prioridades do sistema, e aí a gente desenvolve.

[G1-P2] – A gente (do legado), mais ou menos, faz as mesmas coisas, só que na base da experiência. No feeling mesmo...

[G1-P5] – A falta de uma metodologia faz com que a gente “tateie muito no escuro”. Então a gente vai pela nossa experiência.

Os depoimentos relacionados ao modelo de fábrica, os quais sugerem possíveis soluções para a manutenção, são embasados em métodos e processos de desenvolvimento de novos sistemas de software. No entanto, é muito difícil afirmar que tais metodologias sejam, de fato, soluções para os atuais problemas da manutenção, pelo fato das mesmas não se aplicarem aos sistemas que já estão em fase de manutenção (e que ainda existirão por muito tempo!), construídos sem qualquer processo de software. Geralmente, processos de desenvolvimento de software consideram a manutenção como mais um ciclo iterativo e incremental no desenvolvimento do sistema, o que não reflete a realidade para as práticas de manutenção de software.

Outro aspecto relevante encontra-se na natural indisciplina e na imperfeição humana – aparentemente não contemplada pelos rígidos processos de desenvolvimento de software –, a qual pode invalidar toda a garantia, oferecida por tais processos, de uma melhor manutenibilidade dos sistemas de software. Sendo assim, faz-se necessário um estudo mais aprofundado sobre processos de manutenção, pelo qual sejam consideradas características (sujeitas às emoções, por exemplo) mais próximas da natureza humana, tais como complexidade, indisciplina, etc.

Apesar de representar somente cerca de 20% de toda manutenção feita nas organizações (LIENTZ; SWANSON, 1980), a manutenção corretiva – reparo de erros e problemas – parece ser mais enfatizada nos depoimentos dos participantes. As manutenções evolutivas – construção de novas funcionalidades devido a novos requisitos –, de acordo com a literatura (PIGOSKI, 1996), representam cerca de 50% de toda atividade de manutenção, sendo assim a atividade mais praticada na manutenção de software.

No entanto, enquanto que as manutenções evolutivas são muitas vezes consideradas como novos projetos (o que parece não representar uma idéia muito diferente da idéia de estar desenvolvendo novos sistemas), as manutenções corretivas são tratadas de forma crítica e

urgente, significando verdadeiros problemas para os participantes. Isso sugere uma maior visibilidade dada para as manutenções corretivas em detrimento as manutenções evolutivas. Provavelmente, e por esse motivo, acredita-se que manutenção de software ainda é primeiramente vista e entendida como correção de erros (manutenção corretiva). Não pelo fato de, quantitativamente, as correções serem menores que as evoluções – manutenções corretivas existem em um curto período, considerando todo o tempo de vida de um software –, mas sim pela intensidade e importância com as quais são tratadas, as tornando prioritárias em relação às manutenções evolutivas.

[G1-P1] – A tendência mesmo é que a manutenção corretiva seja bem menor. Seja a menor possível.

[G1-P2] – A manutenção evolutiva, se você for ver bem, pode ser um novo projeto. Os depoimentos seguintes exemplificam a criticidade e a urgência com as quais as manutenções corretivas são tratadas. Mesmo no modelo de fábrica de software, onde se planejam melhor as atividades de manutenção, correção de erros e resoluções de problemas são serviços críticos, portanto prioritários:

[G1-P1] – Se for erro, é na hora que tem que ser ajustado. A gente já prioriza, pois aquele erro tem que ser corrigido na hora.

[G1-P2] – Se o sistema parou de funcionar, esse sistema tem prioridade.

[G1-P4] – “O sistema em produção está parado!” A prioridade máxima da fábrica é da equipe de manutenção.

Na natureza do trabalho de manutenção, percebe-se uma contradição quanto aos valores profissionais atribuídos ao papel desempenhado pelo mantenedor de software. Embora o trabalho do mantenedor seja considerado muito importante, valorizado e reconhecido dentro da organização, suas atividades não são desejadas pelos profissionais que lidam com software. As

falas seguintes expressam tal dicotomia, identificada nas opiniões dos participantes quando os mesmos foram solicitados a caracterizar o trabalho do mantenedor:

[G1-P1] – Quem trabalha nas equipes de manutenção preferia estar trabalhando em projetos novos.

[G1-P2] – O trabalho do mantenedor é importante. São os mais importantes!

[G1-P5] – Eu acho que a nossa tarefa, hoje, como desenvolvedor é importante, porque, muitas vezes, o trabalho do usuário só pode ser feito, se aquilo ali (o software) funcionar direito.

[G1-P4] – É uma equipe não desejada por nenhum profissional hoje que trabalha com a gente, na fabrica. Não é que não são valorizados. São profissionais valorizados, até em questão de salários. Mas é uma equipe pouco preterida! Naturalmente, as pessoas não querem ficar lá.

A forma negativa pela qual a manutenção de software é vista, já constatada na literatura (BHATT; SHROFF; MISRA, 2004), também foi encontrada nas opiniões dos participantes. Atividade não-criativa, não-desafiadora e de pouca responsabilidade, com poucas oportunidades de carreira e baixo crescimento profissional são alguns sentidos atribuídos à manutenção de software, como exemplificam as seguintes falas:

[G1-P1] – Quem trabalha nas equipes de manutenção preferia não ficar naquela “mesma coisa”, na mesmice.

[G1-P4] – O que interessa é que sempre se quer desafios. Eles (os mantenedores) querem iniciar coisas novas também.

[G1-P4] – Eu acho que a equipe de manutenção tem menos chance de crescer do que a equipe de projeto. Eu acho que (o mantenedor) é o que tem menos chance! Menos oportunidades...

Além disso, existe uma idéia de que o serviço de manutenção pode ser facilmente assimilado por mantenedores, os tornando, de certa forma, profissionais “descartáveis” pelo serviço que fazem. Isso parece indicar que a importância do conhecimento, embutido nos sistemas e adquirido pelo mantenedor ao longo do tempo, não é percebida pelos participantes do grupo.

[G1-P3] – O ideal seria que a pessoa em si, o mantenedor em si, não fizesse diferença se fosse para “outro canto”.

[G1-P4] – A dependência do desenvolvedor é bem baixa. A saída dele afeta muito menos.

Ao serem solicitados a falar sobre o que a manutenção de software representava para a organização na qual trabalhavam, todos os participantes deram respostas um tanto quanto vagas em relação à pergunta. As opiniões enfatizavam apenas a forma negativa como a área de Tecnologia da Informação, como um todo, era vista dentro da empresa, seja pela a administração ou pelos próprios usuários dos sistemas. Ignorando completamente os fatores que determinam sua importância para uma organização, nenhum participante fez menção ao papel da manutenção em si. Seja como atividade vital e inevitável para os sistemas de software da organização, seja como a área que representa elevados custos, ambos financeiros e pessoais, ou, ainda, seja como critério de sucesso para as estratégias e os negócios empresariais – valores esses encontrados na literatura (LIENTZ, 1983; PARIKH, 1985; LAYZELL; MACAULAY, 1994; BHATT et al., 2006b). Essa visão (ou a própria falta dela) dos próprios profissionais que lidam com a manutenção parece fortalecer a hipótese de que a manutenção é uma atividade pouco percebida e ainda desconhecida dentro das organizações (PARIKH, 1984; BHATT; SHROFF; MISRA, 2004).

[G1-P3] – Eles vêem como um mal a ser evitado. Eles não têm muito conhecimento sobre a área da informática.

[G1-P4] – O pessoal acha que a TI é uma área pouco produtiva, que tudo que se pede demora demais.

[G1-P5] – Eu acho que eles (os usuários) ainda não dão o valor devido à informática...

[G1-P6] – Eles não sabem do valor da informática.

Alguns nomes, encontrados na literatura (PARIKH, 1986a), foram questionados, como sugestões para substituição do termo manutenção. Apesar de um dos profissionais [G1-P2], imediatamente após o questionamento, ter sugerido o termo “sustentação”, a reação dos demais participantes foi achar que não fazia a menor diferença mudar o nome pelo qual a manutenção de software era chamada, se, com isso, não se mudasse também o tipo de serviço feito na manutenção.

[G1-P3] – Não faz a menor diferença.

[G1-P5] – Efeito algum. Você não esta mudando o que você faz e como te vêem. Os profissionais apresentaram o desejo de separar as atividades de correção de erros e evolução, as quais são juntamente classificadas como manutenção de software. Isso parece fortalecer a idéia que o termo manutenção está mais representado por correções e reparos do que por evoluções no software. Haja vista que, em muitos dos depoimentos, evoluções e construções de novas funcionalidades, apesar de serem classificadas como manutenções, ainda que em software existente, são entendidas como novos desenvolvimentos e, às vezes até, como novos projetos.

[G1-P6] – Talvez, na manutenção, seria bom separar o que realmente é correção e o que é evolução. Eu acho diferente a manutenção corretiva da manutenção evolutiva. Fazer uma coisa nova para complementar o sistema é diferente de você sair corrigindo o erro seu, ou de alguém. Eu vejo essa separação...

Apesar da visão dos profissionais em relação à manutenção, como um todo, encontrar-se nos dois conceitos já citados, correção e evolução, alguns depoimentos deixam pistas de que o termo manutenção é mais usado quando se quer falar sobre manutenção corretiva. Isto é, a palavra “manutenção”, embora represente outras atividades, está mais e primeiramente associada à idéia de correção de erro.

[G1-P6] – Tem as coisas novas para fazer, não é? Precisa manter, mas tem as coisas novas para fazer.

[G1-P5] – Por mais que nós tenhamos o desenvolvimento de funcionalidades novas, o sistema, como um todo, é antigo e tem que ser mantido. (novas funcionalidades não são manutenção?)

[G1-P4] – “Sustentação”. “Estou sustentando um software”, não corrigindo um software. Não “fazer manutenção de um software”.