• Nenhum resultado encontrado

2.2 GESTÃO ESTRATÉGICA EM EMPRESAS DESENVOLVEDORAS DE

2.2.4 Gestão por Processos em Empresas desenvolvedoras de software

A gestão por processos mostra-se adequada para empresas de desenvolvimento de software cuja atividade é essencialmente baseada em processos e cujos produtos são de natureza intangível (GONÇALVES, 2000 b; FIORINI, 1998). Para Ferreira, Moreira e Trindade (2008) a gestão por processos é um modelo de gestão orientado para a qualidade, pois os processos percorrem atividades e procedimentos previamente definidos com o objetivo de servir de guia, de como e o que deve ser realizado, para atingir o objetivo desejado. Assim, caso os recursos estejam adequadamente planejados e os processos requeridos sejam atendidos em sua totalidade, pode-se inferir que os resultados esperados têm maior possibilidade de serem alcançados (DE SORDI, 2005; ROCHA et al, 2001).

Um processo define quem faz o que, quando e como realizar atividades para alcançar um determinado fim (PRESSMAN, 2006). Já um processo de desenvolvimento de software é um conjunto de atividades inter-relacionadas cujos resultados geram um produto de software

(SOMMERVILLE, 2007). Watts Humphrey (1990) cita que as mesmas técnicas da manufatura podem ser usadas na Engenharia de software (ES). Porém, Sommerville (2007) não concorda, pois a relação que existe entre processo e produto na manufatura não é a mesma quando o produto é de natureza intangível e dependente de processos intelectuais. Para Rocha et al. (2001) a definição e a utilização de processos de software envolve uma relação complexa de fatores organizacionais, culturais, tecnológicos e econômicos.

A Engenharia de software (ES) se destina a dar suporte a uma forma sistemática e econômica de produzir software’s melhores e mais confiáveis (PRESSMAN, 2006). A ES estabelece o uso de três elementos fundamentais: procedimentos, métodos e ferramentas (PRESSMAN, 2006). Para o autor, a forma como esses elementos interagem é que leva a definição dos diferentes processos nas empresas. Os processos de software são um conjunto de métodos, ferramentas e pessoas, que devem funcionar de forma integrada (ROCHA et al., 2001).

Lister (1997) apresenta o Triângulo Mágico da Força de Desenvolvimento de software, na Figura 4. Para o autor, os vértices do triângulo são formados por áreas que interagem constantemente e são responsáveis pelos resultados alcançados. Os vértices são processo, tecnologia (ferramentas) e pessoas, sendo que qualquer falha em algum deles se manifestará em falhas nos projetos de software. A fim de verificar essa influência, pode-se tomar o seguinte exemplo, a falta de um processo de definição de escopo para um projeto de software, pode levar a deficiências na definição de qual tecnologia (ferramentas) é mais adequada para atender as necessidades do projeto. Por sua vez, a tecnologia selecionada afeta diretamente a definição dos perfis a serem alocados nesse projeto. Portanto, cria-se um ciclo de influência, das três áreas do triângulo para se atingir o objetivo de desenvolver o software. Dessa forma, a existência de um processo de software com qualidade é essencial para que se possa atender a qualidade desejada para os projetos, dentro dos recursos definidos (ROCHA, et al., 2001).

Figura 4- Triângulo Mágico da Força de Desenvolvimento de software Fonte: Lister, 1997

A atividade de desenvolvimento de software é uma atividade extremamente complexa e a falta de processos estruturados para a engenharia de sistemas resulta em atrasos, retrabalhos, e perdas para as empresas (Hoch et al.,2000). Torna-se muito difícil definir padrões de qualidade para software, porque é complexo medir a qualidade da saída dos sistemas. Por isso, existe ênfase nos processos, considerando a premissa de que processos bem definidos e documentados levam a um melhor produto (KUBOTA; NOGUEIRA, 2006; HOCH et al., 2000). No próximo tópico será detalhado como a orientação à processos é afetada pela qualidade dos processos.

2.2.4.1 Qualidade em Processos de software

Deming (1986) criou a noção de melhoria de processos na manufatura, que diz que a qualidade do processo de desenvolvimento de produto é crítica para a qualidade do produto (SOMMERVILLE, 2007). O mesmo é corroborado por KAN (2002) ao citar que, a indústria relaciona a qualidade de um produto, aos processos, materiais e técnicas empregados na sua produção. O mesmo conceito de melhoria de processo aplica-se para o desenvolvimento de software, pois ao se ter um processo com qualidade gera-se saídas (produtos e serviços) dotadas da mesma qualidade (SALVIANO, 2003; PAULK et al., 1999).

Para Sommerville (2007), outros aspectos também devem ser levados em consideração já que a qualidade de software não depende de um processo de manufatura, mas de um processo no qual as capacidades individuais humanas são significativas.

Em empresas que desenvolvem produtos de software, a qualidade do produto é afetada por: qualidade do processo, tecnologia de desenvolvimento, capacidade técnica das pessoas, custo, tempo e cronograma (SOMMERVILLE, 2007; FIORINI, 1998). Sendo que a influência de cada um dos fatores depende do tamanho e do tipo do projeto (SOMMERVILLE, 2007; PMI, 2004).

Muitos projetos de desenvolvimento de software falham (STANDISH GROUP, 2006), e tem-se tentado resolver esses problemas através de modelos de melhoria de processo que estejam baseados no Triângulo Mágico da Força de Desenvolvimento de software (SOFTEX, 2009 a).

Paulk et al. (1999) apresentam estudos que demonstram benefícios resultantes de investimentos em melhoria do processo de software, bem como estimativas de retorno sobre o investimento que variam na ordem de 5 para 1 a 8 para 1. Também Barker e Verma (2003) encontraram evidências de que práticas formais de ES resultam em significativa melhora na qualidade e na produtividade. Apesar da implantação de melhoria de processos de software não ser uma iniciativa barata (STAPLES et al., 2007), ele tem se mostrado como uma tendência para empresas desenvolvedoras de software. A obtenção de certificados de qualidade, como o Capability Maturity Model (CMM), e o MPS.BR e a proficiência no gerenciamento de projetos são recursos fundamentais, na busca de qualidade (DE NEGRI; KUBOTA; NOGUEIRA, 2006).

A evolução da qualidade nas empresas de software no Brasil vem sendo medida desde 1983, em estudos bi-anuais, conduzidos pelo MCT/SEPIN no âmbito do PBQP de software, e publicados na Pesquisa Qualidade e Produtividade no Setor de software Brasileiro (MCT, 2001). Esses estudos revelam um crescente aumento nos níveis de conhecimento e na adoção de normas e modelos apropriados à definição, avaliação ou melhoria dos processos de software das organizações, indicando tendência de melhoria contínua na evolução dos indicadores de gestão pela qualidade nas empresas de software no Brasil (WEBER; NASCIMENTO; MARINHO, 2006).

Cabe salientar que, a melhoria de processos não ocorre dissociada da melhoria na maturidade da organização de software. Pelo contrário, ela somente ocorre quando acompanhada de um movimento de melhoria da maturidade da organização (SALVIANO, 2004; CURTIS, 1998; PAULK et al., 1999). Em conjunto com os problemas citados acima, acrescenta-se que a implementação de processos requer um grande esforço e recursos substanciais, tornando-se necessário o emprego de modelos que ofereçam soluções genéricas

para cada processo específico, para que o mesmo possa ser adaptado para a organização (AMESCUA, et al. 2004).

Para realizar uma gestão bem-sucedida na nova economia dominada por ativos intangíveis, é necessário criar novos sistemas de gestão que consigam mensurar o intangível. Empresas desenvolvedoras de software além de aplicarem modelos de gestão estratégica, possuem modelos próprios para gestão e avaliação de seus processos, como o CMM, CMMI, MPS.BR e as normas ISO 15504 e 12207 A seguir serão apresentados esses modelos.