Sei sulla pagina 1di 78

GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

SRIE ABNT NBR ISO/IEC 29110

FICHA CATALOGRFICA
Documento elaborado no mbito do Convnio ABNT/SEBRAE, destinado s micro e pequenas empresas.


A849g Associao Brasileira de Normas Tcnicas Guia de implementao: Desenvolvimento de softwares para pequenas organizaes [recurso eletrnico] / Associao Brasileira de Normas Tcnicas, Servio Brasileiro de Apoio s Micro e Pequenas Empresas. Rio de Janeiro: ABNT; SEBRAE, 2012. 69 p.: il.color. Modo de acesso: http://portalmpe.abnt.org.br/bibliotecadearquivos/. ISBN 978-85-07-03956-3. 1. Engenharia de software. 2. Normalizao tcnica I. Ttulo. II. Servio Brasileiro de Apoio s Micro e Pequenas Empresas CDU:006:004.41(083)

Copyright 2012. Associao Brasileira de Normas Tcnicas Copyright 2012. Servio Brasileiro de Apoio s Micro e Pequenas Empresas Conteudista tcnica: Gisele Villas Boas

SEBRAE
Roberto Simes Presidente do Conselho Deliberativo Nacional Luiz Eduardo Pereira Barretto Filho Diretor-Presidente do Sebrae Nacional Jos Cludio dos Santos Diretor de Administrao e Finanas do Sebrae Nacional Carlos Alberto dos Santos Diretor Tcnico do Sebrae Nacional Enio Duarte Pinto Gerente da Unidade de Acesso Inovao e Tecnologia Glucia Zoldan Gerente Adjunta da Unidade de Acesso Inovao e Tecnologia
EQUIPE TCNICA

ABNT
Pedro Buzatto Costa Presidente do Conselho Deliberativo Walter Luiz Lapietra Vice-Presidente do Conselho Deliberativo Ricardo Rodrigues Fragoso Diretor Geral Carlos Santos Amorim Junior Diretor de Relaes Externas Eugenio Guilherme Tolstoy De Simone Diretor Tcnico Odilo Baptista Teixeira Diretor Adjunto de Negcios
EQUIPE TCNICA

Maria de Lourdes da Silva Analista tcnica Gestora do Convnio ABNT/SEBRAE Hulda Oliveira Giesbrecht Analista Tcnica Gestora da ao de desenvolvimento dos Guias de Implantao de Normas

Janana da Silva Mendona Gerente de Editorao e Acervo Coordenao geral Marcia Cristina de Oliveira Gerente de Planejamento e Projetos Apoio tcnico Anderson Correia Soares Assistente Tcnico da Gerncia de Editorao e Acervo Apoio tcnico

GUIA DE IMPLEMENTAO SUMRIO

SUMRIO
Introduo ...........................................................................................................................7 Objetivos ............................................................................................................................1 0 Parte I - Contexto de aplicao e estrutura da srie ISO/IEC 29110 .......................12 1. O contexto de aplicao da srie ISO/IEC 29110 ..............................................................12 1.1 A indstria de software ......................................................................................................12 1.2 A crise do software continua? ..........................................................................................13 1.3 A qualidade do produto pela qualidade do processo ............................................16 2. VSE (VERY SMALL ENTITIES) e a srie ISO/IEC 29110 ......................................................17 2.1 VSE (VERY SMALL ENTITIES) ..............................................................................................17 2.2 ISO/IEC 29110: uma srie de normas e guias para pequenas organizaes ..17 3. Grupo de perfil genrico ............................................................................................................1 8 3.1 Os perfis do grupo de perfil genrico.................................................................................1 9 3.2 Estrutura bsica da srie e seus perfis ................................................................................19 3.3 Os documentos da srie ..........................................................................................................20 3.3.1. Netcenters e pacotes de implementao (deployment packages - dp) ............23 Parte II - implementao do perfil bsico para melhorar o processo de desenvolvimento de software .............................................................................24 4. Melhorando um processo de desenvolvimento de software .......................................24 5. Implementando o perfil bsico - ABNT NBR ISO/IEC 29110-4-1.................................26 5.1 Os processos do perfil bsico ..........................................................................................27 5.2 Os requisitos da ABNT NBR ISO/IEC 29110 ...............................................................28 5.3 Os cuidados na hora de decidir melhorar os processos.........................................33 6. Metodologia para implementao do perfil bsico.........................................................36 6.1 FASE 1 DIAGNSTICO ....................................................................................................37 6.1.1 Identificao das caractersticas iniciais ...................................................................37 6.1.2 Realizao do diagnstico inicial ................................................................................38

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | SUMRIO

GUIA DE IMPLEMENTAO

6.2 FASE 2 PREPARAO ......................................................................................................39 6.2.1 Planejamento do projeto de implementao .......................................................39 6.2.2 Identificao e anlise de riscos .................................................................................40 6.2.3 Comprometimento e comunicao..........................................................................41 6.2.4 Capacitao da equipe ..................................................................................................41 6.3 FASE 3 EXECUO ............................................................................................................43 6.3.1 Implementao de melhoria de processos ............................................................43 6.3.2 Desenvolvimento dos projetos: o processo produtivo ......................................49 a) planejando o projeto ............................................................................................................51 b) execuo do plano de projeto ..........................................................................................53 c) avaliao e controle de projeto .........................................................................................54 d) encerramento do projeto....................................................................................................55 e) iniciao da implementao do software .....................................................................55 f ) anlise dos requisitos do software ...................................................................................56 g) projeto de arquitetura e detalhamento do software ................................................57 h) construo do software .......................................................................................................59 i) integrao e testes do software .........................................................................................60 j) entrega do produto ................................................................................................................61 6.3.3 Acompanhamento da aderncia dos projetos aos processos...........................62 6.3.4 Identificao das no conformidades e oportunidades de melhoria.............62 6.4 FASE 4 MELHORIA ............................................................................................................63 6.4.1 Realizao de auditorias (internas e externas) .......................................................63 6.4.2 Tratamento das no conformidades ..........................................................................63 ANEXOS ANEXO A ........................................................................................................................................64 ANEXO B.........................................................................................................................................6 7 ANEXO C ........................................................................................................................................70

REFERNCIAS ....................................................................................................................................75

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | SUMRIO

GUIA DE IMPLEMENTAO SUMRIO


5

GUIA DE IMPLEMENTAO SUMRIO

SUMRIO
NDICE DE FIGURAS Figura 1 - Evoluo do mercado 2004 - 2010 (total) .............................................................12 Figura 2 - Evoluo do mercado 2004 - 2010 (por setor) ....................................................13 Figura 3 - Camadas da Engenharia de Software ....................................................................14 Figura 4 - A evoluo do software ...............................................................................................15 Figura 5 - Relacionamento entre os elementos de perfil e os grupos de perfis .........18 Figura 6 - Estrutura da srie ISO/IEC 29110 ..............................................................................19 Figura 7 - Agrupamento dos documentos da srie, por aplicao .................................20 Figura 8 - Interao entre os processos do perfil bsico .....................................................27 Figura 9 - Elementos dos processos da ABNT NBR ISO/IEC 29110...................................28 Figura 10 - Lgica de implementao do perfil bsico da srie ISO/IEC 29110..........32 Figura 11 - Aplicao do ciclo PDCA na implementao de melhoria de processos33 Figura 12 - Modelo para implementao de melhoria de processos .............................36 Figura 13 - Modelo cascata ............................................................................................................44 Figura 14 - Modelo de prototipagem (adaptado de Pressman, 2010) ...........................45 Figura 15 - Modelo incremental (adaptado de Pressman, 2010) .....................................46 Figura 16 - Processo unificado (adaptado de Pressman, 2010) ........................................47 Figura 17 - Ciclo de processo baseado no mtodo SCRUM ...............................................47 Figura 18 Processo Extreme Programming (Adaptado de Pressman, 2010) ..............48 Figura 19 - Inter-relacionamentos no contexto de uma VSE .............................................50 Figura 20 - Elementos de um perfil internacional normalizado .......................................65

NDICE DE TABELAS Tabela 1 - Grupos de perfis e perfis ............................................................................................18 Tabela 2 - Documentos normativos............................................................................................21 Tabela 3 - Srie ISO/IEC 29110, suas partes, categorias e pblicos-alvo........................22 Tabela 4 - Requisitos obrigatrios do perfil bsico Processo PM..................................30 Tabela 5 - Requisitos obrigatrios do perfil bsico Processo SI ....................................31 Tabela 6 - Exemplo de contedo de um pacote de implementao..............................69

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | SUMRIO

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

A histria tem indicado que modelos convencionais [de processos de desenvolvimento de software] tm trazido certa dose de estrutura til para o trabalho de engenharia de software e tm fornecido um roteiro razoavelmente efetivo para as equipes de desenvolvimento. No entanto, o trabalho de engenharia de software e o produto que ele produz permanecem no limite do caos. Nogueira, J., Jones, C. e Luqi

Garantir a qualidade do que produzido sabidamente um fator crtico de sucesso no negcio das pequenas empresas. Mais que isso, necessrio ter padres de qualidade equiparveis aos padres internacionais. A srie ISO/IEC 29110 um instrumento que pode propiciar s micro e pequenas empresas (MPE) desenvolvedoras de produtos e servios de software ter um processo produtivo de maior qualidade e, com isso, aumentar a satisfao dos seus clientes, sua competitividade e sua capacidade de acessar novos mercados. Segundo pesquisa apresentada pelo Observatrio SOFTEX, das quase 70 mil empresas que compem a Indstria Brasileira de Software e Servios de TI (IBSS), 97,3% so classificadas como MPE com at 19 pessoas em sua fora de trabalho. Por outro lado, para o contexto de TI, alguns estudos e pesquisas, entre eles o relatrio apresentado em 2005 pela Organization for Economic Co-operation and Development (OECD), indicam que a maioria das Normas Internacionais e modelos de referncia no contempla as necessidades das pequenas organizaes. Questionadas sobre o tema, as MPE relataram dificuldades no alinhamento entre as normas e seus objetivos de negcio e disseram, ainda, apesar de reconhecerem a importncia do uso de normas, no enxergar justificativa para aplicao dessas em suas prticas empresariais. Para as pequenas empresas, que em sua maioria convive com restries financeiras relevantes, alm da complexidade, outros fatores tambm colaboram para a no adoo das normas, entre eles: falta de recursos (financeiros e humanos), alto custo e longa durao para os projetos de implantao de melhoria de processos baseados em normas e modelos. Com o objetivo de dirimir estas dificuldades e propiciar ao contexto especfico das micro e pequenas empresas a possibilidade de serem reconhecidas como produtoras de software de alta qualidade em seus domnios, tanto em seus mercados internos quanto no mercado internacional, foi desenvolvida a srie de normas tcnicas ISO/IEC 29110, no mbito do ISO/ IEC JTC1 (Joint Technical Commitee 1 Comit conjunto da ISO e da IEC para a tecnologia da informao). A ISO a Organizao Internacional de Normalizao (International Organization for Standardization) e a IEC a Comisso Eletrotcnica Internacional (International Electrotechnical Commission), o organismo internacional para a rea eletroeletrnica. Estes organismos internacionais de normalizao esto organizados em Comits Tcnicos e constituram alguns Comits conjuntos, sendo o JTC 1 um deles. Estes Comits Tcnicos so organizados em Subcomits, que tratam da normalizao de reas ou temas especficos. Os trabalhos tcnicos so desenvolvidos em Grupos de Trabalho, os WG (working groups), que se subordinam aos Subcomits ou ao prprio Comit. Um dos Subcomits do JTC 1 o SC7 Software and Systems Engineering (Subcomit de Engenharia de Software e Sistemas), e no mbito do SC7 que est constitudo o WG 24, res-

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | INTRODUO

GUIA DE IMPLEMENTAO
7

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

INTRODUO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

ponsvel pelo desenvolvimento das normas de engenharia de software para micro e pequenas organizaes. Desde a criao do WG 24, em 2005, era consenso e prioritrio que as normas e guias produzidos pudessem ser usados por uma VSE (Very Small Entity) para, de fato, ajud-las a evoluir seu processo produtivo como um ato de melhoria contnua que, por consequncia, resultasse no aumento da garantia de qualidade de seus produtos e servios. Pretende-se, alis, que as normas da srie ISO/IEC 29110 sejam utilizadas para certificao de maneira a propiciar ao mercado um instrumento concreto e confivel para promover o uso do software produzido pelas VSE. O fato de se tratar de uma Norma Internacional pode, de fato, contribuir para facilitar o acesso das MPE ao mercado, tanto no mbito nacional quanto no mbito internacional. O WG24, que tem o Brasil como um dos pases participantes, tem em seu escopo: i. ii. desenvolver normas acessveis s VSE (Very Small Entities); prover documentao que exija um mnimo de adaptao;

iii. prover documentao harmonizada com as normas existentes, considerando: processos padronizados, produtos de trabalho e entregveis, avaliao e qualidade, modelagem e ferramentas.

Em uma de suas primeiras atividades, o WG24 realizou um levantamento com as VSE de vrios pases, com o intuito de identificar uma srie de caractersticas que afetam o contedo, a natureza e a extenso de suas atividades. Esto entre elas: dedicao principal no projeto (design) e/ou codificao do software de pequeno porte; falta de experincia significativa no desenvolvimento de grandes projetos e, por consequncia, dificuldades em atrair clientes entre as grandes empresas (ou mesmo que os atraiam esto sempre na iminncia de perd-los); muitas vezes, boa parte do pessoal envolvido com a implementao de software relativamente inexperiente; o foco dos projetos direcionado para a codificao e falta disciplina nas tarefas de desenvolvimento como um todo; faltam ativos de processo;

GUIA DE IMPLEMENTAO

acesso limitado a emprstimos e investimentos; viso de curto prazo, cerca de seis meses, de modo que os benefcios de longo prazo da adoo de um ciclo de vida slido e disciplinado acabam sendo relegados; falta de credibilidade por no possuir credenciais (certificaes, selos etc.) ou referncias importantes de clientes anteriores; imposio por parte do cliente do seu prprio processo de desenvolvimento.

Dadas as caractersticas anteriores, a pesquisa coletou dados sobre o problema de adoo de normas e apontou algumas importantes concluses. Entre elas: as caractersticas das VSE recomendam o uso de ciclos de vida leves e bem focados na sua atuao; contextos especficos de negcio requerem processos compatveis com eles; a disponibilidade de recursos e infraestrutura significativamente diferente entre uma

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | INTRODUO

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

as VSE esto limitadas tanto em tempo disponvel como em recursos, o que as impede de investir na adoo de normas que lhes tragam benefcios; a obteno de um reconhecimento ou certificao por avaliao formal feita por um organismo acreditado um importante benefcio para as VSE.

Visando contemplar as caractersticas e concluses anteriores, foi iniciado, em 2006, o desenvolvimento da srie ISO/IEC 29110, tomando por base um subconjunto das normas ISO/ IEC relevantes para o contexto das pequenas empresas de TIC e para o desenvolvimento dos perfis e guias de implementao que possibilitam a essas empresas a adoo de uma Norma Internacional e a obteno de uma certificao que possa traduzir para o mercado a qualidade de seu processo produtivo. A Comisso de Estudo da ABNT de Engenharia de Software e Sistemas - Perfis de Ciclo de Vida para Micro-Organizaes (CE-21:007.24) espelha os trabalhos do WG24 no Brasil. Em fevereiro de 2012, a ABNT publicou trs partes da srie Engenharia de software Perfis de ciclo de vida para micro-organizaes (VSE): a Parte 2, ABNT NBR ISO/IEC 29110-2:2012, que estabelece a estrutura e taxonomia da srie; a Parte 4-1, ABNT NBR ISO/IEC 29110 4 1:2012, que apresenta as especificaes de perfil para o Grupo Perfil Genrico; e a parte 5-1-2, ABNT ISO/IEC TR 29110-5-1-2:2012, um guia de engenharia e gesto para projetos de desenvolvimento de software.

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | INTRODUO

GUIA DE IMPLEMENTAO
9

Cada uma dessas partes apresentada de forma mais detalhada na primeira parte deste Guia. A parte 4-1 foco deste guia e foi desenvolvida para descrever os elementos mnimos necessrios para que uma VSE desenvolvedora de software construa produtos e servios de software mais confiveis, previamente definidos, com um menor nmero de erros, no menor prazo possvel e dentro dos custos planejados. A parte 4-1, ABNT NBR ISO/IEC 29110 4-1:2012, compe a srie ISO/IEC 29110.

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

VSE que possua, por exemplo, at 10 colaboradores em sua fora de trabalho e um departamento de TI em uma organizao maior, com o mesmo nmero de colaboradores;

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

OBJETIVOS
Este Guia tem dois objetivos especficos. O primeiro apresentar um entendimento global e consolidado quanto ao conjunto de documentos da srie ISO/IEC 29110 Engenharia de Software Perfis de Ciclo de Vida para VSE (Very Small Entities). O segundo objetivo deste Guia orientar as VSE ou pequenas entidades desenvolvedoras de software sobre como implementar um projeto de melhoria dos processos de Gesto de Projetos e Implementao de Software, atendendo aos requisitos descritos na ABNT NBR ISO/IEC 29110-4-1:2012. Deste modo, este Guia no deve substituir nenhuma das partes da srie ISO/IEC 29110, mas sim ser usado em conjunto com elas. Para melhor alcanar os objetivos pretendidos, o corpo principal deste Guia foi dividido em duas partes. A primeira parte, Parte I - Contexto de aplicao e estrutura da srie ISO/IEC 29110, apresenta a contextualizao da indstria de software, a definio de alguns conceitos que serviram de base para o desenvolvimento dos documentos da srie ISO/IEC 29110 e as caractersticas que indicam que uma organizao pode ser classificada como uma VSE. Ainda nesta parte so apresentadas a estrutura lgica da srie e a descrio sumria de cada uma de suas partes. A segunda parte deste Guia, Parte II Implementando o perfil bsico da srie ISO/IEC 29110, prope um mtodo de implementao dos processos de Gesto de projetos e implementao de software e apresenta algumas discusses entre o estado da arte e a comunidade de prtica e suas inter-relaes com os processos preconizados na ABNT NBR ISO/IEC 29110-4-1:2012 e seus requisitos mandatrios e opcionais. Sabe-se que o processo de produo de software est sujeito aos impactos causados pela evoluo quase contnua das ferramentas e metodologias que apoiam a sua execuo. Portanto, importante destacar que o mtodo de implementao proposto neste Guia, assim como as orientaes prticas nele contidas, no tm a pretenso de ser a nica ou a mais apropriada abordagem para atender aos requisitos da ABNT NBR ISO/IEC 29110-4-1:2012. Uma VSE, ao usar este Guia, deve faz-lo em conjunto com os outros documentos da srie ISO/IEC 29110 e, principalmente, deve observar as informaes inerentes ao seu prprio contexto. Peculiaridades contratuais com os clientes, critrios estratgicos da organizao ou dos projetos, nveis de conhecimento da equipe, comprometimento das partes interessadas e tecnologias disponveis so alguns exemplos de fatores que devem ser considerados. Espera-se que a aplicao deste Guia em conjunto com os documentos da srie ISO/IEC 29110 possibilite que os gestores de pequenas empresas desenvolvedoras de software respondam positivamente as seguintes perguntas: Sei o que est sendo feito e por qu? Posso garantir que cada membro da minha equipe tem o mesmo entendimento do que est sendo feito? Tenho controle sobre a integrao do que dois ou mais desenvolvedores produzem? Posso desenvolver um produto dentro do prazo e do oramento estabelecidos? Posso garantir que o software produzido, tecnicamente, faz o que deveria fazer?

GUIA DE IMPLEMENTAO

10

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | OBJETIVOS

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

Quando as mudanas ocorrem e sei que elas ocorrem estou preparado para conhecer os seus impactos e para incorpor-las ao trabalho da forma adequada? Sei o ponto exato em que o meu projeto de desenvolvimento encerrado e passa a ser um projeto de manuteno de produto? Estou pronto para um aumento de demanda de clientes e produtos? Respostas positivas s perguntas anteriores podem aumentar a segurana do atendimento aos requisitos dos clientes, a conformidade dos processos aos requisitos da norma e a construo mais rpida de produtos e servios cada vez melhores. Deste modo, alm de proporcionar uma certificao que pode ter reconhecimento internacional e facilitar o acesso ao mercado externo, a adoo da srie ISO/IEC 29110 por uma VSE pode propiciar outros benefcios, como, por exemplo, o estabelecimento de processos internos de gesto e implementao de software adequados ao seu contexto, aumento da confiana e satisfao dos clientes, maior qualidade do produto ou servio de software, aumento de patrocnio para a melhoria de processos e diminuio dos riscos de desenvolvimento. esperado, portanto, que a adoo da srie ISO/IEC 29110 favorea o crescimento das MPE desenvolvedoras de produtos e servios de software, o fortalecimento econmico da indstria de TIC e, por consequncia, do Pas.

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | OBJETIVOS

GUIA DE IMPLEMENTAO
11

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

Posso garantir que o software produzido faz o que o cliente quer que ele faa?

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

PARTE I - CONTEXTO DE APLICAO E ESTRUTURA DA SRIE ISO/IEC 29110


Na sociedade moderna, o papel da engenharia [de software] fornecer sistemas e produtos que melhoram os aspectos da vida humana, tornando assim a vida mais fcil, mais segura e mais agradvel. Richard Farley e Mary Willshire

1. O CONTEXTO DE APLICAO DA SRIE ISO/IEC 29110


1.1 A indstria de software O fenmeno do avano tecnolgico ciclicamente revoluciona a humanidade e, nas ltimas dcadas, tem-se acelerado e apresentado um crescimento vertiginoso. Com ele vem a reboque o crescimento tambm significativo da indstria de software que, praticamente inexistente na dcada de 70, hoje movimenta um mercado mundial de U$ 884,5 bilhes de dlares. Mais de 8.500 empresas exploram atualmente o mercado de software no Brasil, que assumiu, em 2011, a 10 posio mundial no ranking de software e servios, alcanando um patamar de U$ 21,4 bilhes de dlares. Desse total de empresas atuantes no mercado brasileiro de software, 94% so classificadas como micro e pequenas empresas (MPE). A figura 1 apresenta os indicadores de mercado e a evoluo do setor de software e servio no pas que, excluindo-se o baixo resultado de 2009, vem refletindo taxas de crescimento superiores a 20% ao ano.

GUIA DE IMPLEMENTAO

Figura 1 - Evoluo do mercado 2004 - 2010 (total)

No subsetor especfico de software, o Brasil produziu, em 1990, cerca de U$ 230 milhes de dlares, ficando em sexto lugar no mercado mundial de computadores e servios de informtica.

12

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE I

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

A figura 2 traz indicadores que apresentam a evoluo do mercado de software e servios de forma segmentada. Nela possvel observar que a participao especfica do desenvolvimento e produo de software (programas de computador standard e sob encomenda) movimentou, em 2010, U$ 5,51 bilhes de dlares, alcanando um percentual de 35% de participao no mercado nacional e enfatizando a tendncia de crescimento apontada desde 2004. A demanda por novos produtos e servios da indstria de TIC grande e tende a aumentar ainda mais. A expectativa que este crescimento exponencial continue por um bom tempo, proporcionando quela indstria o surgimento de novos mercados relacionados e novas empresas propondo-se a atend-los.

Servios (U$ Bilhes) Softwares (U$ Bilhes)

Figura 2 - Evoluo do mercado 2004 - 2010 (por setor)

1.2 A crise do software continua? A evoluo tecnolgica provocou verdadeiras revolues no processo produtivo de algumas indstrias, como, por exemplo, nas comunicaes e na medicina, entretanto, no alcana resultados de to grande destaque quando se trata de uma das indstrias na qual ela prpria protagonista: a indstria de software. Nos idos dos anos 60, quando a frase the software crisis foi pronunciada pela primeira vez, o processo de criao, construo e manuteno de software era considerado uma arte. Problemas como baixa qualidade, requisitos no atendidos e estouro de prazo e custo eram atribudos desestruturao de seus desenvolvedores, que no seguiam padres nem regras de implementao. Os projetos de desenvolvimento de software apresentavam, naquela ocasio, uma grande dificuldade na sua gesto e manuteno. E isto acontecia em uma poca em que a indstria de hardware corria a pleno vapor e demandava

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE I

GUIA DE IMPLEMENTAO
13

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

Daquela poca at os dias atuais, a produo de software tem estado cada dia mais presente nos produtos e servios que consumimos. Nas transaes bancrias pessoais que fazemos no nosso dia a dia, no uso dos sistemas administrativos implantados nas nossas empresas, nos aparelhos mveis que usamos para simples comunicaes telefnicas ou para acessar as redes sociais que nos ligam a amigos, quer estejam prximos quer estejam do outro lado do mundo, e em outras tantas aes que realizamos, esto l presentes produtos e servios produzidos pela indstria de TIC.

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

sistemas cada vez mais complexos, seguros e eficientes. Chega-se ento concluso de que as causas da crise do software estavam ligadas complexidade do seu processo de desenvolvimento e relativa imaturidade da engenharia de software como profisso. Este panorama marca o incio da Engenharia de Software, que nasceu como disciplina, com a finalidade de auxiliar a indstria para que a construo do software ocorresse de forma mais adequada. Em 1982, o software j ultrapassava o hardware como chave para o sucesso de muitos sistemas baseados em computador. Roger Pressman, puxando uma corrente de outros grandes autores da rea, define e apresenta conceitos que esclarecem por que a criao, construo e manuteno de software deveriam deixar de ser considerados arte e passar a ser enxergados como Cincia. Friedrich Ludwig Bauer definiu Engenharia de Software como a criao e a utilizao de slidos princpios de engenharia, a fim de obter software de maneira econmica, que seja confivel e que trabalhe de forma eficiente em mquinas reais. Teramos, em vez do artista movido pela inspirao e talento, engenheiros orientados por mtodos e guias. A Engenharia de Software apresentada por Pressman como uma tecnologia em camadas. Na figura 3 vemos que qualquer abordagem de engenharia deve ser apoiada em um compromisso organizacional com a qualidade. A camada de processo o alicerce da engenharia de software. ela que ir manter unidas as camadas de mtodos e ferramentas, de modo a permitir um desenvolvimento de software racional.

FOCO NA QUALIDADE

PROCESSOS

GUIA DE IMPLEMENTAO

MTODOS

FERRAMENTAS

Figura 3 - Camadas da engenharia de software (Adaptado de Roger Pressman, 6a edio)

Talvez um dos grandes desafios da Engenharia de Software seja, ainda, alinhar esta expectativa de utilizao dos tais princpios slidos de engenharia, conforme dito por Bauer, com as necessidades que emergem e exigem que o desenvolvimento de software reinvente-se e renove-se em ciclos muito curtos para atender s demandas da evoluo tecnolgica e, ao mesmo tempo, s necessidades de mercado. A figura 4 mostra a evoluo do software e destaca os principais aspectos em cada uma de suas eras.

14

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE I

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

PRIMEIROS ANOS sistemas batch


distribuio limitada software personalizado

A SEGUNDA ERA sistemas multiusurios


sistemas em tempo real banco de dados software produto

A TERCEIRA ERA
sistemas distribudos incorporao de inteligncia hardware de baixo custo impacto do consumidor

A QUARTA ERA
sistemas desktop poderosos tecnologia de orientao a objetos sistemas especialistas redes neurais comunicao intergalctica

A QUINTA ERA netbooks


Web 2.0 servios Web computao em nuvens

1950

1960

1970

1980

1990

2000

2010

Figura 4 - A evoluo do software

Atualmente falamos de internet, de computao em nuvem, de desenvolvimento distribudo e de engenharia de componentes, entre outras coisas. Alm disso, temos normas que definem diretrizes e requisitos sobre o que deve ser feito em centenas de especialidades diferentes. Como as normas essencialmente no descrevem o como, para cumprir esta tarefa existem outras tantas dezenas de guias, padres, modelos de referncia, metodologias e boas prticas que buscam entregar s empresas o caminho do sucesso para a melhoria contnua e o alcance da alta maturidade no desenvolvimento de software. Contudo, os bons resultados preconizados por esses instrumentos no so, ainda, uma realidade relevante para a indstria brasileira de software. Passadas mais de cinco dcadas da crise do software, continuamos com alguns dos mesmos problemas identificados naquela poca. Entre eles esto: Precariedade nas previses e planejamentos - os projetos de software atrasam e sofrem problemas de custo por falta de planejamento e controle porque no se prev adequadamente quanto tempo e esforo sero necessrios para produzi-los de maneira que satisfaa as necessidades (requisitos) dos seus clientes. Baixa qualidade de processos e produtos a falta de planejamento e de previsibilidade leva a prazos estourados e a produtos de software que por vezes no atendem s necessidades do cliente ou atendem s necessidades que no foram solicitadas originalmente. Requisitos mal definidos - os requisitos frequentemente no so especificados e, quando o so, ou no esto completos ou apresentam contradies. A garantia de qualidade neste cenrio uma tarefa de tentativa e sorte. Alto custo para manuteno o que foi produzido no foi bem especificado e tampouco bem documentado; a manuteno corretiva - quando ocorrem erros ou falhas difcil de ser identificada. Normalmente isto acontece j em fase de implementao, onde se tem que contabilizar no s o custo do retrabalho, como tambm o custo de todo o esforo que foi gasto em vo. As manutenes evolutivas, embora sejam novas caractersticas adicionadas ao sistema, tambm podem ter o seu custo onerado quando se trata de um produto de baixa qualidade, carente de especificaes e documentaes. No incomum manutenes tornarem-se inviveis devido s grandes dificuldades e aos altos custos de implementao.

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE I

GUIA DE IMPLEMENTAO
15

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

Parte dos problemas apontados anteriormente pode ser atribuda, ainda, gesto deficiente ou inadequada dos projetos. Para se obter sucesso no desenvolvimento de software, necessrio, alm de competncia da equipe tcnica, uma viso gerencial competente. Em uma indstria cuja base formada por mais de 90% de MPE, vale destacar que pequenas empresas de desenvolvimento no podem se dar ao direito de no ter qualidade. Isto significa dizer que elas no devem gastar os seus recursos - humanos, financeiros e estratgicos - em retrabalho, erros e estimativas incorretas. Muito mais importante do que adotar determinada norma, metodologia ou modelo ter a conscincia de que preciso desenvolver produtos de software mais confiveis, previamente definidos, com um menor nmero de erros, desenvolvidos no menor prazo possvel e dentro dos custos planejados. necessrio conhecer os pontos fracos e fortes do produto desenvolvido ou do servio prestado para que seja possvel identificar esses pontos no processo de desenvolvimento e trat-los adequadamente com aes que minimizem seus impactos negativos e potencializem as chances de atender s metas estabelecidas para o projeto.

1.3 A qualidade do produto pela qualidade do processo Diferentemente do que ocorre com a manufatura de produtos tangveis, onde normalmente simples definir parmetros para testar e atestar a qualidade de um produto, no desenvolvimento de software atestar a qualidade real de um produto ou servio no uma tarefa to trivial. Por outro lado, ter qualidade nos produtos e servios de software primordial para empresas que querem se tornar lucrativas e competitivas, ou seja, necessrio que as empresas aumentem sua capacidade de produzir mais rpido e a um custo menor. Para as empresas de software, alcanar esta competitividade pela qualidade implica tanto na melhoria da qualidade dos seus produtos e servios correlatos, como na dos seus processos de produo e distribuio. A qualidade de um produto de software est fortemente relacionada com a qualidade do processo de produo seguido por quem o desenvolve. Quando ainda no se tem um produto, o seu processo de desenvolvimento dever conferir a capacidade de satisfazer as necessidades do cliente final. Entendido que a qualidade do software produzido ponto preponderante para a competitividade das empresas e que para assegurar-se tal qualidade deve-se garantir a qualidade de seu processo de desenvolvimento, passou-se ento a criar e estabelecer normas, padres, tcnicas organizacionais e modelos de referncia para implementao de bons processos de desenvolvimento de software. Nesse contexto, as normas internacionais na rea de engenharia de software indicam as boas prticas, mtodos reconhecidamente eficazes e processos slidos, testados e confiveis. Entretanto, essas normas e padres, em sua maioria, so desenvolvidos por e para grandes empresas, colocando-se, assim, fora do alcance das pequenas organizaes, que no dispem de meios para estudar e entender o contedo das normas, tampouco de recursos para implement-las. Foi para tratar esse problema que, em 2005, foi criado o WG24, Working Group nomeado Engenharia de Software Perfis de Ciclo de Vida para Micro-Organizaes, que tem, entre outros objetivos, o de desenvolver normas acessveis s VSE (Very Small Entities ou Micro-Organizaes), criando perfis e provendo orientaes para o atendimento aos requisitos das normas de engenharia de software da ISO.

GUIA DE IMPLEMENTAO

16

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE I

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

2. VSE (VERY SMALL ENTITIES) E A SRIE ISO/IEC 29110


Uma das caractersticas primordiais das normas e guias que compem a srie ISO/ IEC 29110, desenvolvidas no escopo do WG24, que eles destinam-se e devem ser acessveis s pequenas organizaes que tm em seu processo produtivo atividades relacionadas s reas de Engenharia de Software. Para identificar essas pequenas organizaes nesse contexto, criou-se a denominao VSE - very small entity.

2.1 VSE (very small entities) Uma VSE definida como uma entidade engajada em atividades de implementao de software, independentemente da sua atividade-fim ou de sua forma jurdica. Uma entidade (VSE) pode ser uma organizao (registrada ou no), um grupo, um departamento ou mesmo um projeto dentro de uma organizao. Uma organizao pode significar uma parceria independente ou organizao vinculada a uma terceira, tendo at 25 pessoas envolvidas direta (gerentes, desenvolvedores, analistas, testadores) ou indiretamente (gestores administrativos, equipe de suporte, equipe comercial etc.) com um projeto de implementao de software.

2.2 ISO/IEC 29110: Uma srie de normas e guias para pequenas organizaes A srie ISO/IEC 29110 Engenharia de Software Perfis de Ciclo de Vida para Micro-Organizaes tem como pblico-alvo as micro-organizaes e as VSE (very small entities). Seu propsito maior fazer com que essas organizaes alcancem seus objetivos de qualidade, sem, necessariamente, ter que demandar projetos de longo prazo e altos investimentos para adoo das normas relevantes ao seu contexto. Trata-se de um conjunto de perfis desenvolvidos para atender a uma demanda de normalizao para o contexto das pequenas organizaes cujas atividades esto relacionadas com a rea de engenharia de software. Os processos de ciclo de vida descritos na ISO/IEC 29110, entretanto, no tm inteno de restringir ou desencorajar seu uso em organizaes maiores. Podem ser usados pelas VSE tanto ao adquirir e utilizar um sistema de software, quanto ao cri-lo e/ ou fornec-lo para uma terceira parte. Tais processos podem ser aplicados a qualquer nvel na estrutura de um sistema de software e a qualquer estgio no ciclo de vida, e no tm inteno de impedir ou desestimular o uso de processos adicionais que as VSE considerem teis. A estratgia de desenvolvimento de normas e guias para VSE compondo perfis est detalhada no Anexo A deste Guia.

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE I

GUIA DE IMPLEMENTAO
17

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

3. GRUPO DE PERFIL GENRICO


Primeiro grupo de perfil definido, o grupo de perfil genrico tem por objetivo atender s organizaes desenvolvedoras de software e, conforme demonstra a tabela 1, composto por quatro perfis internacionais normalizados, os perfis VSE: perfil de entrada, perfil bsico, perfil intermedirio e perfil avanado, onde esto distribudos os elementos que permeiam o ciclo de vida de desenvolvimento de software.
GRUPO DE PERFIS PERFIS Entrada Genrico (desenvolvimento de software) Intermedirio Avanado Tabela 1 - Grupos de perfis e perfis Bsico

O grupo de perfil genrico aplicado ao contexto de desenvolvimento de software no crtico e no integrado a outros sistemas, e foi selecionado como primeiro grupo de perfil a ser desenvolvido na srie ISO/IEC 29110, visto o reconhecimento de que esse contexto abrange a maior parte das VSE desenvolvedoras de software. A figura 5 demonstra o relacionamento entre os elementos de um perfil internacional normalizado, onde podem ser destacados os perfis VSE do grupo de perfil genrico.

ISO 12207

ISO 15289

ISO 15288

ISO 9001

GUIA DE IMPLEMENTAO

Perfis VSE Perfil de entrada Perfil bsico Perfil intermedirio Perfil avanado

Perfis VSE Perfil de entrada Perfil bsico Perfil intermedirio Perfil avanado

Grupo de perfil genrico


(desenvolvimento de software genrico}

Grupo de perfil SE
(desenvolvimento de software e sistemas integrado)

Figura 5 - Relacionamento entre os elementos de perfil e os grupos de perfis

18

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE I

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

3.1 Os perfis do grupo de perfil genrico O grupo de perfil genrico possui quarto perfis: entrada, bsico, intermedirio e avanado. O desenvolvimento dos perfis de entrada, intermedirio e avanado est em discusso no foro do JTC1/SC7 da ISO/IEC, por isso estes no sero contemplados neste Guia. O primeiro perfil internacional normalizado desenvolvido e j publicado (em ingls, portugus e espanhol), perfil bsico do grupo de perfil genrico, contempla todo ciclo de vida para o desenvolvimento e manuteno do tipo mais comum de software. Est definido na parte 4-1 da srie, ABNT NBR ISO/IEC 29110-4-1:2012, e tem na parte 5-1-2, ABNT ISO/IEC TR 29110 5 1 2:2012 um guia de apoio implantao. Suas principais normas de base so a ISO/IEC 12207, adotada no Brasil como ABNT NBR ISO/IEC 12207:2009, Engenharia de sistemas e software Processos de ciclo de vida de software, e a ISO/IEC 15289:2006, Systems and software engineering Content of systems and software life cycle process information products (Documentation). Alm destas, em alguns pontos, a srie busca tambm o alinhamento com a ABNT NBR ISO 9001. A implementao do perfil bsico do grupo de perfil genrico ser tratada na Parte II deste Guia Implementando o perfil bsico para melhorar o processo de desenvolvimento de software. 3.2 Estrutura bsica da srie e seus perfis Alm da viso de organizao por grupos de perfis e perfis, a estrutura da srie ISO/IEC 29110 pode ser observada, ainda, pela composio de seus mltiplos documentos com diferentes finalidades e pblicos-alvo. A figura 6 apresenta a estrutura bsica da srie e indica o perfil bsico (grupo de perfil genrico) j publicado e a organizao de seus documentos.
29110-1 Overview (TR 29110-1) 29110-1 Perfis (Profiles) Frameworks e taxonomia (ISP 29110-2) Especificao dos perfis VSE (ISP 29110-4)
BASIC PROFILE ISP 29110-4-1 Especif. p/ grupo Especif. p/ grupo m Especif. para grupo n

29110-1 Guias Guia de avaliao (TR 29110-3) Guia de gesto e engenharia (29110-5)
BASIC PROFILE ISP 29110-5-1 Especif. p/ grupo Especif. p/ grupo m Guia para grupo n

Figura 6 - Estrutura da srie ISO/IEC 29110

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE I

GUIA DE IMPLEMENTAO
19

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

A figura 5 apresenta tambm a estrutura do grupo de perfil SE System Engineering. O grupo de perfil SE ainda est em desenvolvimento pela ISO (WG24), e o seu propsito atender ao contexto das VSE que desenvolvem software que sero integrados em sistemas outros ou que tero interfaces com hardware, como o caso dos softwares chamados embarcados.

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

TR Technical Report ISP International Standard Profile

3.3 Os documentos da srie Os documentos que compem a srie ISO/IEC 29110 so agrupados em trs diferentes categorias: viso geral, perfis e guias. Os documentos categorizados so tambm organizados por partes. O documento que apresenta a viso geral a parte 1 da srie, um Relatrio Tcnico (TR Technical Report) introdutrio para o conjunto dos outros documentos. Os documentos categorizados como perfis, partes 2 e parte 4 da srie, so perfis internacionais normalizados (ISP Internacional Standardized Profiles) e estabelecem as especificaes tcnicas necessrias para o agrupamento dos vrios elementos de um perfil. Os documentos categorizados como perfis so, ainda, agrupados segundo caractersticas especficas e formam os grupos de perfis (profiles group). Os guias, partes 3 e parte 5 da srie, so tambm Relatrios Tcnicos e neles so estabelecidas diretrizes e orientaes aos seus usurios. Os documentos categorizados como guias e perfis podem conter subpartes dedicadas a grupos especficos de VSE, segundo suas caractersticas. Os documentos da srie ISO/IEC 29110, considerando sua aplicao, podem ainda ser divididos em dois grupos: documentos gerais, aplicveis a todos os grupos de perfis, e documentos especficos, aqueles desenvolvidos especificamente para atender a um perfil especfico. Portanto, entre os documentos atualmente publicados, as partes 1, 2 e 3 so aplicveis a todos os grupos de perfis a serem desenvolvidos, enquanto as partes 4 e 5 so aplicveis apenas ao Grupo de Perfil Genrico (desenvolvimento de software). A figura 7 apresenta a estrutura dos documentos da srie ISO/IEC 29110, segundo sua aplicao.

GUIA DE IMPLEMENTAO

ISO 29110 Conjunto de documentos


Documentos gerais (aplicveis a todos os grupos de perfis)
Parte 2 - Estrutura Parte 3 - Guia (framework) e de avaliao taxonomia de (Technical Report) perfis (Norma)

Documentos para o primeiro grupo de perfil (especfico para um perfil)


Parte 4-1-x Especificaes (Norma) Parte 5-1-x Guia gerencial e engenharia (Technical Report)

Parte 1 - Resumo (Technical Report)

Figura 7 - Agrupamento dos documentos da srie, por aplicao

20

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE I

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

Para melhor entendimento da srie e da aplicao aos documentos apresentados, a tabela 2 apresenta alguns dos principais conceitos e definies relacionados.

CONCEITOS E DEFINIES: DOCUMENTOS NORMATIVOS


Documento, estabelecido por consenso e aprovado por um organismo reconhecido, que fornece, para uso comum e repetitivo, regras, diretrizes ou caractersticas para atividades ou seus resultados, visando a obteno do grau timo de ordem em um dado contexto. [Diretiva ABNT, Parte 2]

NORMA INTERNACIONAL (IS International Standard)

RELATRIO TCNICO (TR Technical Report)

Documento publicado pela ISO ou IEC contendo dados coletados de um tipo diferente daquele normalmente publicado como uma Norma Internacional ou Especificao Tcnica. [Diretiva ABNT, Parte 2]

NORMA-BASE (Base Standard)

Norma aprovada ou Recomendao do Setor de Normalizao das Telecomunicaes da Unio Internacional de Telecomunicaes (ITU-T). [ISO/IEC TR 10000-1]

PERFIL INTERNACIONAL NORMALIZADO (ISP International Standard Profile)

Norma harmonizada, internacionalmente acordada, que descreve um ou mais perfis. [ISO/IEC TR 10000-1]

PERFIL (Profile)

Conjunto de uma ou mais normas-base e/ou perfis e, quando aplicvel, a identificao de classes escolhidas, subconjuntos conformes, opes e parmetros destas normas-base ou perfis normalizados necessrios para realizar uma funo particular. [ISO/IEC TR 10000-1]

Tabela 2 - Documentos normativos

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE I

GUIA DE IMPLEMENTAO
21

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

Na tabela 3 consta uma viso consolidada da srie, a partir da classificao de suas cinco partes. Cada parte pode ser observada quanto sua categoria, sua forma e pblico ao qual se destina. A tabela apresenta, ainda, um breve contexto para o entendimento da aplicao de cada uma dessas partes.

CATEGORIA FORMA
Ttulo: 29110-1 - Viso geral

PBLICO-ALVO E RESUMO

direcionado tanto ao pblico em geral, interessado nestes documentos, como mais especificamente s VSE usurias da srie Viso geral Relatrio Tcnico apresenta todos os principais conceitos necessrios para compreender e utilizar a srie ISO/IEC 29110, incluindo as caractersticas e requisitos de uma VSE; esclarece as razes para definio de perfis especficos, documentos, normas e guias; traz conceitos de processo, ciclo de vida e normalizao esta parte ainda no foi publicada em portugus 29110-2 - Estrutura e taxonomia direcionado aos produtores de normas, ferramentas e metodologias. No se destina s VSE apresenta os conceitos de perfis normalizados de Engenharia de Software para micro-organizaes e especifica os termos comuns ao conjunto de documentos de perfis para VSE. Tambm estabelece a lgica que fundamenta a definio e a aplicao Perfil internacional de perfis de Normas Internacionais e especifica os elementos normalizado comuns a todos os perfis para VSE, bem como a taxonomia dos perfis da ISO/IEC 29110 por taxonomia entende-se o esquema de classificao para referncia no ambgua a perfis ou grupos de perfis [ISO/IEC TR 10000-1] 29110-3 Guia de avaliao define as diretrizes de avaliao de processo e avaliao dos requisitos estabelecidos na parte 4, ABNT NBR ISO/IEC 29110-4-1 Guia Relatrio Tcnico A parte 3 dirigida a pessoas com relao direta com processos de avaliao, como avaliadores e patrocinadores. Pode interessar tambm s VSE que queiram assegurar que foram alcanados os requisitos para realizar uma avaliao esta parte ainda no foi publicada em portugus 29110-4 - Especificao de perfis contm um conjunto de subpartes, cada uma delas enfocando Perfil Internacional um determinado Grupo de Perfis. Um Grupo de Perfis abrange as Normalizado VSE com caractersticas muito semelhantes, e cada perfil dentro do grupo contempla uma caracterstica especfica

Perfil

GUIA DE IMPLEMENTAO

Perfil

Ttulo: 29110-1 - Viso geral dirigido especificamente s VSE e tem o objetivo de orientar o uso da norma e guiar a implementao de cada perfil de cada Grupo de Perfis. Portanto, conter tantas subpartes quantos forem os perfis definidos na parte 4

Guia

Relatrio Tcnico

Tabela 3 - Srie ISO/IEC 29110, suas partes, categorias e pblicos-alvo

22

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE I

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

As anlises dos estudos e pesquisas preliminares realizados pelos pases participantes do grupo de trabalho da ISO apontaram que, para o contexto dos ciclos de vida relacionados engenharia de software, alm do conjunto de normas e guias, so necessrios outros instrumentos que apoiem a realizao eficiente das atividades dos processos relacionados. Neste sentido, decidiu-se pelo desenvolvimento dos instrumentos necessrios para facilitar a implementao e execuo dos processos da srie ISO/IEC 29110. Definidos como pacotes de implementao (deployment packages), esses instrumentos so um importante recurso para beneficiar as VSE na adoo da ABNT NBR ISO/IEC 29110 Ciclo de vida para micro-organizaes (VSE). Um DP (deployment packages) , portanto, um conjunto de artefatos ou uma ferramenta desenvolvida para facilitar a implementao de um conjunto de prticas, de um determinado perfil, em uma VSE. Um DP no um processo, tampouco um requisito normativo. Pode ser caracterizado por uma descrio mais detalhada de atividades, tarefas, papis, produtos, modelos, checklist ou ferramentas que podem ser usados como elementos de apoio para a execuo de um processo aderente srie ISO/IEC 29110. Tais elementos no s facilitaro a compreenso da norma como podem acelerar a implementao, mediante sua adoo integral ou adaptada. Os pacotes de implementao so desenvolvidos e distribudos pelos Network Centers, que so redes de colaborao criadas pelos pases participantes do desenvolvimento da srie ISO/IEC 29110. O Anexo B apresenta as informaes detalhadas sobre a criao e os objetivos dos Network Centers e dos pacotes de implementao j desenvolvidos.

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE I

GUIA DE IMPLEMENTAO
23

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

3.3.1. NetCenters e pacotes de implementao (deployment packages - DP)

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

PARTE II - IMPLEMENTAO DO PERFIL BSICO PARA MELHORAR O


PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
Desde que o software, como todo capital, conhecimento incorporado, e como esse conhecimento est inicialmente disperso, tcito, latente e incompleto na sua totalidade, o desenvolvimento de software um processo de aprendizado social. O processo um dilogo no qual o conhecimento, que deve se transformar em software, reunido e incorporado ao software. O processo fornece interao entre usurios e projetistas, entre usurios e ferramentas em desenvolvimento e entre projetistas e ferramentas em desenvolvimento [tecnologia]. um processo iterativo no qual a prpria ferramenta serve como meio de comunicao, com cada nova rodada de dilogo, explicitando mais conhecimento til do pessoal envolvido. Howard Baetjer Jr. (1998), em PRESSMAN, Roger S., Engenharia de Software (2010)

Na primeira parte deste Guia foram apresentados alguns aspectos da Indstria de Software e a insero das pequenas empresas nesse contexto. Foram tambm apresentados os conceitos gerais da srie ISO/IEC 29110, sua estrutura e seus principais documentos. Essas informaes tiveram um carter introdutrio, visando melhorar o entendimento do campo de aplicao da Norma, seu uso, seus benefcios e relacionamentos com o processo produtivo das empresas desenvolvedoras de software. A segunda parte, entretanto, destina-se s discusses relacionadas com a implementao do perfil bsico da srie e tem como foco a ABNT NBR ISO/IEC 29110-4-1, parte do grupo de perfil genrico. Nela esto definidos os processos de gesto de projetos e implementao de software, que abrangem as principais atividades executadas por uma empresa durante o ciclo de vida de desenvolvimento de software.

GUIA DE IMPLEMENTAO

4. MELHORANDO UM PROCESSO DE DESENVOLVIMENTO DE SOFTWARE


A adoo das normas e guias do perfil bsico Grupo de perfil genrico da srie ISO/IEC 29110 deve servir para guiar uma iniciativa de melhoria dos processos de desenvolvimento de software de uma VSE.

MELHORIA DE PROCESSO Aes tomadas para mudar os processos de uma organizao, de tal modo que, mais efetivamente e/ou eficientemente, eles alcancem os objetivos de negcio da organizao. [ABNT NBR ISO/IEC 15504-1] O desenvolvimento de software um servio que engloba as atividades de identificao das necessidades do cliente, o projeto (design) de uma soluo que as atenda, a construo de um sistema de programas implementando o projeto (design) e sua instalao para uso do cliente.

24

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

PROCESSO o conjunto de atividades inter-relacionadas ou interativas que transforma entradas em sadas. [ABNT NBR ISO 9000]

Um processo uma organizao lgica de pessoas, materiais, energia, equipamentos, informaes e procedimentos em atividades de trabalho orientadas a produzir um determinado resultado final como, por exemplo, um produto de software. Considera-se que a sequncia de atividades ou acontecimentos de um processo pode ou no ser ordenada. Assim, partindo desta premissa, um processo de software um conjunto de atividades realizadas para atingir o objetivo principal de desenvolver ou manter um software, de forma sistematizada ou de forma aleatria.

PROCESSO DE SOFTWARE um arcabouo para as tarefas que so necessrias para construir software de alta qualidade. [Roger Pressman, 2010]

Um processo de software difere da engenharia de software. Enquanto o processo define a abordagem que adotada quando o software elaborado, a engenharia inclui tecnologias que constituem o processo, como, por exemplo, mtodos, tcnicas e ferramentas. Alguns autores entendem que a definio processo de desenvolvimento software aborda aspectos relacionados s atividades de desenvolvimento propriamente ditas, ou seja, anlise de requisitos e de sistemas, projeto (design), implementao e testes, e no incorpora as atividades relacionadas gesto dos projetos de desenvolvimento. Neste guia, seguindo a viso incorporada da ABNT NBR ISO/IEC 29110-4-1, que define os processos de gesto de projetos e implementao de software, seguiremos a definio de processos de software entendendo nela todo ciclo de desenvolvimento de software gesto e implementao. Os conceitos de processos so importantes para dar base ao ciclo de vida de desenvolvimento de software que ser adotado pela organizao.

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
25

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

Pode haver casos em que apenas partes do extenso conjunto de atividades sejam realizadas.

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

5. IMPLEMENTANDO O PERFIL BSICO - ABNT NBR ISO/IEC 29110-4-1


O perfil bsico do grupo de perfil genrico tem por objetivo guiar uma VSE desenvolvedora de software no desenvolvimento e/ou manuteno de seus produtos, bem como no gerenciamento de seus projetos.

GRUPO DE PERFIL GENRICO O grupo de perfil genrico destinado s empresas que desenvolvem software no crticos e que no necessitam de integrao formal com outros sistemas. Entende-se aqui como no crticos os softwares cuja falha no possa causar impactos relacionados segurana ou grandes prejuzos financeiros, ambientais ou sociais. (adaptao ISO/IEC 29110, IEEE 610,12) Trata-se de uma Norma Internacional publicada e adotada como Norma Brasileira, ABNT NBR ISO/IEC 29110-4-1, definida como um Perfil VSE que, por tratar de ciclo de vida de software, basicamente dos processos de gesto de projetos e implementao de software, tem como suas principais normas de base a ISO/IEC 12207, ABNT NBR ISO/IEC 12207:2009, Engenharia de sistemas e software Processos de ciclo de vida de software, e a ISO/IEC 15289:2006, Systems and software engineering Content of systems and software life cycle process information products (Documentation). Alm destas, em alguns pontos, a srie busca tambm conformidade com a ABNT NBR ISO 9001. O subconjunto de processos e resultados das normas de base que compem o Perfil Bsico, conforme visto na Parte I deste Guia, adequado quelas VSE descritas atravs de caractersticas, necessidades e competncias desejveis e que so classificadas em quatro categorias: finanas e recursos; interface com o cliente; processos de negcios internos; e aprendizado e crescimento. Alguns aspectos devem ser observados para a implementao adequada do perfil bsico:

GUIA DE IMPLEMENTAO

Aplicabilidade do perfil bsico: o perfil bsico descreve o desenvolvimento de software de uma nica aplicao por uma equipe de projeto nico, sem riscos especiais ou fatores situacionais. O objetivo do projeto pode ser cumprir um contrato externo ou interno e, no caso de projetos internos, no h necessidade desse contrato entre a equipe do projeto e seu cliente ser explcito. Entradas para o perfil bsico: a fim de se beneficiar do uso do perfil bsico, a VSE deve atender as seguintes condies de entrada: ter um contrato para o projeto ou um acordo com a declarao de escopo ter avaliado a viabilidade do projeto antes do seu incio possuir recursos humanos designados e treinados ter designado o gerente de projeto ter disponveis os recursos materiais, servios e infraestruturas necessrias

26

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

5.1 Os processos do perfil bsico O perfil bsico define-se com dois processos: gerncia de projetos (PM Project Management) e implementao do software (SI Software Implementation). No perfil bsico esperado que, para iniciar o ciclo de vida de desenvolvimento de um projeto de software, a organizao tenha como entrada uma declarao de trabalho definida. Ao final do seu ciclo o projeto ter como sada o software configurado para ser entregue ao cliente. O diagrama representado na figura 8 ilustra a interao entre os dois processos descritos na ABNT NBR ISO/IEC 29110-4-1.

DECLARAO DE TRABALHO

GERNCIA DE PROJETOS

IMPLEMENTAO DE SOFTWARE

CONFIGURAO DE SOFTWARE

Figura 8 - Interao entre os processos do perfil bsico

A descrio de processos da ABNT NBR ISO/IEC 29110-4-1 obedece seguinte estrutura e as seguintes notaes so usadas para identificar os elementos dos processos: Processo identificado por seu nome e por uma sigla de duas letras (exemplo: Gerncia de Projetos, PM); Objetivo do processo identificado por uma sigla composta pelas letras de identificao do processo, seguida por um ponto, pela letra O e uma numerao sequencial (exemplo: PM.O1); Atividade as atividades do processo so identificadas pela sigla do processo, ponto e uma numerao sequencial (exemplo: PM.1); Tarefa as tarefas das atividades so identificadas pela sigla da atividade qual pertence, um ponto e uma numerao sequencial (exemplo: PM.1.1); Entradas das atividades so identificadas pelo respectivo nome (exemplo: Declarao de Trabalho); Sadas das atividades so identificadas pelo respectivo nome (exemplo: Plano de Projeto). A figura 9 mostra o relacionamento e o fluxo de interao entre os elementos dos processos.

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
27

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

Alm da ABNT NBR ISO/IEC 29110-4-1, que contm os requisitos para uma implementao mais eficaz do perfil bsico, importante tomar como base tambm a ABNT NBR ISO/ IEC 29110-5-1 que, apesar de no possuir contedo normativo, traz diretrizes, orientaes e detalhamentos que visam auxiliar o alcance dos requisitos definidos na parte 4.

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

Figura 9 - Elementos dos processos da ABNT NBR ISO/IEC 29110

Cada processo do perfil bsico Grupo de perfil genrico possui um nico propsito: a) Gerncia de projetos (PM Project Management), que tem como propsito estabelecer e manter sistematicamente as tarefas de implementao, visando os objetivos de qualidade esperada, tempo e custo; e b) Implementao do software (SI Software Implementation), que tem como propsito realizar sistematicamente as atividades de anlise, projeto, construo, integrao e testes, para um novo software ou uma modificao, de acordo com os requisitos especificados. Como se v na figura anterior, para cada um desses propsitos estabelecido um conjunto de objetivos especficos. So esses os objetivos do processo. Para alcanar os objetivos do processo so definidas atividades obrigatrias, que recebem produtos de entrada e geram produtos de sada. Os produtos de entrada so gerados por atividades que podem ser intrnsecas ou extrnsecas ao processo e so, portanto, opcionais. Os produtos de sada so gerados pelas atividades realizadas ou pelas tarefas detalhadas de cada uma delas. O perfil bsico define como obrigatrio um conjunto mnimo de produtos de sada. H ainda produtos internos que servem de apoio realizao das atividades e que so, tambm, opcionais. As atividades definidas como obrigatrias para cada processo so descritas no nvel de macroatividades e devem ser executadas por meio de um conjunto de tarefas mais detalhadas. Entretanto, as tarefas descritas no perfil bsico so opcionais. Isto significa dizer que a VSE deve avaliar a adequao do conjunto de tarefas sugerido, podendo optar por segui-las em sua totalidade, em parte ou, ainda, decidir por compor um novo conjunto de tarefas que alcance os resultados esperados pelas atividades obrigatrias.

GUIA DE IMPLEMENTAO

5.2 Os requisitos da ABNT NBR ISO/IEC 29110 Como j descrito no item anterior, a ABNT NBR ISO/IEC 29110-4-1:2012, parte 4 do perfil bsico, foi desenvolvida considerando dois tipos de requisitos normativos:

28

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

Como o prprio nome diz, so elementos obrigatrios e devem, necessariamente, ser implementados para que se obtenha um completo atendimento norma em questo. So requisitos mandatrios: os objetivos dos processos; as atividades descritas; e os produtos de sada gerados pela realizao das atividades.

b) Requisitos mandatrios So representados por um conjunto de elementos por meio dos quais possvel se chegar aos elementos mandatrios. So requisitos opcionais os produtos de entrada para cada atividade e as tarefas detalhadas para cada atividade descrita.

PROJETO Esforo com datas de incio e fim identificadas, empreendido para criar um produto ou servio de acordo com recursos e requisitos especificados. [ABNT NBR ISO/IEC 12207:2009]

ATIVIDADE Conjunto coeso de tarefas de um processo. [ABNT NBR ISO/IEC 12207:2009]

TAREFA Requisito, recomendao ou ao permissvel que visa contribuir para a consecuo de um ou mais resultados de um processo. [ABNT NBR ISO/IEC 12207:2008]

As tabelas 4 e 5 demonstram um resumo dos elementos que esto descritos como requisitos mandatrios na ABNT NBR ISO/IEC 29110-4-1. Os produtos de entrada esto presentes nas tabelas mesmo sendo definidos anteriormente como requisitos opcionais. Isto ocorre para que se tenha viso mais apurada do fluxo que deve ser percorrido para o alcance dos objetivos dos processos e porque os produtos de entrada mencionados como opcionais tornam-se obrigatrios como sadas das atividades.

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
29

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

a) Requisitos mandatrios

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

O PROPSITO DO PROCESSO PM estabelecer e manter sistematicamente as tarefas de implementao, visando os objetivos de qualidade esperada, tempo e custo Produtos de entrada Declarao de trabalho Configurao de software Solicitaes de mudana Produtos de sada Plano do projeto

Objetivos do processo

Atividades

PM.O1 O plano de projeto para a execuo do projeto desenvolvido de acordo com a declarao de trabalho e revisto e aceito pelo cliente. As tarefas e os recursos necessrios para completar o trabalho so dimensionados e estimados. PM.O2 O progresso do projeto monitorado contra o plano de projeto e registrado no registro de status de progresso. Aes corretivas para corrigir os problemas e desvios do plano so tomadas quando as metas do projeto no forem alcanadas. O encerramento do projeto formalizado para obter o aceite do cliente, documentado no registro de aceitao. PM.O3 As solicitaes de mudana so tratadas atravs de sua recepo e anlise. Alteraes nos requisitos de software so avaliadas quanto ao custo, cronograma e impacto tcnico. PM.O4 So mantidas reunies de reviso com a equipe de trabalho e os clientes. As decises so registradas e monitoradas. PM.O5 Os riscos so identificados inicialmente e durante a conduo do projeto. PM.O6 Uma estratgia de controle de verso do software desenvolvida. Itens de configurao de software so identificados, definidos e colocados em baseline. As modificaes e liberaes dos itens so controladas e disponibilizadas ao cliente e equipe de trabalho. O armazenamento, manuseio e entrega dos itens so controlados. PM.O7 A garantia de qualidade de software realizada para assegurar que produtos e processos de trabalho cumprem o plano de projeto e a especificao de requisitos.

Planejamento do projeto

Registro de aceitao

Repositrio de projeto

Registro de reunio Execuo do plano de projeto

Configurao do software

Controle e avaliao do projeto

GUIA DE IMPLEMENTAO

Encerramento do projeto

Tabela 4 - Viso consolidada dos requisitos obrigatrios do perfil bsico Processo PM

30

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

PROPSITO DO PROCESSO SI Realizar sistematicamente as atividades de anlise, projeto, construo, integrao e testes, para um novo software ou uma modificao, de acordo com os requisitos especificados Objetivos do processo Produtos de entrada Atividades Produtos de sada Solicitao de mudana Especificao de requisitos Documentao do usurio do software Anlise dos requisitos do software Resultados de validao Resultados de verificao Projeto do software Projeto de arquitetura e detalhamento do software Casos de teste e procedimentos de teste Registro de rastreabilidade Configurao do software Componentes do software Guia de operao do produto Software Integrao e testes do software Casos de teste e procedimentos de teste Relatrio de teste Documentao de manuteno

SI.O1. Tarefas das atividades so realizadas em cumprimento do plano de projeto. SI.O2. Requisitos de software so definidos, analisados quanto correo e testabilidade, aprovados pelo cliente, colocados em baseline e comunicados. SI.O3. Um projeto de arquitetura e detalha-mento desenvolvido e colocado em baseline. Ele descre- Plano de ve os itens de software e suas interfaces internas e projeto externas. So estabelecidas consistncia e rastreabilidade aos requisitos de software. Especificao de requisitos SI.O4. Os componentes de software definidos pelo projeto so produzidos. Testes unitrios so definidos e realizados para verificar a consistncia Projeto do com os requisitos e com o projeto. estabelecida software rastreabilidade para os requisitos e para o projeto. Registro de SI.O5. Software produzido fazendo a integrao rastreabilidade dos componentes de software e verificado usando casos de teste e procedimentos de teste. Os resultados so registrados no relatrio de teste. Os Componentes defeitos so corrigidos e so estabelecidas consis- do software tncia e rastreabilidade ao projeto do software. DocumentaSI.O6. Uma configurao de software que atende o do usurio especificao de requisitos conforme acordado do software com o cliente, a qual inclui documentaes do usurio, de operao e de manuteno, integrada, colocada em baseline e armazenada no repo- Casos de teste sitrio do projeto. Necessidades de alteraes na e procedimenconfigurao do software so detectadas e as de- tos de teste vidas Solicitaes de mudana so iniciadas. Configurao SI.O7. Tarefas de verificao e validao de todos do software os produtos de trabalho necessrios so realizadas usando critrios definidos para assegurar a consistncia entre produtos de sada e entrada em cada atividade. Defeitos so identificados e corrigidos. Registros so armazena-dos em resultados de verificao/validao.

Iniciao da implemetao do software

Construo do software

Tabela 5 - Viso consolidada dos requisitos obrigatrios do perfil bsico Processo SI

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
31

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

A figura 10 representa a lgica de implementao do perfil bsico e apresenta a relao entre o desenvolvimento de software e a ABNT NBR ISO/IEC 29110-4-1.

Figura 10 - Lgica de implementao do perfil bsico da srie ISO/IEC 29110

Na implementao do perfil bsico, as seguintes consideraes so essenciais: a) alcanar os objetivos dos processos; b) gerar os documentos obrigatrios; c) executar todas as atividades dos processos, tambm obrigatrias. O QUE IMPORTANTE? CONSIDERE!
Na implementao do perfil bsico, assim como de qualquer modelo de processos, deve-se partir do processo em uso na organizao e incluir nele os elementos necessrios para que se alcance a aderncia ao que preconizado na norma. Mesmo no tendo um processo documentado, a organizao seguramente possui algum, por mais informal que seja. importante respeitar esse processo, pois nele que esto inseridos o conhecimento e as boas prticas seguidas pelas pessoas da equipe. Quando em uma tentativa de implementar um processo ideal e completamente novo, desconsidera-se a forma de fazer da organizao, h o risco de maior resistncia s mudanas e menor colaborao com o que h de ser feito. Desconsiderar o contexto de trabalho da organizao um dos fatores que pode levar ao insucesso da real institucionalizao de um processo, por melhor que ele seja. Uma boa implementao do Perfil Bsico ser aquela compreendida por todos os envolvidos como a representao do conjunto de atividades que, de fato, realizada pela organizao para a produo ou manuteno de um produto de software. tambm aquela onde, neste conjunto de atividades, encontram se pontos de controle para tornar o processo produtivo cada vez melhor.

GUIA DE IMPLEMENTAO

A base para um bom processo de desenvolvimento de software deve observar o que j realizado na organizao

32

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

importante destacar que quanto mais ajustada for a integrao entre eles, maior ser a eficincia do desenvolvimento de software. Frequentemente esta integrao relegada na definio dos processos da organizao, sendo tratadas separadamente as duas classes, inclusive porque elas dizem respeito a grupos de interesses separados e s vezes isolados. O mtodo mais difundido para realizar projetos de melhoria de processos o PDCA Plan, Do, Check, Act, proposto por E. Deming. O PDCA consiste na realizao de ciclos nos

Defina objetivos Identifique caractersticas, riscos e recursos para o projeto de implementao de melhorias

Implemente as melhorias no processo (considerando os requisitos estabelecidos) Acompanhe o uso dos processos nos projetos

Plan

Do

Act
Corrija as no conformidades Aplique as melhorias identificadas

Check
Realize auditorias internas e externas Identifique no conformidades e oportunidades de melhorias

5.3 Os cuidados na hora de decidir melhorar os processos Uma estratgia organizacional bem definida e consistente deve considerar que os processos produtivos da organizao devem estar sujeitos a um ciclo de melhoria contnua. No poderia ser diferente, pois os processos, assim como as organizaes, so vivos e esto constantemente em mutao. Estruturas organizacionais mudam, condies ambientais e demandas mudam, e essas mudanas podem impor adequao e ajuste dos processos s novas situaes. A influncia de fatores internos ou externos, positivos ou negativos, tambm atua sobre os processos da organizao e pode, adicionalmente, provocar mudanas relevantes execuo de um processo produtivo, no caso de desenvolvimento de software. Nas organizaes que no promovem a evoluo do seu processo, por mais bem-sucedida que tenha sido a sua implementao original, provvel que ocorra, com o tempo, uma degradao at o ponto de sua inadequao, quando a tendncia de que aquilo que fora prescrito j no seja mais o que est sendo executado.

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
33

Figura 11 - Aplicao do ciclo PDCA na implementao de melhoria de processos

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

Em uma viso simplificada, pode-se dizer que no desenvolvimento de software h duas classes principais de processos: (i) gerenciais ou organizacionais e (ii) tcnicos, diretamente empenhados no desenvolvimento.

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

Outro motivo para equvocos na hora de melhorar processos quanto definio dos objetivos e metas dos projetos de melhoria. Especialmente nos projetos de melhoria de processo baseados em normas certificveis, como o caso da ISO/IEC 29110, onde um dos resultados esperados a obteno de uma certificao reconhecida pelo mercado. Deve-se tomar o cuidado de conduzir o projeto de melhoria pautado em objetivos que representem, de fato, as necessidades de negcio da organizao. A implementao dos requisitos preconizados na norma, buscando alcanar metas reais de melhoria, atrelada adoo das boas prticas difundidas na organizao, certamente, levar a um melhor desempenho do processo. Um processo produtivo de ciclo de vida de desenvolvimento de software implementado e institucionalizado desta forma ter como natural a obteno de suas credenciais de certificao. Nunca demais destacar que os processos implementados e institucionalizados em uma organizao devem representar a essncia da forma como ela trabalha. As iniciativas de implementao de melhoria de processos devem ser conduzidas como um projeto formal dentro da organizao, seguindo os conceitos de gesto de projetos, agregando agilidade e facilidade na organizao e controle deles. Isto significa dizer que estas iniciativas devem ser devidamente planejadas e monitoradas at a sua concluso de suas aes, observando-se variantes como aos recursos, riscos, comprometimento e estratgias.

O QUE IMPORTANTE?

CONSIDERE!

Estabelecer objetivos claros e diretos

Para melhorar um processo necessrio estabelecer um objetivo a ser alcanado e alterar um ou mais componentes do processo-alvo, ou a forma como eles interagem, e avaliar o desempenho resultante, tendo em vista aquele objetivo.

GUIA DE IMPLEMENTAO

Apresentar os benefcios e as vantagens reais da implementao de melhoria de processos pode ajudar a despertar o interesse dos envolvidos. Divulgar a todos os benefcios e vantagens da implementao de melhorias O esforo de conscientizar a alta gerncia dos reais benefcios e vantagens que podem ser obtidos pela melhoria dos processos pode ajudar no direcionamento da implementao para a busca real de melhoria contnua.

Documentao: a primeira recomendao para uma boa iniciativa de melhoria de processos

Todas as organizaes que desenvolvem um produto ou servio tm processos, ou ento no produziriam resultados. Nas pequenas organizaes, geralmente, os processos no esto documentados nem formalizados, ou esto de forma muito superficial e sem rigor. comum, por exemplo, que os profissionais sigam seus processos pessoais fazendo com que diferentes projetos cumpram diferentes processos. Tal ambiente dificulta a implementao de melhorias.

34

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

O QUE IMPORTANTE?

CONSIDERE!

Avalie

Para uma avaliao objetiva preciso ter medidas de desempenho antes e depois da alterao. Na prtica, entretanto, diante da falta de medidas, a avaliao acaba sendo subjetiva em muitos casos. Pequenas organizaes tm dificuldade para definir medidas adequadas e no dispem de tempo para coletar amostras representativas. Um dos aspectos que deve ser considerado ao se avaliar uma melhoria de processo que logo aps uma alterao geralmente ocorre uma resposta positiva, a qual, porm, pode no se sustentar ao longo do tempo.

Processos, diretrizes, atividades, tarefas, produtos de trabalho so alguns dos elementos que devem ser formalizados dentro da organizao. Isto significa dizer que todos devem ter o conhecimento necessrio para us-los quando necessrio. No necessrio, entretanto, e em uma VSE, por suas caractersticas de flexibilidade, torna-se quase proibitivo, que todas as formalizaes sejam obrigatrias. Busque o ponto de equilbrio entre a formalizao e a praticidade Diretrizes, por exemplo, podem servir como orientaes para aplicao dos processos ou como detalhamento de determinadas atividades. Quanto mais formalizada for a base de conhecimento de apoio execuo do processo produtivo, maiores as chances desse conhecimento institucionalizar-se como um ativo da organizao, entretanto deve-se atentar para a consistncia das informaes e, mais ainda, para no permitir que a formalizao se transforme em um ato burocrtico, vazio e sem propsito.

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
35

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

6. METODOLOGIA PARA IMPLEMENTAO DO PERFIL BSICO


Como j visto, uma das formas indicadas para se definir um processo de desenvolvimento de software aderente ISO/IEC 29110, ou para se adequar um processo j definido norma, por meio da conduo de um projeto de implementao de melhorias. Adicionalmente, um projeto desse tipo, assim como qualquer outro, deve ser conduzido observando-se as boas prticas da gesto de projetos e o seguimento de uma metodologia de gesto. Quando o projeto de melhoria conduzido seguindo metodologias de gesto, aumentam as chances de sua evoluo ser acompanhada de forma mais precisa e de seus marcos e metas serem alcanados conforme esperado. A conduo dos projetos de implementao de melhorias deve estar orientada por estratgias organizacionais definidas. Portanto, no basta apenas o planejamento das aes, importante, ainda, que a deciso de melhorar os processos e as aes a serem tomadas durante o projeto de implementao estejam alinhadas com as estratgias e os objetivos de negcio do contexto que se pretende melhorar. A figura 12 apresenta uma metodologia para conduzir um projeto de implementao de melhoria de processos de software e tem por objetivo organizar de uma forma lgica as etapas que devem ser cumpridas.

GUIA DE IMPLEMENTAO

Figura 12 - Modelo para implementao de melhoria de processos

A metodologia est apresentada em quatro fases distintas: diagnstico, preparao, execuo e melhoria.

36

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

Nos itens a seguir apresentado um conjunto de tabelas onde, para cada fase da metodologia descrita, so discutidos alguns aspectos relevantes que devem ser observados durante a conduo de um projeto de implementao de melhoria de processos. Vale destacar que os aspectos apresentados consideram a conformidade com a ABNT NBR ISO/IEC 29110-4-1 e com a aplicao da metodologia de implementao sugerida na figura 12. As tabelas esto distribudas por fase de execuo. Cada fase est estruturada com base nas macroatividades da metodologia apresentada, onde, para cada uma delas, so sugeridos aes e pontos importantes que devem ser observados, quando for o caso.

6.1 FASE 1 Diagnstico

6.1.1 Identificao das caractersticas iniciais


AO OBSERVE

Nesta etapa necessrio garantir o envolvimento de pessoas com autonomia para tomar deciso e com credibilidade perante a equipe. Identificar os envolvidos preliminares O processo tende a assumir a autonomia e a credibilidade daqueles que o definem, portanto um processo que tenha sido definido por algum com baixa autonomia e/ou baixa credibilidade sofrer maior resistncia para sua adoo.

Identificar as caractersticas organizacionais

Identifique os aspectos relacionados ao tamanho da entidade, criticidade dos projetos, peculiaridades de clientes etc.

Identificar o escopo inicial

Defina o escopo desejado onde sero implementadas as melhorias de processos. Salvo situaes especiais, no recomendado iniciar projetos de melhoria em um escopo muito grande ou muito complexo.

A identificao das caractersticas iniciais deve preocupar-se com quem vai definir, o que ser feito e onde ser feito. Nesta etapa o envolvimento de algum da alta gerncia fundamental. Um projeto de melhoria de processos tende a alterar de alguma forma o modo como as pessoas trabalham, sendo de suma importncia que fique claro que a sua execuo uma deciso organizacional e tem o apoio e a vontade da alta direo. Deve-se, tambm, envolver quem ir assumir o papel de gestor do projeto. No obrigatrio que o gestor tenha conhecimento de todas as reas que sero discutidas, entretanto

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
37

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

Propositadamente, no fluxo apresentado no h uma indicao de fim do processo. Isto acontece porque a melhoria de processos de uma organizao deve ser observada como um ato contnuo, onde a cada ciclo busca-se identificar os pontos negativos que devem ser eliminados, aqueles que devem ser melhorados e outros que devem ser reforados como pontos fortes.

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

fundamental que ele saiba identificar as pessoas relevantes ao longo do projeto de implementao de melhorias e que tenha autonomia para envolv-las nos momentos necessrios. O QUE IMPORTANTE? CONSIDERE!

Ter o compromisso da alta gerncia

Quando a alta gerncia est comprometida com o projeto de implementao, o envolvimento das outras partes interessadas mais eficaz.

Os gestores do projeto de implementao devem ter poder real de deciso

Quando os gestores dos projetos de implementao tm poder real de deciso, ou seja, pertencem alta gerncia ou tm a autoridade designada por esta, h mais chances de que sejam tomadas decises efetivas, de modo que os problemas ou desvios que possam ocorrer venham a ser solucionados.

Identificados os envolvidos iniciais do projeto, deve-se definir o escopo que as melhorias iro alcanar. Por tratar-se de uma norma voltada para o contexto especfico de pequenas organizaes (as VSE very small entities), o escopo de trabalho, na maioria das vezes, ser o da organizao desenvolvedora de software como um todo. Entretanto, pode haver o caso de, em uma organizao de maior porte, ter-se contextos variveis como, por exemplo, projetos de diferentes complexidades, equipes com grandes variaes de capacitao, clientes com criticidades mais elevadas etc. Nestes casos, recomendvel que as melhorias sejam implementadas em ciclos, definindo-se como escopo inicial o de menor complexidade, menor criticidade e maior nvel de capacitao. Deve-se atentar, contudo, para que o escopo definido tenha relevncia para a organizao; caso contrrio, pode no ser dada a devida importncia para as aes de melhoria.

GUIA DE IMPLEMENTAO

6.1.2 Realizao do diagnstico inicial


AO OBSERVE Nem sempre os processos esto descritos de uma forma convencional, portanto, necessrio identificar padres isolados ou processos informais que estejam sendo seguidos. recomendado que se observe in loco como as pessoas de fato realizam suas atividades. Identificar os modelos de documentos usados pelas Analisar modelos de documentos e ferraequipes ou mesmo pelas pessoas individualmente. mentas usados para apoiar as atividades da Deve-se observar a operao e as sadas das ferraorganizao mentas de apoio. As entrevistas com os envolvidos devem ser realizadas durante ou aps as anlises dos processos, modelos e ferramentas.

Analisar as descries de processos da organizao, se houver

Realizar entrevistas com alta gerncia, gestores e profissionais indicados

38

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

AO

OBSERVE As observaes devem ser registradas de modo a facilitar a identificao das lacunas para a aderncia norma. Checklists de orientao podem facilitar a anlise das lacunas existentes na execuo das atividades do ciclo de vida de desenvolvimento de software em relao aos requisitos estabelecidos na ISO/ IEC 29110-4-1. recomendado que se definam nveis de criticidade e precedncia das lacunas identificadas, a fim de facilitar a priorizao das aes seguintes. A apresentao dos resultados deve deixar claro o trabalho que deve ser realizado, para que se alcance aderncia norma.

Registrar os dados coletados

Analisar as lacunas existentes entre a execuo das atividades do ciclo de vida de desenvolvimento de software em relao aos requisitos estabelecidos na ISO/IEC 29110-4-1

Apresentao para entendimento geral das lacunas observadas

6.2 FASE 2 Preparao

6.2.1 Planejamento do projeto de implementao


AO Elaborar o plano de implementao com base nas informaes obtidas na fase de diagnstico OBSERVE Quando h o apoio de uma consultoria externa experiente no planejamento do projeto de melhoria, provvel ter um plano mais eficaz. A definio clara dos papis e das responsabilidades de cada um dos envolvidos permite que possveis conflitos ao longo do projeto possam ser minimizados ou evitados. O uso de uma equipe de consultoria externa formada por pessoas com conhecimento terico e experincia de mercado pode trazer novos pontos de vista e maturidade ao projeto, bem como maior agilidade no alcance das metas definidas. A adoo de ferramentas pode ser indutora de acelerao na implementao do processo A integrao das ferramentas de apoio execuo dos processos pode reduzir a quantidade de erros introduzidos por falha humana. O estabelecimento detalhado das atividades que sero realizadas, com seus respectivos prazos, e das responsabilidades de cada uma das partes um indcio de que o projeto alcanar as metas estabelecidas. Estabelecer estimativas realistas de esforo e prazo para realizar as atividades do projeto ajuda a manter as expectativas quanto aos resultados esperados. As estimativas devem considerar o conhecimento e a capacidade de dedicao dos envolvidos.

Identificar os recursos humanos que sero envolvidos ao longo do projeto

Identificar recursos materiais necessrios ao projeto

Elaborar um cronograma macro, identificando os principais pontos de controle

Estimar esforo e prazo para realizar as atividades do projeto

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
39

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

PAPIS RELEVANTES EM UM PROJETO DE IMPLEMENTAO ADERENTE ISO/IEC 29110

COORDENADOR DO PROJETO Aquele que ser responsvel por explorar a possibilidade de conduzir o projeto de implementao junto gerncia da VSE. Deve ser o responsvel tambm por planejar e conduzir projetos-piloto, se for o caso, para a validao da implementao. Este papel pode ser exercido por pessoa externa organizao.

GERNCIA DA VSE Uma pessoa, dentro da VSE, com autoridade para aprovar e alocar os recursos internos necessrios para a conduo do projeto. Deve ter total conhecimento dos benefcios que a adoo da norma pode proporcionar e estar comprometido com o alcance das metas esperadas.

EQUIPE DE ENVOLVIDOS Envolvidos sob a autoridade da gerncia da VSE, que devero ser treinados para participar do projeto.

6.2.2 Identificao e anlise de riscos

GUIA DE IMPLEMENTAO

AO

OBSERVE Subestimar os riscos pode diminuir os benefcios que podem ser alcanados em um projeto de implementao de melhoria de processos.

Identificar os riscos inerentes ao contexto da organizao

A observao de aspectos relacionados capacitao dos envolvidos, autonomia dos gestores do projeto e imposio do ritmo de introduo das mudanas pode auxiliar na identificao de possveis riscos.

Analisar os riscos considerando a aplicao de planos de contingncia e mitigao

Definir um plano de mitigao e contingncia para os riscos identificados maximiza as chances de sucesso do projeto.

40

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

AO

OBSERVE

Formalizar o comprometimento das partes interessadas, em especial da alta gerncia

A presena, a visibilidade e a demonstrao de apoio do patrocinador so um indcio de que o projeto de melhoria alcanar as metas estabelecidas.

A criao de mecanismos que facilitem a publicao e a troca de informaes e experincias livremente, como, por exemplo, wiki ou intranet, pode incentivar a comunicao. Quando h na organizao uma boa comunicaGarantir a boa comunicao, estabelecendo o entre a alta gerncia e os colaboradores, pode meios de comunicao viveis e disponveis haver aumento do envolvimento e da motivao para todos os envolvidos da equipe. Estimular todos os envolvidos a participar da construo e da melhoria dos processos da organizao aumenta o comprometimento para que o processo retrate o dia a dia real da organizao.

Apresentar os benefcios reais que podem ser esperados como resultado do projeto de implementao

Quando os membros da organizao esto conscientes quanto aos benefcios obtidos com a implantao dos processos, h maior facilidade na gerncia do programa de melhoria.

6.2.4 Capacitao da equipe

AO

OBSERVE

Capacitar os envolvidos na ABNT NBR ISO/ IEC 29110-4-1 e nos outros documentos da srie ISO/IEC 29110 relacionados ao perfil bsico Capacitar os envolvidos, quando necessrio, nos conceitos relacionados ao contexto de implementao Capacitar os envolvidos, quando necessrio, nas boas prticas de gesto e engenharia de software Quanto maior a capacitao profissional dos membros da organizao, menor a resistncia s mudanas decorrentes da implementao e da melhoria dos processos.

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
41

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

6.2.3 Comprometimento e comunicao

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

PAPEL X COMPETNCIAS MNIMAS ESPERADAS

ANALISTA Conhecimento e experincia em levantamento, especificao e anlise de requisitos. Conhecimento em projeto de interfaces de usurio. Conhecimento de tcnicas de reviso. Experincia em desenvolvimento e manuteno de software.

PROJETISTA/ARQUITETO Conhecimento e experincia em projeto de arquitetura de componentes de software. Conhecimento de tcnicas de reviso. Conhecimento e experincia em planejamento e execuo de testes de integrao. Experincia em desenvolvimento e manuteno de software.

PROGRAMADOR/DESENVOLVEDOR Conhecimento e/ou experincia em programao, teste unitrio e integrao. Conhecimento de tcnicas de reviso. Experincia em desenvolvimento e manuteno de software.

GUIA DE IMPLEMENTAO

EQUIPE DE TRABALHO Conhecimento e experincia de acordo com suas funes no projeto (lder tcnico, analista, projetista/arquiteto, programador/desenvolvedor). Conhecimento das normas utilizadas pelo cliente e/ou pela VSE.

42

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

6.3.1 Implementao de melhoria de processos Como j dito, a implementao de melhoria nos processos de desenvolvimento de uma organizao deve ser realizada o mais prximo possvel da realidade das atividades executadas por ela. Haver, assim, uma reduo no impacto da mudana cultural para os envolvidos.
AO OBSERVE Descrever, mesmo que em alto nvel, o processo atual da organizao auxilia o estabelecimento das aes de melhoria que devem ser realizadas. Auxilia tambm a alinhar os vrios processos paralelos que podem existir na organizao. As aes que devem ser tomadas para tornar o processo da organizao aderente norma devem ser priorizadas de acordo com os critrios definidos e a ordem de precedncia indicados na fase de diagnstico. Se necessrio, considere realizar as melhorias em ciclos, avaliando e coletando as lies aprendidas ao final de cada um desses ciclos. Garantir que a equipe est capacitada para realizar as atividades definidas no processo aumenta a eficcia dos resultados. Capacitar a equipe no uso do processo ajustado Ferramentas de apoio ao processo devem tambm ser objeto de capacitao. A falta de capacitao para o uso de ferramentas pode diminuir drasticamente a eficincia ou, ainda, levar a erros na execuo do processo.

Identificar o processo atual da organizao

Ajustar o processo de acordo com as necessidades identificadas na fase de diagnstico e com os requisitos da ABNT NBR ISO/IEC 29110-4-1

CICLO DE VIDA Evoluo de um sistema, produto, servio, projeto ou outra entidade, feita por mos humanas, desde a concepo at o descarte. [ABNT NBR ISO/IEC 12207:2008]

Os ciclos de vida em geral so baseados em modelos prescritivos de processo que fornecem efetivamente um roteiro reconhecidamente til para o trabalho de engenharia de software. Entretanto, importante ter em mente que modelos de processos no so perfeitos e que devem ser adaptados para acomodar a natureza especfica de cada projeto e as caractersticas da equipe de desenvolvimento e do ambiente onde sero desenvolvidos.

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
43

O processo de uma organizao direciona a equipe de desenvolvimento por um conjunto de macroatividades que so organizadas em um fluxo de processo ciclo de vida que pode ser linear, incremental ou evolutivo.

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

6.3 FASE 3 Execuo

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

MODELOS PRESCRITIVOS DE PROCESSO DE SOFTWARE Modelos prescritivos de processos definem um conjunto distinto de atividades, aes, tarefas, marcos e produtos de trabalho que so necessrios para fazer engenharia de software com alta qualidade. [PRESSMAN, Roger S. Sexta Edio, 2010]

Vrios modelos de processos foram escritos no intuito de ordenar as atividades do desenvolvimento de software, porm, independentemente do modelo de processo selecionado, a engenharia de software tem tomado por base o modelo genrico que considera bsicas as atividades de comunicao, planejamento, modelagem, construo e implantao. Entretanto, em cada modelo a nfase dada a essas atividades difere e o fluxo de trabalho proposto para cada atividade tambm abordado de forma diferente. A seguir, esto destacados os principais ciclos de vida ou modelos prescritivos usados pela engenharia de software. Modelo cascata No modelo cascata, tambm conhecido como ciclo de vida clssico, as atividades so executadas sistemtica e sequencialmente, havendo a possibilidade de ajustes naquelas que estariam completas em caso de necessidade por alterao de requisitos, questes tcnicas, concretizao de riscos etc. A figura 13 apresenta a sequncia das macroatividades do modelo cascata.

GUIA DE IMPLEMENTAO

Figura 13 - Modelo cascata

No modelo cascata o desenvolvimento se inicia com a especificao dos requisitos pelo cliente e progride ao longo do planejamento, modelagem, construo e implantao, quando, por fim, chega manuteno progressiva do software acabado.

44

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

O QUE IMPORTANTE?

CONSIDERE!

Projetos reais raramente seguem o fluxo sequencial proposto pelo modelo. A exigncia de que sejam explicitamente definidos todos os requisitos no incio do projeto nem sempre simples de ser atendida. A verso executvel do software pretendido s estar disponvel ao final. Erros no percebidos facilmente tornam-se desastrosos.

O modelo cascata o mais antigo modelo de ciclo de vida da engenharia de software. No entanto, a sua eficcia vem sendo questionada nas ltimas duas dcadas em alguns pontos.

Modelo evolutivo ou evolucionrio apresenta modelos iterativos, que foram propostos para acompanhar situaes onde os requisitos do negcio e do produto mudam com frequncia, medida que o desenvolvimento acontece e dificulta o caminho sequencial e direto para que se chegue ao produto final. Neste caso, o desenvolvimento acontece por sucessivos refinamentos, cada um deles produzindo uma verso melhor devido ao feedback da anterior. A partir de uma especificao inicial, que contm partes incertas, produz-se uma verso com o que estiver melhor definido e em seguida refina-se e completa-se, produzindo novas verses sempre aperfeioadas, at que o sistema esteja concludo. Poderamos ver isto como uma evoluo de prottipos. Uma das formas de aplicao de modelos evolutivos a prototipagem. O desenvolvimento de prottipos funciona como um mecanismo para auxiliar a identificao dos requisitos do software. A figura 14 apresenta um modelo baseado em prototipagem.

Figura 14 - Modelo de prototipagem (adaptado de Pressman, 2010)

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
45

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

Modelo incremental ou iterativo apresenta modelos que propem o desenvolvimento de um software de certo porte em iteraes, sendo cada uma dessas iteraes algo como uma minicascata, contendo atividades sequenciais de anlise, projeto, construo e implementao, de modo a produzir uma parte operacional do sistema. O conhecimento adquirido em cada iterao minimiza os possveis erros nas iteraes futuras e faz com que o desenvolvimento se acelere constantemente. Mas, frequentemente, torna-se necessrio voltar atrs e realizar ajustes no que j foi concludo. A figura 15 apresenta um exemplo de fluxo baseado no modelo incremental de desenvolvimento.

Figura 15 - Modelo incremental (adaptado de Pressman, 2010)

GUIA DE IMPLEMENTAO

Processo unificado ou UP (unified process) modelo que, em sua concepo, teve a expectativa de basear-se nas melhores caractersticas dos modelos de processo de software convencionais. Tem tambm caractersticas que visam a implementao dos melhores princpios de desenvolvimento gil. O UP sugere um fluxo de processo iterativo incremental, de modo que se busque a sensao evolucionria, defendida como essencial nas correntes que discutem o desenvolvimento moderno de software. A proposta do UP decompor o total do trabalho em iteraes incrementais, de tal forma a possibilitar a concluso de partes que demonstrem concretamente a evoluo do desenvolvimento e a superposio das partes para acelerar o processo. Enquanto uma iterao ainda est em andamento, a seguinte pode comear. Geralmente, dentro de cada iterao, o desenvolvimento se d em cascata. Este modelo tem quatro fases de desenvolvimento: P Concepo: estudar a viabilidade do projeto, propor a arquitetura, estimar recursos, custos, prazos e elaborar um plano preliminar; P Elaborao: analisar riscos, detalhar requisitos, detalhar a arquitetura e refinar o planejamento;

46

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

P Transio: resolver pendncias, corrigir defeitos e ter o sistema pronto para uso. A figura 16 mostra as fases de desenvolvimento do processo unificado e a relao dessas com as macroatividades genricas dos fluxos de processo.

Figura 16 - Processo unificado (adaptado de Pressman, 2010)

Mtodos geis No se trata exatamente de um modelo de processo, mas sim de um grupo de propostas que nasceu a partir do Manifesto gil, um elenco de princpios que visa dar foco na ateno s necessidades do cliente, construo rpida e eliminao de atividades perifricas que no agreguem diretamente valor ao produto em si. Atualmente, o SCRUM o mtodo mais disseminado, embora a maioria das organizaes que dizem adot-lo faam vrias adaptaes. A figura 17 apresenta o ciclo proposto pelo mtodo SCRUM (SCRUM um processo de desenvolvimento iterativo e incremental para gerenciamento de projetos e desenvolvimento gil de software).

Figura 17 - Ciclo de processo baseado no mtodo SCRUM

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
47

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

P Construo: desenvolver o sistema at ter uma verso operacional;

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

Outro modelo representativo dos mtodos geis o XP Extreme Programming, que se prope a alcanar qualidade com rapidez e flexibilidade no desenvolvimento, reduzindo os custos. O XP usa uma abordagem orientada a objetos como seu paradigma de desenvolvimento. A figura 18 ilustra o processo XP e mostra algumas das ideias principais e tarefas que so associadas a cada atividade de arcabouo. O XP sugere um nmero de tcnicas inovadoras e potentes que permitem que equipes geis criem frequentemente verses de software que possuem caractersticas e funcionalidades descritas e priorizadas pelo cliente.

Figura 18 Processo Extreme Programming (Adaptado de Pressman, 2010)

GUIA DE IMPLEMENTAO

O QUE IMPORTANTE?

CONSIDERE!

Adaptar o ciclo de vida realidade da organizao, considerando suas caractersticas e as caractersticas dos seus projetos

O processo produtivo de uma VSE que produza software no crtico baseado no perfil bsico da srie ISO/IEC 29110 pode ser orientado por quaisquer ciclos de vida de desenvolvimento de software, portanto a ordem das atividades pode ser alterada de acordo com a necessidade da VSE e da prescrio do ciclo de vida escolhido.

48

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

AO

OBSERVE

Usar os processos ajustados nos projetos da organizao

Aps o desenvolvimento de um processo que caracterize o(s) ciclo(s) de vida adaptados para a organizao, os projetos devem ser realizados com base no que foi definido. Os processos da organizao devem ser de conhecimento de todos, e importante que os envolvidos nas atividades sejam capacitados para realiz-las da forma adequada e mais eficiente possvel.

Uma VSE possui caractersticas, necessidades e competncias especficas ao seu contexto. O processo produtivo [de desenvolvimento de software] de uma VSE desenvolvedora de software que tome por base a ABNT NBR ISO/IEC 29110-4-1, perfil bsico, tem definidas as atividades que sero realizadas e os produtos de trabalho que sero gerados como resultado dessas atividades na conduo do desenvolvimento de um projeto. Como j vimos, deve tambm embasar todo ciclo de vida do desenvolvimento de software que contribui para o alcance dos seus objetivos, gerando o produto de software esperado. O processo produtivo executado em ciclos de melhoria contnua deve, ainda, contribuir para o aprimoramento das competncias sugeridas da organizao. Uma VSE deve envolver cada membro da equipe para a execuo das atividades do projeto. Um mesmo membro da equipe pode exercer mais de um papel ao longo do ciclo de vida de desenvolvimento de software, entretanto importante garantir sua capacitao para tal. Segundo a ABNT NBR ISO/IEC 29110-4-1, estas caractersticas e competncias sugeridas podem ser agrupadas em quatro categorias distintas: finanas e recursos; interface com o cliente; processos de negcios internos; e aprendizado e crescimento. As categorias que agrupam as caractersticas, necessidades e competncias sugeridas que definem uma VSE, assim como o relacionamento desses aspectos com os requisitos da ABNT NBR ISO/IEC 29110-4-1, esto detalhados no Anexo C deste Guia. A figura 19 apresenta o contexto de uma VSE e seus inter-relacionamentos durante a execuo das atividades do ciclo de desenvolvimento de software baseado em processos.

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
49

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

6.3.2 Desenvolvimento dos projetos: o processo produtivo

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

Figura 19 - Inter-relacionamentos no contexto de uma VSE

O uso do perfil bsico da srie ISO/IEC 29110 no desenvolvimento de projetos de software O perfil bsico grupo de perfil genrico da srie ISO/IEC 29110 define como requisitos obrigatrios o alcance de objetivos especficos dos processos de gesto de projetos e de implementao de software, a realizao de atividades relacionadas desses processos e a gerao de produtos de trabalho resultados dessas atividades. A figura 19 mostra o relacionamento entre esses elementos no contexto de uma VSE. Nos itens a seguir, alinhados com as macroatividades descritas nos processos de gesto de projetos e de implementao de software, so apresentadas prticas para a implementao dos requisitos da norma, bem como o relacionamento dessas prticas com os elementos normativos obrigatrios.

GUIA DE IMPLEMENTAO

50

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

ENTRADAS
Adaptar o ciclo de vida realidade da organizao, considerando suas caractersticas e as caractersticas dos seus projetos

IMPLEMENTANDO
Reunir-se com o cliente e outros interessados para revisar a declarao de trabalho e combinar como sero feitas as entregas do produto (como, o que, quando, onde etc.). Identificar as tarefas a serem realizadas para produzir o que deve ser entregue, estimando os recursos humanos e materiais necessrios, treinamento, ferramentas e prazos, criando o cronograma do projeto. Organizar a equipe do projeto. Fazer uma anlise de riscos. Definir o controle dos documentos e outros artefatos do projeto, onde sero armazenados, como ser o versionamento, como e quando sero geradas baselines e as responsabilidades por tudo isso, criando o repositrio do projeto. Revisar e verificar o plano do projeto, obter aprovao dos interessados, obter o aceite do cliente nas partes que o afetam.

RELACIONAMENTO COM A NORMA


Objetivos de processos PM.O1. O plano de projeto desenvolvido de acordo com a declarao de trabalho e validado com o cliente. As tarefas e os recursos necessrios para concluir os trabalhos so dimensionados e estimados. PM.O5. Riscos so identificados inicialmente e durante a conduo do projeto. PM.O6. uma estratgia de controle de verso de software desenvolvida. itens de configurao de software so identificados, definidos e colocados em baseline. As modificaes e liberaes dos itens so controladas e disponibilizadas ao cliente e equipe de trabalho, incluindo o armazenamento, manuseio e entrega dos itens. PM.O7. Garantia de qualidade de software realizada para assegurar que os produtos e processos de trabalho cumpram o plano de projeto e a especificao de requisitos.

Produtos de sada Plano de projeto Registro de reunio Repositrio do projeto

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
51

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

a) Planejando o projeto

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

REPOSITRIO Coleo de todos os artefatos relativos ao software pertencentes a um sistema ou localizao/formato onde tal coleo est armazenada. [ISO/IEC/IEEE 24765]

ESTABELECENDO BASELINE PARA O PROJETO Ao longo do ciclo de vida do desenvolvimento torna-se necessrio registrar o resultado de atividades e guardar produtos intermedirios importantes, de modo a prover uma referncia slida que seja a base para o trabalho seguinte. A ideia congelar um conjunto de documentos e produtos que se tornam a verso de referncia para consultas e uso nas atividades que se seguem e por parte dos profissionais que as utilizam. A esse conjunto d-se o nome de baseline. Conforme a metodologia e o modelo adotado, a quantidade de baseline e a sua composio variam bastante. Porm, alguns documentos e produtos so obviamente candidatos a um controle que garanta sua segurana e confiabilidade para a continuidade, o sucesso e a qualidade do desenvolvimento de software. A lista a seguir uma sugesto de documentos que devem ser colocados em baseline: Documento que registra os requisitos do usurio Documento que registra as funcionalidades que implementam os requisitos Projeto e modelagem do produto a ser desenvolvido Produtos intermedirios da construo Resultado do teste final do produto Configurao do produto pronto para uso Muitos outros produtos podem ser eleitos para controle formal, dependendo do tipo de produto de software em desenvolvimento, do seu porte, sua complexidade, tamanho da equipe, acordo com o cliente etc. Atas de reunies importantes, logs de arquivos e operaes executadas, resultados de auditorias de qualidade, comprometimentos com clientes, aceites, renegociaes, comprometimentos da equipe, anlises de riscos, evoluo fsica do projeto, dos custos e dos prazos, lies aprendidas, defeitos encontrados, solues eficazes so alguns dos exemplos de artefatos que cabe organizao avaliar e decidir o nvel de controle para eles.

GUIA DE IMPLEMENTAO

BASELINE Especificao ou produto que foi formalmente revisto e acordado, servindo como base para o desenvolvimento futuro, e que s pode ser alterado mediante de procedimentos formais de controle de mudana [ABNT NBR ISO/IEC 12207:2008]

52

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

ENTRADAS
Solicitao de mudana Plano de projeto Estratgia de controle de verso

IMPLEMENTANDO
Monitorar a execuo do projeto e registrar o realizado no registro de status de progresso. Conduzir reunies de reviso com a equipe de trabalho, identificar problemas, rever status dos riscos, registrar as decises e monitor-las at a sua concluso. Conduzir reunies de reviso com o cliente, registrar as decises e monitor-las at a sua concluso. Solicitao de mudana iniciada pelo cliente ou pela equipe de trabalho, que afete o cliente, precisa ser negociada para alcanar a aceitao de ambas as partes. Se necessrio, atualizar o plano do projeto segundo o novo acordo com o cliente. Fazer backups de acordo com a estratgia de controle de verso. Fazer a recuperao do repositrio do projeto usando o backup do repositrio do projeto, se necessrio.

RELACIONAMENTO COM A NORMA


Objetivos de processos PM.O2. O progresso do projeto monitorado contra o plano do projeto e registrado no registro de status de progresso. So feitas correes para remediar os problemas e desvios do plano quando as metas do projeto no forem alcanadas. O encerramento do projeto realizado para obter a aceitao do cliente, documentada no registro de aceitao. PM.O3. As solicitaes de mudana so tratadas atravs de sua recepo e anlise. Mudanas nos requisitos de software so avaliadas quanto ao custo, prazo e impacto tcnico. PM.O4. So mantidas reunies de avaliao com a equipe de trabalho e o cliente. Acordos so registrados e monitorados. PM.O5. Riscos so identificados inicialmente e durante a conduo do projeto. PM.O7. Garantia de qualidade de software realizada para assegurar que os produtos e processos de trabalho cumpram o plano de projeto e a especificao de requisitos.

Produtos de sada Registro de status de progresso Plano de projeto Solicitao de mudana Backup de repositrio do projeto Registro de reunio

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
53

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

b) Execuo do plano de projeto

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

c) Avaliao e controle de projeto ENTRADAS


Registro de status de progresso Plano de projeto

IMPLEMENTANDO
Avaliar o progresso do projeto com respeito ao plano do projeto, comparando: - tarefas realizadas versus planejadas; - resultados realizados versus objetivos do projeto estabelecidos; - alocao de recursos realizada versus planejada; - custo real versus estimativas do oramento; - momento real versus cronograma planejado; - riscos reais versus identificados previamente.

Estabelecer aes para corrigir desvios ou problemas e riscos identificados, no que tange realizao do plano, conforme necessrio, document-las no Registro de Correo e monitor-las at a sua concluso.

Identificar mudanas nos requisitos e/ou no plano de projeto para enfrentar desvios significativos, riscos potenciais ou problemas relacionados com a realizao do plano, document-las em solicitao de mudana e monitor-las at a concluso.

RELACIONAMENTO COM A NORMA


Objetivos de processos PM.O2. O progresso do projeto monitorado contra o plano do projeto e registrado no registro de status de progresso. So feitas correes para remediar os problemas e desvios do plano quando as metas do projeto no forem alcanadas. O encerramento do projeto realizado para obter a aceitao do cliente, documentada no registro de aceitao.

GUIA DE IMPLEMENTAO

Produtos de sada Registro de status do progresso Registro de correo Solicitao de mudana

54

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

ENTRADAS
Plano de projeto Configurao do software

IMPLEMENTANDO
Formalizar a concluso do projeto de acordo com as instrues de entrega estabelecidas no plano de projeto, fornecendo apoio para a aceitao e recebendo o registro de aceitao assinado. Atualizar o repositrio do projeto

RELACIONAMENTO COM A NORMA


Objetivos de processos PM.O2. O progresso do projeto monitorado contra o plano do projeto e registrado no registro de status de progresso. So feitas correes para remediar os problemas e desvios do plano quando as metas do projeto no forem alcanadas. O encerramento do projeto realizado para obter a aceitao do cliente, documentada no registro de aceitao.

Produtos de sada Registro de aceitao Configurao do software Repositrio do projeto

e) Iniciao da implementao do software ENTRADAS


Plano de projeto

IMPLEMENTANDO
Reunir-se com a equipe do projeto e discutir o plano do projeto para alcanar um entendimento comum e comprometimento com as tarefas. Organizar o ambiente de trabalho em termos de local, equipamentos, software, ferramentas, arquivos, senhas, acessos, autorizaes etc.

RELACIONAMENTO COM A NORMA


Objetivos de processos SI.O1. As tarefas das atividades so realizadas segundo o plano de projeto corrente.

Produtos de sada

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
55

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

d) Encerramento do projeto

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

f) Anlise dos requisitos do software ENTRADAS


Plano de projeto

IMPLEMENTANDO
Identificar e consultar fontes de informao (cliente, usurios, sistemas anteriores, documentos etc.), procurando obter todos os requisitos e analisando questes de escopo e viabilidade. Documentar ou atualizar a especificao de requisitos. Verificar os requisitos quanto consistncia com o produto definido na declarao de trabalho, assegurando que estejam claros, sem ambiguidades e completos, registrando os resultados e corrigindo o que for preciso. Obter aprovao da especificao de requisitos. Validar a especificao de requisitos, obter aprovao do usurio e gerar uma baseline na configurao do software. Se for o caso, preparar uma verso preliminar da documentao do usurio ou atualizar o manual existente.

RELACIONAMENTO COM A NORMA


Objetivos de processos SI.O2. Requisitos de software so definidos, analisados quanto correo e testabilidade, aprovados pelo cliente, colocados em baseline e comunicados. SI.O6. Uma configurao de software, que atende especificao de requisitos, conforme acordado com o cliente, que inclui a documentao do usurio, de operao e de manuteno integrada, colocada em baseline e armazenada no repositrio do projeto. Necessidades de alteraes configurao do software so detectadas e as correspondentes solicitaes de mudana so iniciadas. SI.O7. Tarefas de verificao e validao de todos os produtos de trabalho necessrios so realizadas usando critrios definidos para assegurar a consistncia entre produtos de sada e entrada em cada atividade. Defeitos so identificados e corrigidos; registros so armazenados em resultados de verificao/validao.

GUIA DE IMPLEMENTAO

Produtos de sada Solicitao de mudana Especificao de Requisitos Resultados de validao Resultados de verificao Configurao do software Documentao do usurio do software

56

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

ENTRADAS
Plano de projeto Especificao de requisitos

IMPLEMENTANDO
Documentar ou atualizar o projeto do software. Verificar e obter aprovao do projeto do software. Criar ou atualizar os casos de teste e procedimentos de teste para o teste de integrao, baseados na especificao de requisitos e no projeto de software. Verificar e obter aprovao dos casos de teste e procedimentos de teste. A partir da especificao de requisitos, gerar o projeto de arquitetura do produto, seus componentes e interfaces internas e externas, cuidando para que sua aparncia e comportamento estejam afinados com as expectativas do cliente. Gerar ou atualizar o registro de rastreabilidade Verificar o projeto do software e o registro de rastreabilidade, registrando o resultado e ajustando o que for preciso Definir os casos de teste e os procedimentos de teste, fazer sua verificao e incorpor-los ao registro de rastreabilidade e ao repositrio do projeto.

RELACIONAMENTO COM A NORMA


Objetivos de processos SI.O3. Projeto de arquitetura e detalhamento do software elaborado e colocado em baseline. Ele descreve os itens de software e suas interfaces internas e externas. So estabelecidas consistncia e rastreabilidade aos requisitos de software. SI.O6. Uma configurao de software, que atende especificao de requisitos, conforme acordado com o cliente, que inclui a documentao do usurio, de operao e de manuteno, integrada, colocada em baseline e armazenada no repositrio do projeto. Necessidades de alteraes configurao do software so detectadas e as correspondentes solicitaes de mudana so iniciadas. SI.O7. Tarefas de verificao e validao de todos os produtos de trabalho necessrios so realizadas usando critrios definidos para assegurar a consistncia entre produtos de sada e entrada em cada atividade. Defeitos so identificados e corrigidos; registros so armazenados em resultados de verificao/validao. Produtos de sada Solicitao de mudana Projeto do software Casos de teste e procedimentos de teste Registro de rastreabilidade Resultados de verificao Configurao do software

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
57

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

g) Projeto de arquitetura e detalhamento do software

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

ARQUITETURA E INTERFACES Arquiteturas e interfaces devem ser detalhadas no nvel e na dimenso adequados ao contexto do projeto. Por exemplo, projetos de manuteno podem considerar a atualizao da arquitetura e das interfaces do produto a ser mantido e, neste caso, pode no ser necessrio que se defina nova arquitetura ou novas interfaces para o projeto especfico.

COMPONENTE DE SOFTWARE Sistema ou elemento de software, como mdulo, unidade, dado ou documento. [IEEE Std 1061]

RASTREABILIDADE Um registro de rastreabilidade um produto de trabalho que: identifica requisitos a serem rastreados; identifica um mapeamento do requisito a produtos de trabalho do ciclo de vida; prov o elo de requisitos para a decomposio de produto de trabalho (isto , requisito, projeto, cdigo, teste, entregveis etc.); prov mapeamento bidirecional de requisitos a produtos de trabalho associados atravs de todas as fases do ciclo de vida. O nvel e a dimenso do que deve ser rastreado devem ser considerados de acordo com o contexto do projeto. importante que a rastreabilidade gerada suporte, em casos de mudana e manuteno, que seja identificado o que deve ser alterado e qual o impacto em termos tcnicos, de custo e de esforo que ir ocasionar. Ferramentas de apoio podem tornar a captura e a manuteno da rastreabilidade muito mais eficaz e til. Nos casos dos projetos de manuteno evolutiva ou corretiva, deve-se considerar a rastreabilidade dos requisitos que esto sendo alterados versus aquela do produto a ser mantido. Atividades de captura e manuteno de rastreabilidade em projetos de manuteno podem auxiliar na construo da documentao de legados no documentados.

GUIA DE IMPLEMENTAO

58

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

ENTRADAS
Plano de projeto Projeto do software Registro de rastreabilidade

IMPLEMENTANDO
Construir ou atualizar os componentes de software com base na parte detalhada do projeto de software e definir ou atualizar os casos de teste de unidade. Construir os componentes de software com base na parte detalhada do projeto de software, executar testes unitrios e atualizar o registro de rastreabilidade. Projetar ou atualizar os casos de teste unitrios e aplic-los para verificar os componentes de software. Gerar uma baseline da configurao do software, incorporando os componentes e o registro de rastreabilidade. Corrigir os defeitos encontrados at alcanar sucesso no teste unitrio (chegando ao critrio de sada). Atualizar o registro de rastreabilidade, incorporando os componentes de software construdos ou modificados.

RELACIONAMENTO COM A NORMA


Objetivos de processos SI.O4. Componentes de software definidos no projeto so desenvolvidos. Testes unitrios so definidos e realizados para verificar a consistncia com os requisitos e o projeto. Rastreabilidades para os requisitos e para o projeto so estabelecidas. SI.O6. Uma configurao de software, que atende especificao de requisitos, conforme acordado com o cliente, que inclui a documentao do usurio, de operao e de manuteno, integrada, colocada em baseline e armazenada no repositrio do projeto. Necessidades de alteraes configurao do software so detectadas e as correspondentes solicitaes de mudana so iniciadas. SI.O7. Tarefas de verificao e validao de todos os produtos de trabalho necessrios so realizadas usando critrios definidos para assegurar a consistncia entre produtos de sada e entrada em cada atividade. Defeitos so identificados e corrigidos; registros so armazenados em resultados de verificao/validao. Produtos de sada Componentes do software Registro de rastreabilidade Configurao do software

RELATRIO Item de informao que descreve os resultados de atividades, como investigaes, avaliaes e testes. [ISO/IEC 15289:2006]

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
59

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

h) Construo do software

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

i)

Integrao e testes do software ENTRADAS


Componentes do software Plano de projeto Documentao do usurio do software Casos de teste e procedimentos de teste Registro de rastreabilidade

IMPLEMENTANDO
Construir ou atualizar os componentes de software com base na parte detalhada do projeto de software e definir ou atualizar os casos de teste de unidade. Integrar os componentes do software, executando os casos de teste segundo os procedimentos de teste e documentando os resultados no relatrio de teste. Atualizar o registro de rastreabilidade. Gerar o guia de operao, verific-lo e obter aprovao. Atualizar, verificar e obter aprovao da documentao do usurio. Gerar uma baseline incorporando casos de teste e procedimentos de teste, registro de rastreabilidade, relatrio de teste, guia de operao do produto e documentao do usurio do software configurao de software. Projetar ou atualizar os casos de teste unitrios e aplic-los para verificar os componentes de software. Corrigir os defeitos encontrados at alcanar sucesso no teste unitrio (chegando ao critrio de sada). Atualizar o registro de rastreabilidade, incorporando os componentes de software construdos ou modificados.

RELACIONAMENTO COM A NORMA


Objetivos de processos SI.O5. Software produzido fazendo a integrao de componentes de software e verificado atravs de casos de teste e procedimentos de teste. Os resultados so registrados no relatrio de teste. Defeitos so corrigidos, e so estabelecidas a consistncia e a rastreabilidade ao projeto de software. SI.O6. Uma configurao de software, que atende especificao de requisitos, conforme acordado com o cliente, que inclui a documentao do usurio, de operao e de manuteno, integrada, colocada em baseline e armazenada no repositrio do projeto. Necessidades de alteraes configurao do software so detectadas e as correspondentes solicitaes de mudana so iniciadas. SI.O7. Tarefas de verificao e validao de todos os produtos de trabalho necessrios so realizadas usando critrios definidos para assegurar a consistncia entre produtos de sada e entrada em cada atividade. Defeitos so identifica-dos e corrigidos; registros so armazenados em resultados de verificao/validao. Produtos de sada Componentes do software Guia de operao do produto Software Configurao do software Registro de rastreabilidade Resultados de verificao Documentao do usurio do software Casos de teste e procedimentos de teste relatrio de teste

GUIA DE IMPLEMENTAO

60

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

ENTRADAS
Plano de projeto Configurao do software

IMPLEMENTANDO
Atribuir tarefas relativas ao seu papel aos membros da equipe de trabalho, de acordo com o plano de projeto corrente. Elaborar, verificar e obter aprovao para a documentao de manuteno, incorporando-a configurao do software. Realizar a entrega do produto ao cliente, de acordo com as condies estabelecidas (no incio do planejamento) em instrues de entrega e obter o aceite formal do cliente. Obter entendimento da configurao do software.

Elaborar a documentao de manuteno ou atualizar a existente. Verificar a consistncia da documentao de manuteno com a configurao do software. Os resultados encontrados so documentados em resultados da verificao, e correes so feitas at que o documento seja aprovado pelo lder de projeto. Incorporar documentao de manuteno como baseline na configurao de software.

Realizar a entrega de acordo com as instrues de entrega.

RELACIONAMENTO COM A NORMA


Objetivos de processos SI.O6. Uma configurao de software, que atende especificao de requisitos, conforme acordado com o cliente, que inclui a documentao do usurio, de operao e de manuteno, integrada, colocada em baseline e armazenada no repositrio do projeto. Necessidades de alteraes configurao do software so detectadas e as correspondentes solicitaes de mudana so iniciadas. SI.O7. Tarefas de verificao e validao de todos os produtos de trabalho necessrios so realizadas usando critrios definidos para assegurar a consistncia entre produtos de sada e entrada em cada atividade. Defeitos so identificados e corrigidos; registros so armazenados em resultados de verificao/validao.

Produtos de sada Documentao de manuteno Configurao do software Resultados de verificao

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
61

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

j)

Entrega do produto

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

6.3.3 Acompanhamento da aderncia dos projetos aos processos

AO

OBSERVE

importante que nos pontos de controle definidos no processo os desvios observados sejam registrados de modo a permitir que aes adequadas sejam tomadas. Realizar avaliaes de aderncia nos pontos de controle definidos Quando no h monitorao frequente, h mais chances de que a motivao e o empenho da alta gerncia diminuam ao longo do projeto.

6.3.4 Identificao das no conformidades e oportunidades de melhoria

AO

OBSERVE

A ocorrncia de problemas, desvios e inconsistncias, chamados de no conformidades, deve ser identificada. Em momentos iniciais, quando o processo ainda no est totalmente institucionalizado, comum a ocorrncia de problemas, desvios e no conformiIdentificar as no conformidades ocorridas na dades. execuo do processo de desenvolvimento A definio de critrios auxilia a identificao de no conformidades. Identificar as oportunidades de melhoria que podem ser implementadas no processo O ideal que as revises para identificao de no conformidades, assim como quaisquer outras de desenvolvimento revises, sejam realizadas por algum diferente daquele que realizou a atividade ou o artefato objeto da reviso. recomendado que produtos que sero objeto de reviso sejam avaliados antes da sua entrega ao prximo usurio.

GUIA DE IMPLEMENTAO

62

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

6.4.1 Realizao de auditorias (internas e externas)


AO OBSERVE

Auditorias internas, quando realizadas com independncia, ou seja, por pessoa diferente daquelas que executam o processo, aumentam a confiana da equipe no trabalho que est sendo realizado. Realizar auditorias internas A realizao da auditoria interna deve considerar a aderncia dos processo seguidos pelos projetos desenvolvidos aos requisitos preconizados na ABNT NBR ISO/IEC 29110-4-1.

A realizao de auditorias externas garante uma viso independente e auxilia na identificao de problemas que nem sempre so percebidos pelas pessoas da organizao. Realizar auditorias externas A realizao de auditorias externas por organismos oficiais permite organizao a obteno de uma credencial que pode ser reconhecida pelo mercado como atestado de qualidade de seus produtos.

6.4.2 Tratamento das no conformidades

AO

OBSERVE

Realizar aes para solucionar as no conformidades identificadas nas auditorias

Para as no conformidades e oportunidades de melhoria identificadas nas auditorias, internas ou externas, devem ser tomadas aes. recomendado que as aes sejam planejadas de modo que possam ser gerenciadas, garantindo, assim, a sua concluso.

Realizar aes para implementar as oportunidades de melhorias identificadas nas auditorias

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
63

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

6.4 FASE 4 Melhoria

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

ANEXOS

ANEXOS
ANEXO A
1. A ESTRATGIA DE DESENVOLVER NORMAS E GUIAS PARA AS VSE COMPONDO PERFIS Tendo em vista as caractersticas e necessidades identificadas nas fases de levantamento e estudos, e que delineavam o que vinha a ser uma VSE, uma importante premissa para o desenvolvimento da srie ISO/IEC 29110 era que sua estrutura deveria ser flexvel o bastante para atender a essas caractersticas e necessidades. Havia, entretanto, o consenso de que o contedo tcnico a ser usado como base para compor a srie pretendida j estava disponvel e poderia ser encontrado entre centenas de documentos publicados, normas, guias e modelos, muitos deles tratando conceitos, definies e metodologias similares em nveis de abstrao e detalhamentos diferentes. A deciso sensata foi, portanto, que no havia necessidade de se criarem novas definies e conceitos para aquilo que j estava consolidado nas normas e guias publicados, mas apenas de visitar esses documentos com a viso de se fazer um recorte possvel de ser aplicado ao contexto de uma VSE.

GUIA DE IMPLEMENTAO

1.1 PERFIL INTERNACIONAL NORMALIZADO Visando ento atender s premissas de flexibilidade e adequao ao contexto, a estratgia de desenvolvimento das normas e guias da srie ISO/IEC 29110 contempla: P primeiro, a seleo, entre os documentos relevantes publicados, daqueles que podem ser considerados normas de base e referncias normativas para o contexto observado; P segundo, a identificao nessas normas de base daquilo que, de fato, se aplica ao contexto de uma pequena organizao. As normas e guias usadas servem de base, ento, para que se faa um recorte das partes que so aplicveis ao contexto pretendido. composio dessas partes recortadas de normas e guias de base d-se o nome de perfil internacional normalizado. A figura 20 exemplifica a criao de perfis a partir da composio de partes selecionadas de normas de base.

64

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

GUIA DE IMPLEMENTAO

Figura 20 - Elementos de um perfil internacional normalizado

Um perfil internacional normalizado , ento, uma combinao de uma ou mais normas de base para cumprir uma funo em particular.

1.2

GRUPO DE PERFIL

Um perfil internacional normalizado um elemento que pertence a um grupo dirigido a um determinado tipo de contexto e deve respeitar as caractersticas que levaram sua criao. Entretanto, entre as caractersticas gerais que o definem, pode haver uma diversidade de detalhes, fazendo com que, para um mesmo contexto, haja necessidade de se desenvolver mais de um perfil. Estes perfis devem, necessariamente, relacionar-se entre si de tal forma que seja permitida uma viso mais refinada e detalhada das caractersticas do contexto geral. Esta coleo de perfis relacionados entre si pela composio dos seus processos (atividades, tarefas etc.) denominada grupo de perfis (PG - Profile Group). Cabe ressaltar que nada impede, naturalmente, que um grupo de perfis possua apenas um perfil.

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | PARTE II

GUIA DE IMPLEMENTAO
65

ANEXO A

ANEXOS

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

ANEXO A

ANEXOS

1.3 PERFIS INTERNACIONAIS NORMALIZADOS PARA VSE No caso da srie ISO/IEC 29110, os perfis internacionais normalizados so agrupados para atender a contextos especficos dos ciclos de vida das VSE e, embora a caracterstica central das entidades contempladas pela ISO/IEC 29110 seja o tamanho, outros aspectos podem afetar a preparao e a seleo de perfis, como modelo de negcio (comercial, contratao, desenvolvimento in-house etc.); fatores situacionais (como criticidade, incerteza ambiental etc.) ou nveis de risco. Entretanto, criar um perfil para cada possvel combinao de valores dessas dimenses seria extremamente complexo. Os perfis VSE contemplam as VSE que so descritas atravs de caractersticas, necessidades e competncias desejveis, classificadas em quatro categorias: finanas e recursos; interface com o cliente; processos de negcios internos; e aprendizado e crescimento. Portanto, os perfis VSE esto agrupados de tal modo que sejam aplicveis a mais de uma categoria, como, por exemplo, para categoria de desenvolvimento de software genricos, que composta por quatro perfis internacionais normalizados, os perfis VSE: perfil de entrada, perfil bsico, perfil intermedirio e perfil avanado, onde esto distribudos os elementos que permeiam o ciclo de vida de desenvolvimento de software. Os perfis VSE contidos na ISO/IEC 29110 permitem um ajuste fino da norma s caractersticas de diferentes grupos de VSEs e novos grupos de perfis podero ser acrescentados, se cabvel, para atender ao interesse de comunidades que identifiquem demandas em reas especficas como, por exemplo, desenvolvimento de software para rea mdica, gesto de servios, entre outros. Em suma, os perfis de ciclo de vida tm o propsito primordial de possibilitar a criao de uma norma bem ajustada s caractersticas de cada tipo de VSE, que assim encontrar facilidade para entend-la e adot-la. A flexibilidade prevista da srie ISO/IEC 29110 pode permitir s organizaes o acompanhamento dos avanos do mercado e as variaes das necessidades de seus clientes sem desviar-se do atendimento aos requisitos preconizados nos perfis definidos. No caso do grupo de perfil genrico, por exemplo, os perfis so desenvolvidos de modo a contemplar tanto as empresas que seguem ciclos de desenvolvimento tradicionais quanto aquelas que desejam usufruir de suas capacidades adaptativas em seus ciclos de vida, por exemplo, usando diferentes metodologias, tcnicas e ambientes de desenvolvimento. Aqui se pode incluir o uso de metodologias geis e o desenvolvimento de software usando cloud computing. Deste modo, podero ser tambm desenvolvidos outros documentos e guias, visando auxiliar a aplicao dos grupos de perfil nessas situaes mais especficas.

GUIA DE IMPLEMENTAO

66

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | ANEXOS

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

ANEXO B
1. NETWORK CENTER Criado em 2008, o Global Network of VSE (Very Small Entities) Support Centers j conta com a participao da Blgica, Canad, Finlndia, Frana, Irlanda, Colmbia, Peru, Luxemburgo e Tailndia. A RIOSOFT, coordenadora do NetCenter no Brasil, estrategicamente estendeu o acordo a diversas entidades representativas do setor de software e servios de TIC e outros interessados, incorporando-os como parceiros, de modo que suas aes possam alcanar abrangncia nacional. A lista de parceiros crescente e pode ser acessada pelo site http://netcenter4vse.org.br/. Nos planos do network center brasileiro esto aes de apoio adoo de normas tcnicas, entre elas as normas da srie ABNT NBR ISO/IEC 29110 e ABNT NBR ISO/IEC 20000, visando melhoria do processo produtivo de desenvolvimento de produtos e servios de software e preparao das empresas para o mercado internacional.

1.1

OBJETIVOS

Os objetivos globais do NetCenter so: P ajudar a acelerar o desenvolvimento de normas ISO para as VSE; P acelerar a implementao das normas para as VSE; P acelerar o desenvolvimento e aplicao de pacotes de implementao. No Brasil, alm desses, h objetivos especficos que visam a capacitao das empresas nas reas de conhecimento de TI, de gesto e de normalizao. H tambm aes que buscam parceria com grandes parceiros da indstria, a fim de fortalecer a cadeia produtiva do setor. Como primeiro resultado dessas parcerias, pode-se citar o projeto do NetCenter Brasil com a Microsoft, pelo qual foi desenvolvido um framework para o desenvolvimento de processos aderente ao perfil bsico da ISO/IEC 29110. O process template est disponvel gratuitamente no link http://iso29110.codeplex.com/ .

2. PACOTES DE IMPLEMENTAO Para facilitar a implementao de um perfil em uma VSE, um grupo de pacotes de implementao encontra-se disponvel. Um pacote de implementao um conjunto de artefatos desenvolvidos para facilitar a implementao de um grupo de prticas de um framework selecionado, em uma VSE. No entanto, um pacote de implementao no um modelo de referncia de processo completo. Pacotes de implementao no tm a inteno de impedir ou desencorajar a utilizao de diretrizes adicionais que as VSE considerem teis. Um pacote de implementao no um modelo de referncia de processo completo. Os pacotes de implementao no tm inteno de prescindir ou desencorajar o uso de guias adicionais que a VSE considerar teis. Implementando e executando um pacote de implementao, uma VSE pode ver seu estgio concreto para alcanar ou demonstrar cobertura da Parte 5.

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | ANEXO

GUIA DE IMPLEMENTAO
67

ANEXOS

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

ANEXO B

ANEXOS

Os pacotes de implementao so projetados de modo que uma VSE possa executar seu contedo sem ter que implementar simultaneamente o framework completo. Os elementos de um pacote de implementao tpico so: P descrio tcnica; P relaes com a ISO/IEC 29110;

GUIA DE IMPLEMENTAO

P definies-chave; P descrio detalhada dos processos (atividades, tarefas, papis e produtos); P template, checklist, exemplo; P referncias e mapeamento a normas e modelos; P lista de ferramentas. O mapeamento apresentado apenas a ttulo de informao, para mostrar que um pacote de implementao tem ligaes explcitas com a Parte 5, Normas como a ABNT NBR ISO/IEC 12207, ou modelos como o CMMI desenvolvido pelo Software Engineering Institute. Pacotes de implementao so desenvolvidos de forma que a VSE possa implementar seu contedo sem ter que implementar o framework completo, concomitantemente. A tabela 6 ilustra o contedo de um pacote de implementao.
ITEM Descrio tcnica DESCRIO

Propsito deste documento Por que este tpico importante?

2 3 4

Definies Relaes com a ISO/IEC 29110 Viso geral dos processos, atividades, tarefas, papis e produtos Descrio de processos, atividades, tarefas, passos, papis e produtos Descrio do papel

5
Descrio do produto Descrio do artefato

6
7 8

Template(s) Examplo(s) Checklist(s)

68

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | ANEXOS

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

ANEXO B

ITEM

DESCRIO Ferramentas(s) Referncias a outras normas e modelos (por exemplo, ABNT NBR ISO 9001, ISO/IEC 12207, CMMI) Referncias Formulrio de autoavaliao Tabela 6 - Exemplo de contedo de um pacote de implementao

9 10 11 12

Para o perfil bsico para VSE, um grupo de pacote de implementao relacionado s reas abaixo est disponvel, gratuitamente, na internet, no link http://profs.etsmtl.ca/claporte/English/VSE/. P anlise de requisitos; P arquitetura e design detalhado; P construo de unidade de teste; P integrao e teste; P verificao e validao; P controle de verso; P gerenciamento de projeto; P entrega de produto; P autoavaliao. H, ainda, pacotes de implementao baseados em ferramentas relacionados s seguintes atividades: controle de verso; controle de verso com CVS; controle de verso com SVN; gerncia de projeto; gerncia de projeto com GForge; issue tracking com GForge. Os pacotes de implementao discutidos neste anexo esto disponveis em ingls e francs, entretanto vrias aes esto sendo realizadas para o desenvolvimento e disponibilizao para as VSE de artefatos e ferramentas de apoio implementao da srie ISO/ IEC 29110. As informaes sobre os prximos pacotes de implementao disponveis podem ser obtidas no site do NetCenter brasileiro: http://netcenter4vse.org.br/

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | ANEXO

GUIA DE IMPLEMENTAO
69

ANEXOS

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

ANEXO C

ANEXOS

GUIA DE IMPLEMENTAO

As tabelas a seguir nominam as caractersticas de uma VSE. Dessas caractersticas derivam necessidades e competncias sugeridas para que se chegue implementao adequada do perfil bsico. Apresentam, ainda, o relacionamento com objetivos dos processos e produtos de trabalho descritos na norma (requisitos normativos). Essa caracterizao feita considerando quatro categorias diferentes: finanas e recursos; interface com o cliente; processos de negcios internos; e aprendizado e crescimento.

CATEGORIA 1: FINANAS E RECURSOS


CARACTERSTICAS pequeno nmero de desenvolvedores fluxo de caixa de curto prazo em cada projeto pode ser fundamental para a VSE projetos de pequeno oramento que duram poucos meses e envolvem poucas pessoas para desenvolver produtos de pequeno porte dependem da concluso do projeto com sucesso dentro do cronograma e do oramento preferem fazer projetos separados para realizar a manuteno corretiva ps-entrega recursos internos escassos para realizar gerenciamento, suporte e processos organizacionais, como gerncia de risco, treinamento, gesto da qualidade, melhoria de processos e reutilizao Executar os projetos dentro do oramento e entregar o produto no prazo NECESSIDADES E COMPETNCIAS SUGERIDAS

Manter estreita comunicao com o cliente para gerenciar riscos

RELACIONAMENTO COM A NORMA


Objetivos de processos PM.O1. O plano de projeto para a execuo do projeto desenvolvido de acordo com a declarao de trabalho e vali-dado com o cliente. As tarefas e os recursos necessrios para concluir o trabalho so dimensionados e estimados. PM.O2. O progresso do projeto monitorado contra o plano de projeto e registrado no registro de status de progresso. Correes para remediar problemas e desvios do plano so adotadas quando as metas do projeto no forem alcanadas. O encerramento adequado do projeto realizado para obter a aceitao do cliente documentada no registro de aceitao. .............. SI.O1. Tarefas das atividades so realizadas atravs do cumprimento do plano de projeto corrente. Produtos de trabalho Declarao do trabalho Relatrio do status de progresso Plano de projeto Registro de correo Registro de aceitao

70

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | ANEXOS

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

CATEGORIA 2: INTERFACE COM O CLIENTE


CARACTERSTICAS geralmente tm um cliente por projeto de cada vez Cumprir os requisitos do cliente Gerenciar a mudana dos requisitos do cliente durante o projeto Manter uma estreita comunicao e informao atualizada ao cliente, em tempo til, durante o desenvolvimento do produto Entregar o produto com baixo nvel de defeitos NECESSIDADES E COMPETNCIAS SUGERIDAS

- cumprimento de requisitos especficos que podem mudar durante o projeto - informao atualizada durante o desenvolvimento do produto - entrega no prazo - baixo nvel de defeitos encontrados ps-entrega - estreita comunicao e respostas rpidas a qualquer mudana geralmente o cliente no define requisitos quantitativos de qualidade uma VSE normalmente no responsvel pela gesto do sistema, integrao de software, instalao e operao.

RELACIONAMENTO COM A NORMA


Objetivos de processos PM.O3. As solicitaes de mudana so tratadas atravs de sua recepo e anlise. Mudanas nos requisitos de software so avaliadas quanto ao custo, prazo e impacto tcnico. PM.O4. Conduzir reunies de reviso com a equipe de trabalho e o cliente. Decises so registradas e acompanhadas. PM.O7. Garantia de qualidade de software realizada para garantir que produtos e processos de trabalho cumprem o plano de projeto e a especificao de requisitos. .............. SI.O2. Requisitos de software so definidos, analisados quanto correo e testabilidade, aprovados pelo cliente, colocado em baseline e comunicados. SI.O7. So realizadas tarefas de verificao e validao de todos os produtos de trabalho requeridos usando critrios definidos para assegurar a consistncia entre produtos de sada e entrada em cada atividade. Defeitos so identificados e corrigidos, os registros so armazenados em resultados de verificao/validao. Produtos de trabalho Especificao de requisitos Resultados de verificao e resultados de validao Solicitao de mudana Registro de reunio Resultados de verificao e resultados de validao

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | ANEXO

GUIA DE IMPLEMENTAO
71

a satisfao do cliente depende de:

ANEXOS

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

CATEGORIA 3: PROCESSOS DE NEGCIO INTERNOS

ANEXOS

CARACTERSTICAS o processo principal desenvolver, sob contrato, sistemas de software customizados, escritos na empresa o produto de software elaborado de forma progressiva e tem que ser consistente com os requisitos do cliente os produtos so desenvolvidos ou mantidos por meio de projetos com um nico canal de comunicao entre o grupo de implementao e o cliente o nmero de desenvolvedores na organizao pequeno; portanto, a maior parte da comunicao, tomada de deciso e resoluo de problemas pode ser realizada prontamente, face a face a VSE superficial na gesto de projetos e focada em atividades de implementao de software os processos gerncia de infraestrutura, gerncia de portflio de projetos e gerncia de recursos humanos so realizados por meio de mecanismos informais, face a face os produtos gerados pelos projetos so itens de software que podem ter mais de uma verso e tm de ser salvos e controlados

NECESSIDADES E COMPETNCIAS SUGERIDAS

GUIA DE IMPLEMENTAO

Controle de verso e armazenamento dos produtos gerados durante o projeto Elaborao progressiva do produto de software, alcanando consistncia com os requisitos do cliente

RELACIONAMENTO COM A NORMA


Objetivos de processos PM.O6. estabelecida uma estratgia de controle de ver-so do software. Itens de configurao de software so identificados, definidos e colocados em baseline. As modificaes e liberaes dos itens so controladas e disponibilizadas ao cliente e equipe de trabalho, incluindo o armazenamento, manuseio e entrega dos itens. .............. SI.O3. Um projeto de arquitetura e detalhamento desenvolvido e colocado em baseline. Ele descreve os itens de SW e suas interfaces internas e externas. estabelecida consistncia e rastreabilidade aos requisitos de software. SI.O4. Componentes de SW definidos para projeto so produzidos. Testes unitrios so definidos e realizados para verificar a consistncia com os requisitos e o projeto. estabelecida rastreabilidade para os requisitos e o projeto. SI.O5. Software produzido fazendo a integrao dos componentes de SW e verificado usando casos e procedimentos de teste. Os resultados so registrados no relatrio de teste. Os defeitos so corrigidos e estabelecida consistncia e rastreabilidade ao projeto do software. SI.O6. Uma configurao de SW, que atende especificao de requisitos conforme acordado com o cliente, a qual inclui documentaes do usurio, de operao e de manuteno integrada, colocada em baseline e armazenada no repositrio do projeto. Necessidades de alteraes na configurao do software so detectadas e as devidas solicitaes de mudana so iniciadas. Produtos de trabalho Repositrio do projeto Componentes de software Documentao de manuteno Software Projeto do software Casos de teste Registro de rastreabilidade Backup do repositrio do projeto Relatrio de teste Guia de operao do produto Configurao do software Documentao de usurio Procedimentos de teste

72

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | ANEXOS

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

CATEGORIA 4: APRENDIZAGEM E CRESCIMENTO


CARACTERSTICAS NECESSIDADES E COMPETNCIAS SUGERIDAS

conscincia da importncia das normas falta de recursos humanos para engajar na normalizao falta de informao sobre as normas falta de conhecimento sobre melhoria de processo de software e avaliao de processos Orientaes, flexveis e fceis de usar por novatos, para adotar prticas de Normas focadas em processos para apoiar suas necessidades nos projetos de desenvolvimento de software

RELACIONAMENTO COM A NORMA


Objetivos de processos No h objetivos de processos obrigatrios relaciona-dos Produtos de trabalho No h produtos de trabalho obrigatrios relacionados Outros elementos da srie O guia de gesto e engenharia Projeto ABNT NBR ISO/IEC 29110-5 auxilia a implementao do perfil bsico e pode auxiliar o aprendizado da VSE. Trata-se de um documento til para o desenvolvimento de software e o gerenciamento de projetos, que traz a descrio dos processos nos quais se integram propsitos, objetivos, resultados, atividades, tarefas, produtos e papis dentro de fluxos de trabalho explcitos.

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | ANEXO

GUIA DE IMPLEMENTAO
73

ANEXOS

DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES GUIA DE IMPLEMENTAO

GUIA DE IMPLEMENTAO REFERNCIAS

REFERNCIAS
ABNT NBR ISO/IEC 29110-2:2012, Engenharia de software Perfis de ciclo de vida para micro-organizaes (VSEs) Parte 2: Estrutura e taxonomia ABNT NBR ISO/IEC 29110-4-1:2012, Engenharia de software Perfis de ciclo de vida para micro-organizaes (VSEs) Parte 4-1: Especificaes de perfil: Grupo Perfil Genrico ABNT ISO/IEC TR 29110-5-1-2:2012, Engenharia de software Perfis de ciclo de vida para micro-organizaes (VSEs) Parte 5-1-2: Guia de engenharia e gesto: Grupo perfil genrico: Perfil bsico FUGGETTA, A. Software process: a roadmap. In: ICSE - Future of Software - Software Engineering Track, pp. 25-34. 2000. GEM. GEM Global Entrepreneurship Monitor, London Business School & Babson College, EUA. 2006. Global Network of VSE (Very Small Entities) Support Centres. cole de technologie suprieure. http://profs.etsmtl.ca/claporte/English/VSE/. ISO/IEC12207, 2008, Systems and software engineering Software life cycle processes.

74

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | REFERNCIAS

GUIA DE IMPLEMENTAO DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES

NORMALIZAO

ISO/IEC TR 29110-1, Software engineering - Lifecycle profiles for very small entities (VSE) - Part 1: Overview. Geneva: International Organization for Standardization (ISO), 2011. ISO/IEC TR 29110-3, Software engineering - Lifecycle profiles for very small entities (VSEs) - Part 3: Assessment Guide. Geneva: International Organization for Standardization (ISO), 2011. Observatrio SOFTEX. Relatrio Anual do Observatrio Softex IBSS Indstria Brasileira de Software e Servios. http://www.softex.br/observatoriosoftex/_home/default. asp. 2011 OECD - Organization for Economic Co-operation and Development. SME and Entrepreneurship Outlook [Relatrio]. 2005. PRESSMAN, Roger S. Engenharia de Software. Sexta Edio. Porto Alegre: MCGrawHill, 2010. STAPLES, M., NIAZI, M., JEFFERY, R., et al. An exploratory study of why organizations do not adopt CMMI, Journal of Systems and Software, v. 80, n. 6, pp. 883-895, 2007

GUIA DE IMPLEMENTAO | DESENVOLVIMENTO DE SOFTWARES PARA PEQUENAS ORGANIZAES | REFERNCIAS

GUIA DE IMPLEMENTAO REFERNCIAS


75

Potrebbero piacerti anche