Revista InfoBrasil Especial - Junho/Agosto 2009
Qualidade para Desenvolvedores e
Prestadores de Serviço no Software
Público Brasileiro
ARTIGOS CIENTÍFICOS
Clenio F. Salviano, Alessandra Zoucas e Christiane Zim Zapelini, CTI.
O Modelo de Qualidade do Software Público Brasileiro tem
como objetivo gerar conhecimento, utilizando as melhores
práticas nos seguintes vetores de ação: arcabouço estrutural
do ecossistema do software público brasileiro,
interoperabilidade dos produtos de software produzidos,
qualidade dos produtos de software, qualidade do processo
de desenvolvimento de software, qualidade da prestação de
serviços, testes de qualidade e disseminação e sustentação
do ecossistema.
Um dos propósitos dos vetores de qualidade (5CQualiBR) é
melhorar a qualidade na produção de soluções,
contribuindo para a melhoria das empresas (especialmente
pequenas e médias) e da indústria de software brasileira,
promovendo uma dinâmica de construção de
Conhecimentos associados à Tecnologia da Informação e
Comunicação (TIC), tendo como premissas a Cooperação e o
Compartilhamento de informações e idéias utilizando a
Comunidade como meio para o desenvolvimento do
projeto. A sustentação dessa dinâmica é a Confiança entre os
participantes e a confiança nos resultados dessa interação
coletiva.
Entre os vários atores que fazem o SPB, estão os
desenvolvedores de software, os prestadores de serviço, os
demandantes de soluções e os usuários das soluções. Dois
dos vetores de qualidade são apresentados neste artigo:
Qualidade para Desenvolvedores e Qualidade para
Prestadores de Serviço.
Como podemos contribuir para que a qualidade venha a
emergir nas ações e soluções do SPB de tal forma que o SPB
cause o impacto necessário na indústria de software
brasileira, considerando a oferta e a demanda de soluções
intensivas em software? Estes dois vetores propõem um
caminho, juntamente e em harmonia com os outros vetores.
Este caminho passa pela identificação e compartilhamento
de melhores práticas.
24
O objetivo dos dois vetores tratados neste artigo é identificar
e consolidar, com a comunidade, melhores práticas para
desenvolvimento de uma solução e melhores práticas para
prestadores de serviço no SPB e representá-las como um ou
mais modelos de capacidade de processo.
Alguns conceitos importantes
Alguns conceitos mais importantes serão apresentados
brevemente a seguir. A expressão melhores práticas é
derivada do inglês "best practices" e denomina práticas
identificadas como as melhores para orientar a realização de
ações que são úteis para a maioria dos casos e existe um
consenso sobre sua efetividade. Existem três categorias
básicas de melhores práticas geralmente aceitas,
especializadas e avançadas. Geralmente aceitas são aquelas
práticas tradicionalmente estabelecidas e recomendadas por
muitas organizações. Especializadas são aquelas práticas
utilizadas apenas para determinados tipos de software.
Avançadas são práticas inovadoras testadas e utilizadas
somente por algumas organizações e conceitos ainda sendo
desenvolvidos e testados em organizações de pesquisa. Dado
a natureza inovadora do SPB, serão identificadas melhores
práticas das três categorias.
Modelos de Capacidade de Processo são repositórios de
melhores práticas a serem utilizadas como referência para a
melhoria ou avaliação de processos. Processos são o que as
pessoas fazem para atingir um determinado objetivo. Por
exemplo, o que as pessoas de uma certa comunidade fizeram
para compartilhar e discutir objetivos comuns e com isto
orientar a evolução de uma determinada solução é o processo.
Para guiar as pessoas de modo a realizar melhor um
determinado processo intensivo em software, a área de
Melhoria de Processo de Software (MPS) sugere a utilização de
modelos de melhores práticas como referência para o
estabelecimento do processo a ser utilizado.
A importância do processo para a qualidade tem sido
evidenciada pela comunidade de software. Alfonso Fuggetta,
por exemplo, ao concluir uma breve visão geral da história e
resultados da pesquisa em processo de software reconheceu
que “a utilização de processos para tratar a inerente
complexidade de software ganhou força a partir dos anos
1980” e enfatizou que “a visão do desenvolvimento de
software como um processo tem ajudado significativamente
a identificação das diferentes dimensões do desenvolvimento
de software e os problemas que devem ser tratados para
estabelecer práticas efetivas.” Ainda segundo Fuggetta, “nós
temos de prestar atenção na complexa interpelação de
numerosos fatores organizacionais, culturais, tecnológicos e
econômicos [do desenvolvimento de software].”
O que já foi feito
Cada vez que uma mudança significativa ocorre no contexto
da produção de software, devemos reavaliar as melhores
práticas correntes. Quais delas continuam válidas, e mais
importante, quais delas continuam sendo significativas e
quais são os ajustes necessários, se necessários. E mais
importante ainda é a identificação de novas melhores
práticas, que estão emergindo das atuações com sucesso
dos diversos atores deste novo contexto.
O SPB está induzindo uma mudança significativa no
contexto da produção de software. Produção em um sentido
mais amplo, incluindo não apenas o desenvolvimento de
software, mas também a utilização, geração de
conhecimento, distribuição de riquezas e demanda por
soluções intensivas em software.
Alguns cuidados devem ser tomados neste caminho. Entre
eles, utilizar métodos apropriados e já experimentados com
sucesso para guiar o caminhar e sempre identificar fontes
apropriadas de melhores práticas. Desta forma duas ações
estão sendo desenvolvidas atualmente como primeira etapa
para este caminhar.
Uma ação é a consolidação de um método. Com base na
experiência e metodologia do CTI, foi consolidado um
método para identificação de um conjunto de melhores
práticas e para representação deste conjunto como um
modelo de capacidade de processo. A proposta deste
método e orientações para sua utilização no SPB estão
descritas em um relatório técnico do projeto SPB e em um
artigo técnico aceito para publicação e apresentação na
conferência européia de melhoria e inovação de processo de
software e sistemas a ser realizada no segundo semestre
deste ano.
Outra ação é a identificação de fontes para a busca de
melhores práticas. A principal fonte é composta pelas
experiências da comunidade do SPB. Como a
interdisciplinaridade é a tônica do projeto SPB, podemos
identificar como complemento as experiências e modelos de
melhores práticas das comunidades de software livre, das
metodologias ágeis, de pensamento sistêmico, de sistemas
emergentes, de trabalhadores do conhecimento, da
engenharia de software, da engenharia de sistemas, dos
prestadores de serviço e outros. Como fontes mais
específicas podemos citar as experiências do Centro de
Excelência do Software Livre da USP, as propostas de Peter
Drucker para os processos do trabalhador do conhecimento,
as propostas de Peter Senge - as organizações que aprendem
(Learning Organization), as propostas da Wikinomics, os
modelos de capacidade de processo do CMMI para
desenvolvimento e para serviços (CMMI-DEV e CMMI-SVC), os
modelos da ISO/IEC 15504, e a iniciativa de Melhoria de
Processo de Software Brasileiro (MPS.BR), os modelos de
capacidade de processo para contratantes e fornecedores de
serviços (eSCM-SP e eSCM-CL), o modelo COMPETISOFT para
pequenas empresas da comunidade ibero-americana.
É importante ressaltar que o objetivo não é adaptar os
modelos de capacidade de processo de desenvolvimento e
de serviços já existentes para o SPB, mas sim desenvolver com
a comunidade e a partir de experiências da comunidade (de
baixo para cima, da prática para a sistematização) um ou mais
modelos para a realidade do SPB, utilizando, quando
apropriado, também práticas destes outros modelos e de
outras comunidades, com a tecnologia e experiência do CTI e
de outros em desenvolvimento de modelos para outros
domínios, e respaldado pelo sucesso da utilização destes
modelos para a melhoria e avaliação dos processos.
Um pouco de história
Entendemos que as ações realizadas para a construção,
evolução, disseminação e sustentabilidade do modelo CMM
e dos modelos sucessores do CMM oferecem um caminho
interessante para o SPB. As experiências e metodologias do
CTI, parceiros e outros grupos na identificação e
consolidação de melhores práticas de diferentes contextos
em modelos de capacidade de processo, nos orientam a
identificar as melhores práticas como um dos meios para o
SPB.
Um pouco de história é sempre importante. Por volta de
1980, a comunidade de software estava envolvida com a
chamada crise de software. Outra forma de caracterizar a
crise de software é pela necessidade continua de buscar
condições para emergir a qualidade na produção de
software. Conforme mencionado por outros autores,
“enquanto Fred Brooks nos avisava que não haveria uma
única solução 'bala de prata' (silver bullet) para as
dificuldades essenciais do desenvolvimento de software,
Watts Humphrey e outros no Software Engineering Institute
(SEI) estavam ocupados colocando idéias que viriam a ser o
modelo CMM.” A partir de uma análise das poucas
organizações de software que funcionavam bem, segundo o
paradigma de produção de software da época, um conjunto
de melhores práticas emergiu e foi organizado no modelo
CMM em níveis crescentes de maturidade. A Norma ISO/IEC
15504 consolidou, a partir de um consenso da comunidade
da área, os principais conceitos para modelos de capacidade
de processo. Em outra experiência realizada no final dos anos
90, para o contexto de produção de software em empresas
da Internet, emergiram melhores práticas que foram
organizadas em níveis crescentes de cooperação. Para o SPB,
já percebemos que esta sequência em níveis crescentes de
cooperação, acrescida das dimensões de compartilhamento,
conhecimento, comunidade e confiança (os “5 Cs”) e
integrada com o conceito de maturidade organizará de
forma mais eficiente as melhores práticas do SPB.
ARTIGOS CIENTÍFICOS
SPB muda o contexto
25
Download

Qualidade para Desenvolvedores e Prestadores de Serviço no SPB