• No results found

The Times They Are a’ Changing: Why Traditional Criteria Might Not be Appropriate

A composição do grupo focal 3 foi por contratados terceirizados da área de Tecnologia da Informação. Os profissionais possuíam menos de cinco anos de experiência na profissão, exceto o participante [G3-P5], o qual tinha sete anos de experiência profissional. A Tabela 4 apresenta os dados dos participantes do grupo focal 3.

Tabela 4: Dados dos participantes do grupo focal 3

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

[G3-P1] 22 anos 3 anos 7 meses [G3-P2] 23 anos 3 anos 3 meses [G3-P3] 24 anos 2 anos 6 meses [G3-P4] 21 anos 1 ano 1 ano [G3-P5] 25 anos 7 anos 5 meses [G3-P6] 21 anos 1 ano 1 ano Fonte: O autor

Os profissionais vêem a manutenção de software, primeiramente e quase que exclusivamente, como a atividade de correção de problemas nos sistemas existentes. A definição de manutenção está fortemente associada ao conceito de “correção de erros”, o que a faz ser entendida não só como um verdadeiro problema, mas também como uma atividade a ser evitada. As falas seguintes expressam o que os participantes entendem por manutenção de software:

[G3-P6] – Correção de falhas, em problemas que o software pode vir a apresentar. O usuário utilizando, identifica as falhas.

[G3-P1] – Eu vejo como problema! Estar corrigindo as falhas! Um termo como “manutenção”, para mim, já até me “assusta”!

[G3-P3] – Manutenção... Eu acho que “problema” seja um bom termo para ela. É um problema!

A idéia da manutenção de software corresponder à correção de erros faz os profissionais acreditarem que maiores investimentos em testes – disciplina encontrada em processos de software na qual os sistemas são avaliados e validados de acordo com seus propósitos – minimizariam as manutenções nos sistemas. Como o termo manutenção é usado pelos participantes de forma genérica, observa-se que o pensamento referente aos testes se estende para todos os tipos de manutenções, o que parece não fazer sentido na prática. As atividades de testes podem minimizar as manutenções corretivas, prevendo erros cometidos durante o desenvolvimento do sistema. No entanto, a prática dos testes parece não influenciar na quantidade de manutenções evolutivas, uma vez que as mesmas não estão relacionadas a erros, e sim a novos requisitos para as aplicações existentes.

[G3-P1] – Eu acho que uma área de manutenção remete bem à área de testes. Se o software tivesse sido bem testado anteriormente, acredito que a manutenção hoje seria bem menor.

Em relação às causas, os participantes apontam um desenvolvimento mal feito como principal motivo para a existência da manutenção de software – esta impressão também foi encontrada nos resultados do G1 e do G2, embora esses dois grupos (G1 e G2), compostos por profissionais mais experientes que os do G3, atribuam também as necessidades de evoluções como outra causa da manutenção de software. Falhas nas fases de criação dos sistemas como, por exemplo, requisitos, análise, projeto e implementação, são responsáveis pelo fato de existir manutenção nos sistemas, além da própria manutenção exercida no software ao longo do tempo.

Isso parece acontecer em razão da imagem da manutenção estar focalizada nas correções de problemas, logo se pensa no mau desenvolvimento como motivo principal da manutenção. As causas da manutenção são explicitadas pelos profissionais nas falas seguintes:

[G3-P5] – Quando o projeto não é bem desenvolvido, causa muita manutenção. Porque o problema está mais no projeto do software.

[G3-P4] – Levantar requisitos é muito difícil. E no momento que você começou errado, vai para frente errado. Vai chegar num ponto que vai precisar de manutenção...

[G3-P2] – Quanto mais manutenção você dá no software, mais problema ele vai ter. E as coisas vão só piorando...

Em determinado trecho da entrevista notou-se que a impressão sobre as causas das manutenções parece ser bastante negativa. Tanto é que, remeter os motivos de haver manutenção às falhas ou aos erros no desenvolvimento fez com que o termo “culpa” fosse usado pelos profissionais:

[G3-P1] – Eu acho que o problema maior é na parte da análise. Não culparia tanto o projeto, culparia mais a análise.

O sentimento que manutenção de software vai sempre existir não está associado às características da mesma como uma atividade importante e inevitável, da qual as evoluções e a própria sobrevivência dos sistemas de software dependem. Diferentemente do que se encontra na literatura (LEHMAN, 1980), para os profissionais, a manutenção de software vai sempre ocorrer porque as falhas vão sempre existir. Dessa forma, reforça-se a idéia que manutenção é primeiramente entendida como correção de erros – ao contrário dos profissionais dos grupos G1 e G2, os profissionais deste grupo (G3) praticamente não relacionam os sentidos de evoluções com a manutenção de software.

[G3-P3] – Manutenção sempre vai existir! Porque sempre vai ter algum problema que não foi verificado. Não vai chegar num momento “Agora está perfeito!” Porque sempre tem alguma falhinha que não foi prevista, que não foi vista ainda...

[G3-P6] – Na manutenção, você consegue gerar algum erro que vai precisar de manutenção. Eu acho que manutenção nunca vai deixar de existir. Não pára. É constante...

Observando as práticas dos profissionais, nota-se que não existe nenhum processo ou método para a realização das atividades de manutenção, o que dificulta o controle e o gerenciamento na área. Apesar de existir um sistema organizacional para atendimento de solicitações de serviços de manutenções, o mesmo é pouco usado pelos usuários, os quais preferem entrar contato, seja por telefone, por email, ou pessoalmente, com os mantenedores. Por conseguinte, assim como pela criticidade e urgência dos serviços de manutenção – e até mesmo pela própria cultura organizacional – muitas das solicitações para manutenções são feitas diretamente pelos usuários para os mantenedores.

[G3-P6] – A gente não tem processo. Chegou email, o primeiro que estiver disponível para “mexer” começa a analisar. A gente não tem planejamento nenhum para fazer a manutenção. Faz a manutenção, e pede para o usuário validar. Se está tudo “ok”, a gente coloca em produção novamente.

[G3-P5] – A maioria das vezes, o usuário liga falando que está dando erro, e eu já resolvo ali, no telefone mesmo. A gente recebe as solicitações diretamente do usuário. [G3-P3] – É só telefone toda hora! O pessoal liga: “Está dando problema em tal lugar.” Nossos usuários já são acostumados, porque eles ligam para a gente.

Nota-se que as correções de erros e falhas são sempre tratadas como críticas, urgentes e, por isso, prioritárias. Por esse motivo, o sentido de correção de problemas é tratado de forma

muito importante, assumindo uma natureza intensa e marcante nas práticas e atividades dos mantenedores.

[G3-P2] – Quando tem um erro, a gente tem que parar tudo que está fazendo para resolver. Urgente!

[G3-P3] – Tem que se “voltar todo” para isso. É tudo meio que no desespero assim. Então, tudo de manutenção, realmente, é de prioridade. Está em produção, é prioridade!

A falta de conhecimento por parte dos usuários, e por parte da organização como um todo, faz com que os prazos determinados para a execução das tarefas de manutenção não sejam suficientes. Por um lado, os mantenedores acreditam não possuir o tempo necessário para realizar suas atividades, e pelo outro lado, os usuários sentem-se prejudicados pela demora que os serviços de manutenção levam para ficarem prontos.

[G3-P3] – O usuário não entende o trabalho que é fazer isso (manutenção). Ele acha que é uma coisa simples...

[G3-P4] – O usuário acha que resolver as coisas demora demais. Às vezes tem problemas urgentes que precisam ser resolvidos na hora...

Como conseqüência dos curtos prazos estipulados, o mantenedor exerce seu trabalho sob pressão e de forma desconfortável. Isso faz com que os profissionais tenham a impressão que não conseguem realizar os seus serviços com boa qualidade. Esse ponto de vista é explicitado pelos profissionais ao caracterizarem o trabalho do mantenedor:

[G3-P1] – Estressante!

[G3-P2] – É difícil você fazer um trabalho com muita qualidade. Você não consegue pensar muito bem no que você vai fazer. O prazo é muito apertado! (A solução) vai funcionar na hora, mas daqui a dois dias vai dar problema, por conta dessa manutenção que foi feita assim...

Para os participantes, a manutenção de software é uma atividade importante e que requer responsabilidade do mantenedor, muito embora essa não seja a visão considerada pelas organizações.

[G3-P1] – (A manutenção) é um trabalho muito importante, de grande responsabilidade, e que as empresas dão pouco valor.

[G3-P2] – (A manutenção) é essencial! Tem que estar constantemente trabalhando para deixar o sistema funcionando. É importante!

A criatividade associada às tarefas do mantenedor não é percebida de forma clara. A habilidade refinada exigida pela natureza das atividades de manutenção é confundida com o aspecto criativo, facilmente identificado no desenvolvimento de novos sistemas. Isso ocorre pelas limitações – pouca liberdade para atuar – que se têm quando se mantém um código, principalmente de um sistema que está em produção, onde os impactos de uma manutenção podem causar sérios problemas e prejuízos para a organização.

[G3-P6] – A criatividade é “meio presa”. Se está em produção, você tem que parar, e resolver aquilo ali de qualquer jeito... Para ontem! Tem que ser criativo!

[G3-P3] – Eu acho que você tem que ser mais criativo ainda (que no desenvolvimento). Porque tem que pensar na única maneira que é possível fazer. A única que pode se encaixar “ali no meio”.

A motivação e a satisfação dos mantenedores são encontradas em dois aspectos: (i) na experiência e no aprendizado obtidos com a manutenção – o que parece ser uma opinião mais

específica a este grupo de profissionais; e (ii) nos desafios pessoais de superar os obstáculos encontrados e de resolver os problemas complexos. Ainda assim, prefere-se trabalhar no desenvolvimento de novos sistemas do que em software já desenvolvido e em manutenção.

[G3-P5] – Eu acho gratificante sim... Principalmente, como tem muitos problemas... Quando a gente resolve. Aprende-se bastante também.

[G3-P6] – Você está com um problema muito chato, e consegue resolver! Para aprender, é bacana!

[G3-P4] – Eu, particularmente, acho mais prazeroso desenvolver “um negócio do zero” do que dar manutenção. Principalmente em “coisa” que não é minha, que não foi eu que desenvolvi.

Apesar de desempenharem um papel importante, os mantenedores, de maneira geral, acham que não são bem vistos dentro da organização, principalmente na visão dos usuários dos sistemas. Por outro lado, na própria área onde trabalham, parecem existir alguns valores positivos atribuídos ao serviço do mantenedor.

[G3-P5] – O nosso gerente dá valor. Mas tem a visão do usuário que não dá nenhum valor para a gente. Não quer nem saber. Para ele você não está fazendo nada...

[G3-P1] – Eu acho que na fábrica, a equipe de manutenção é bem vista. Mas às vezes acontece uma piadinha ou outra, tipo “As pessoas da manutenção são as que menos programam...”, “...são as que menos desenvolvem!”

Assim como as motivações, as possibilidades de crescimento profissional que o cargo de mantenedor proporciona são atribuídas apenas à experiência profissional que os mantenedores adquirem por meio de suas atividades. Em se tratando das oportunidades de carreira, os profissionais não vêem qualquer possibilidade de ascensão, considerando que continuar como mantenedor significa parar ou estagnar na profissão.

[G3-P5] – Cresce muito o nosso nível de programação. Para quem está começando, assim, para aprender... Se um dia eu sair para outro cargo eu vou ter uma base bacana. [G3-P3] – Você ganha experiência para partir para outra coisa. Outro cargo, outro tipo de serviço.

[G3-P6] – Eu acho que ninguém queira ter uma carreira de mantenedor! A carreira para ali. Não tem para onde crescer na área de manutenção.

Em relação aos valores organizacionais atribuídos à manutenção, há uma divergência entre o que a manutenção representa na prática e a forma como a mesma é vista na empresa, isto é, a impressão que se tem sobre suas atividades. Coincidindo com o encontrado na literatura (GLASS, 2006), embora seja uma atividade necessária e importante, a organização – que depende da manutenção para sobreviver – não a vê como um serviço bem executado e que traz retorno, a considerando mais como um problema do que como uma solução. As seguintes falas expressam tanto a importância prática de suas atividades, como a forma negativa que a organização enxerga a manutenção de software:

[G3-P3] – (A manutenção) é que faz tudo funcionar aqui! Eu acho que é uma coisa necessária. Sem manutenção pára tudo, e não tem como funcionar nada. É fundamental!

[G3-P6] – Mas eu acho que a organização vê que a manutenção é devagar. É a questão de visão do usuário... Eles (os usuários) acham de demora.

[G3-P5] – Na visão da empresa é abaixo do esperado.

As políticas organizacionais, as quais parecem valorizar mais a construção de novos sistemas – o que também é visto de maneira geral (GLASS, 2004) –, acabam influenciando negativamente na motivação do mantenedor em seu trabalho. A impressão é que seus serviços

não são representativos e importantes para a empresa, uma vez que os sistemas legados e em manutenção parecem ser descartáveis.

[G3-P3] – A gente está fazendo a manutenção dos sistemas para outras seccionais. Mas vai entrar o projeto que vai ser desenvolvido ainda. Aí a gente fica nesse impasse “Trabalho numa coisa que vai durar, sei lá, menos que um ano?”

[G3-P4] – Um sistema que a gente levou quatro meses para desenvolver, que vai ficar um ano em produção, e vai entrar outro sistema... Você até fica sem motivação para fazer um negócio desses! Você vai trabalhar quatro meses, todos os dias fazendo o negócio, para ficar um ano em produção, para depois “jogar no lixo”...

Quando questionados se a mudança do termo “manutenção” – por outros sugeridos na literatura (PARIKH, 1986a) – influenciaria na forma pela qual a atividade era vista, os mantenedores foram enfáticos em dizer que tal mudança não surtiria efeito algum. Para os profissionais, a simples mudança do nome, sem qualquer alteração nas características dos serviços de manutenção não faria diferença. No entanto, a idéia de uma separação por tipos de manutenção causou uma boa impressão, principalmente pelas conseqüências disso nas práticas e nas atividades de manutenção de software.

[G3-P4] – Se tivesse uma aplicação prática para isso... Separar, por exemplo, manutenção corretiva de manutenção evolutiva. “Não vai ser manutenção. Vai ser correção e evolução.” Aí sim, é uma melhoria. Agora, simplesmente mudar o nome, não adianta nada! Acho que não faz diferença...

[G3-P6] – Fazer essa separação, realmente... Manutenção corretiva: fazer correção. Manutenção evolutiva: melhorar o sistema. Só mudar o nome, e continuar fazendo os dois, a mesma coisa, não tem diferença nenhuma. É a mesma coisa...