SlideShare uma empresa Scribd logo
Engenharia de Software no dia-dia:
10 dicas fundamentais pra equipes
de software
Veja neste artigo sugestões fundamentais para
profissionais na área de TI que pretendem
desenvolver um software para venda.
Hoje existem muitos nichos de mercado sem um software compatível, e softwares ótimos,
porém incompatíveis com o seguimento em que são utilizados.

Desenvolvedores iniciam seus softwares com ideias geniais, mas não alcançam o sucesso
esperado, talvez pela ansiedade em entregar algo ao cliente e não em satisfazer as
necessidades do negócio, do mercado, esquecendo-se de gerenciar equipes e principalmente,
de utilizar a engenharia de software.

Nesse post são descritas dez dicas que buscam auxiliar equipes de desenvolvimento a utilizar
na prática princípios da engenharia de software e terem seus resultados refletidos na sua
rotina.

1º - ANÁLISE DE NEGÓCIO – Conheça o negócio




Figura 1: Conheça o negócio

Conheça o mercado e as necessidades que seu software vai suprir – invista tempo em
conhecer os processos do negócio que deseja ingressar.

É comum empresários iniciantes focarem em desenvolver ‘adivinhando’ o que o cliente
necessita, no erro e acerto.

Organize uma análise de negócio, crie diagramas de estado, requisitos detalhados, entenda os
processos e se envolva na rotina dos usuários.

2º - GESTÃO DE CONHECIMENTO - Compartilhar conhecimento
na equipe
Figura 2: Compartilhar conhecimento

Quando existir mais de um componente na equipe, todo o conhecimento coletado deve ser
compartilhado em reuniões, debates, isso é fundamental para que todos estejam envolvidos.

Hoje a tecnologia nos permite reuniões sem precisar do encontro presencial. É importante que
todos conheçam do negócio e não apenas um na equipe, todos devem ter o objetivo comum
de suprir a necessidade do cliente, e para isso é preciso saber quais são essas necessidades.

3º - GESTÃO DE PROCESSOS - Defina fases no seu processo




Figura 3: Crie um ciclo
Indiferente do tempo e do tamanho do software, devem ser determinadas as fases do seu
processo, conforme características do grupo de desenvolvedores, do cliente e do produto.

Não deve se ater a paradigmas já existentes, deve existir a coerência com a forma que da
equipe trabalhar, a sugestão é criar seu próprio ciclo de vida.

4º - ENGENHARIA DE REQUISITOS - Dar importância a fase de
análise




Figura 4: Engenharia de requisitos

É comum ouvir: ‘O software é pequeno’, ‘Só estamos iniciando’ e esse é um dos maiores
equívocos na hora de desenvolver um produto.

Definir a análise desde o inicio, é fundamental para facilitar o crescimento do software. A falta
de métodos de análise acaba tornando impossível de se reverter depois que aumenta o
número de rotinas e a complexidade de requisitos.

É fundamental a análise de requisitos, mas destaca-se que a maior dúvida das equipes é quais
os diagramas são mais importantes e que realmente são necessários, tendo em vista que a
equipe é pequena e o tempo curto.

Para discutirmos esse item retornamos ao 1º item, onde os tipos de diagramas e casos de uso
utilizados, devem ser para uso da organização, não adianta gastar tempo realizando análises
que não serão utilizadas, por isso é necessário definir o que é fundamental.

Qual a análise que agilizaria o desenvolvimento? Os testes? As manutenções?

Essa definição deve ser realizada pela equipe, buscando suprir necessidades que a própria
equipe levantará.

Um exemplo é no inicio do negócio, onde há uma dificuldade maior de entender o negócio, o
foco, nesses casos, pode ser em diagramas que facilitem o entendimento do negócio e
também o desenvolvimento, destacando que a abordagem de UML é fundamental, pela
compreensão universal.

5º TECNOLOGIA – Uma dúvida comum é qual a tecnologia a
utilizar no desenvolvimento
Figura 5: Escolher tecnologia

Essa escolha pode engessar ou atrasar o crescimento de um produto e por isso deve ser
analisada muito bem.

O desenvolvimento deve ser realizado em tecnologias flexíveis, que possibilitem mudanças.

Indiferente do mercado em que está inserido, a evolução é muito rápida e a concorrência
inevitável.

6º GESTÃO DE CONFIGURAÇÃO – Organize seus artefatos




Figura 6: Organize artefatos

Além de artefatos organizados, deve ser criada uma rastreabilidade, não havendo duplicidade
de nomenclaturas.

Não deve haver dúvidas dos stakeholders em relação ao que fazer, de como fazer, o que
precisa para executar sua tarefa e o que será gerado depois de encerrada sua tarefa.

Existem ferramentas que auxiliam nisso, porém, indiferente das ferramentas, gerencia de
configuração é um principio.
8º GESTÃO DA QUALIDADE – O planejado será entregue?




Figura 7: Qualidade

A qualidade deve responder se o esperado foi realizado e não o cliente.

Cabe à equipe saber em que momento se insere a verificação disso. Um exemplo é antes de
começar a modelar ter certeza se é isso que o usuário precisa (validação), antes de
desenvolver devem ser realizados testes, para então liberar.

Deve ser destacado que a qualidade esta presente não só no produto final, mas em todos os
artefatos gerados, e esses devem ser auditados.

9º FEEDBACK DO USUÁRIO – As organizações crescem e a
preocupação com o que o seu usuário pensa sobre o software
some
Figura 8: Feedback cliente

É imprescindível que sejam criadas ações fora dos projetos que melhorem a qualidade, uma
dessas são as auditorias de qualidade externa, onde se pesquisa problemas apontados pelos
usuários no software, as dificuldades que podem ser solucionadas de forma simples,
principalmente de layout.

Coletas de requisitos interativas com usuários são fundamentais, isso auxilia o software a estar
sempre atualizado e compatível com a realidade do mercado.

10º DEFINA PAPÉIS – Papel é diferente de cargo e diferente de
individuo




Figura 9: Papéis definidos

Um indivíduo pode desempenhar mais do que um papel na organização, porém cada papel
deve estar definido, (o que o desenvolvedor faz, quando faz, o que o analista faz...). Isso
auxiliaria a padronizar tarefas e também a definir perfis, que facilitam na escolha de novos
colaboradores.

A utilização da engenharia de software deve ser um hábito, seu leque de possibilidades é
vasto, então não copie, utilize a engenharia a seu favor, crie seu processo conforme possa
trabalhar e aplique técnicas, metodologias e ferramentas de maneira que facilite e seja usual a
equipe. Cada organização, indiferente de tamanho, tem suas características e existem formas
gratuitas e fáceis de aplicar a engenharia de software.

por Ivânia Ramos dos Santos

Bacharel em Sistemas de Informação pela Faculdade Mater Dei (2008), especialista em
Engenharia de Software pela Faculdade Mater Dei (2011). Atua como analista de controle de
qualidade de processos e configuração, professora na Universidade Tecnológica Federal do
Paraná e consultora de processos e projetos pela empresa Akaia. Experiência na
implementação do modelo MPS.BR.


                      www.devmedia.com.br/articles/viewcomp.asp?comp=26950

Mais conteúdo relacionado

Mais procurados

Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMetodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Matheus Costa
 
Metodologias ágeis de desenvolvimento trabalho
Metodologias ágeis de desenvolvimento   trabalhoMetodologias ágeis de desenvolvimento   trabalho
Metodologias ágeis de desenvolvimento trabalho
Ruan Pozzebon
 
Apresentação de Engenharia de software I - Prof. Cristiane Fidelix
Apresentação de Engenharia de software I - Prof. Cristiane FidelixApresentação de Engenharia de software I - Prof. Cristiane Fidelix
Apresentação de Engenharia de software I - Prof. Cristiane Fidelix
Cris Fidelix
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
MarcosMaozinha
 
Amostra do E-book 50 ferramentas de gestão
Amostra do E-book 50 ferramentas de gestãoAmostra do E-book 50 ferramentas de gestão
Amostra do E-book 50 ferramentas de gestão
Orlando Lima Treinamentos
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
Milfont Consulting
 
Papeis Ágeis - uma proposta operacional Scrum
Papeis Ágeis - uma proposta operacional ScrumPapeis Ágeis - uma proposta operacional Scrum
Papeis Ágeis - uma proposta operacional Scrum
Kleitor Franklint Correa Araujo
 
Guia do Papel e Responsabilidade do Scrum Master
Guia do Papel e Responsabilidade do Scrum MasterGuia do Papel e Responsabilidade do Scrum Master
Guia do Papel e Responsabilidade do Scrum Master
Paulo Lomanto
 
Analise de Requisitos de Software
Analise de Requisitos de SoftwareAnalise de Requisitos de Software
Analise de Requisitos de Software
Robson Silva Espig
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de software
Roberto Brandini
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentação
erysonsi
 
DESENVOLVIMENTO E GERENCIAMENTO ÁGIL DE PROJETOS DE SOFTWARE
DESENVOLVIMENTO E GERENCIAMENTO ÁGIL DE PROJETOS DE SOFTWAREDESENVOLVIMENTO E GERENCIAMENTO ÁGIL DE PROJETOS DE SOFTWARE
DESENVOLVIMENTO E GERENCIAMENTO ÁGIL DE PROJETOS DE SOFTWARE
Cloves da Rocha
 
[Webinar] Scrum - Você está fazendo do jeito certo?
[Webinar] Scrum - Você está fazendo do jeito certo?[Webinar] Scrum - Você está fazendo do jeito certo?
[Webinar] Scrum - Você está fazendo do jeito certo?
TargetTrust
 
Resumo para Modelagem/Mapeamento de Processos de Negócios
Resumo para Modelagem/Mapeamento de Processos de NegóciosResumo para Modelagem/Mapeamento de Processos de Negócios
Resumo para Modelagem/Mapeamento de Processos de Negócios
CompanyWeb
 
Ferramentas e Conceitos em Lean Seis Sigma
Ferramentas e Conceitos em Lean Seis SigmaFerramentas e Conceitos em Lean Seis Sigma
Ferramentas e Conceitos em Lean Seis Sigma
Francisco Mello Castro
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
Kleitor Franklint Correa Araujo
 
Scrum na Prática
Scrum na PráticaScrum na Prática
Scrum na Prática
Alexandre Amorim
 
Guia Rápido fazer a proposta do Redesenho/Novo Processo (TO BE)
Guia Rápido fazer a proposta do Redesenho/Novo Processo (TO BE)Guia Rápido fazer a proposta do Redesenho/Novo Processo (TO BE)
Guia Rápido fazer a proposta do Redesenho/Novo Processo (TO BE)
CompanyWeb
 
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaMetodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Fernando Palma
 
Seminário - Scrum , Kaban e XP
Seminário - Scrum , Kaban e XPSeminário - Scrum , Kaban e XP
Seminário - Scrum , Kaban e XP
Lays Lopes
 

Mais procurados (20)

Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMetodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
 
Metodologias ágeis de desenvolvimento trabalho
Metodologias ágeis de desenvolvimento   trabalhoMetodologias ágeis de desenvolvimento   trabalho
Metodologias ágeis de desenvolvimento trabalho
 
Apresentação de Engenharia de software I - Prof. Cristiane Fidelix
Apresentação de Engenharia de software I - Prof. Cristiane FidelixApresentação de Engenharia de software I - Prof. Cristiane Fidelix
Apresentação de Engenharia de software I - Prof. Cristiane Fidelix
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
Amostra do E-book 50 ferramentas de gestão
Amostra do E-book 50 ferramentas de gestãoAmostra do E-book 50 ferramentas de gestão
Amostra do E-book 50 ferramentas de gestão
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Papeis Ágeis - uma proposta operacional Scrum
Papeis Ágeis - uma proposta operacional ScrumPapeis Ágeis - uma proposta operacional Scrum
Papeis Ágeis - uma proposta operacional Scrum
 
Guia do Papel e Responsabilidade do Scrum Master
Guia do Papel e Responsabilidade do Scrum MasterGuia do Papel e Responsabilidade do Scrum Master
Guia do Papel e Responsabilidade do Scrum Master
 
Analise de Requisitos de Software
Analise de Requisitos de SoftwareAnalise de Requisitos de Software
Analise de Requisitos de Software
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de software
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentação
 
DESENVOLVIMENTO E GERENCIAMENTO ÁGIL DE PROJETOS DE SOFTWARE
DESENVOLVIMENTO E GERENCIAMENTO ÁGIL DE PROJETOS DE SOFTWAREDESENVOLVIMENTO E GERENCIAMENTO ÁGIL DE PROJETOS DE SOFTWARE
DESENVOLVIMENTO E GERENCIAMENTO ÁGIL DE PROJETOS DE SOFTWARE
 
[Webinar] Scrum - Você está fazendo do jeito certo?
[Webinar] Scrum - Você está fazendo do jeito certo?[Webinar] Scrum - Você está fazendo do jeito certo?
[Webinar] Scrum - Você está fazendo do jeito certo?
 
Resumo para Modelagem/Mapeamento de Processos de Negócios
Resumo para Modelagem/Mapeamento de Processos de NegóciosResumo para Modelagem/Mapeamento de Processos de Negócios
Resumo para Modelagem/Mapeamento de Processos de Negócios
 
Ferramentas e Conceitos em Lean Seis Sigma
Ferramentas e Conceitos em Lean Seis SigmaFerramentas e Conceitos em Lean Seis Sigma
Ferramentas e Conceitos em Lean Seis Sigma
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
Scrum na Prática
Scrum na PráticaScrum na Prática
Scrum na Prática
 
Guia Rápido fazer a proposta do Redesenho/Novo Processo (TO BE)
Guia Rápido fazer a proposta do Redesenho/Novo Processo (TO BE)Guia Rápido fazer a proposta do Redesenho/Novo Processo (TO BE)
Guia Rápido fazer a proposta do Redesenho/Novo Processo (TO BE)
 
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaMetodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
 
Seminário - Scrum , Kaban e XP
Seminário - Scrum , Kaban e XPSeminário - Scrum , Kaban e XP
Seminário - Scrum , Kaban e XP
 

Semelhante a Engenharia de Software Dia-a-Dia

Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008
ECRAYON Tecnologia Criativa
 
Artigo asap - metodologia de gestão de projetos para implementação de pacot...
Artigo   asap - metodologia de gestão de projetos para implementação de pacot...Artigo   asap - metodologia de gestão de projetos para implementação de pacot...
Artigo asap - metodologia de gestão de projetos para implementação de pacot...
Garage Criativa | Garage Hub
 
Aula 5 semana
Aula 5 semanaAula 5 semana
Aula 5 semana
Jorge Ávila Miranda
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
Adriano Bertucci
 
Palestra ERP Graduação v1.0
Palestra ERP Graduação v1.0Palestra ERP Graduação v1.0
Palestra ERP Graduação v1.0
GrupoMENTHOR
 
Virei CTO, e agora?
Virei CTO, e agora?Virei CTO, e agora?
Virei CTO, e agora?
Gabriel Rodrigues Couto
 
Lean software
Lean software Lean software
Lean software
Sergio Crespo
 
1MA5591D-desenvolvimento agil_alunos.pdf
1MA5591D-desenvolvimento agil_alunos.pdf1MA5591D-desenvolvimento agil_alunos.pdf
1MA5591D-desenvolvimento agil_alunos.pdf
suporteredework1
 
Engenharia de Software Pressman
Engenharia de Software PressmanEngenharia de Software Pressman
Engenharia de Software Pressman
Simoneinfo
 
Uma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de ProjetosUma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de Projetos
Giovani Elísio Silva
 
Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?
Priscilla Aguiar
 
Artigo piramide lean final
Artigo piramide lean   finalArtigo piramide lean   final
Artigo piramide lean final
Startupi
 
Microsoft - Application Lifecycle Management - Visão Geral
Microsoft - Application Lifecycle Management - Visão GeralMicrosoft - Application Lifecycle Management - Visão Geral
Microsoft - Application Lifecycle Management - Visão Geral
Alan Carlos
 
Como fazer a gestão do Time de Desenvolvimento
Como fazer a gestão do Time de DesenvolvimentoComo fazer a gestão do Time de Desenvolvimento
Como fazer a gestão do Time de Desenvolvimento
Aragon Vieira
 
Palestra ERP MBA Unisinos v1.0
Palestra ERP MBA Unisinos v1.0Palestra ERP MBA Unisinos v1.0
Palestra ERP MBA Unisinos v1.0
GrupoMENTHOR
 
Os 10 maiores erros em projetos de CRM
Os 10 maiores erros em projetos de CRMOs 10 maiores erros em projetos de CRM
Os 10 maiores erros em projetos de CRM
Silvio César de Oliveira
 
Análise de pontos de função
Análise de pontos de funçãoAnálise de pontos de função
Análise de pontos de função
42549299272
 
Guia Prático em Análise de Ponto de Função
Guia Prático em Análise de Ponto de FunçãoGuia Prático em Análise de Ponto de Função
Guia Prático em Análise de Ponto de Função
Fernando Palma
 
Práticas de Métodos Ágeis e Possibilidade de Execução em Ambiente de Trabalh...
Práticas de Métodos Ágeis e Possibilidade de Execução em Ambiente de  Trabalh...Práticas de Métodos Ágeis e Possibilidade de Execução em Ambiente de  Trabalh...
Práticas de Métodos Ágeis e Possibilidade de Execução em Ambiente de Trabalh...
Silvio Gonçalves
 
Especificação requisitos
Especificação requisitosEspecificação requisitos
Especificação requisitos
Luis Fernandes
 

Semelhante a Engenharia de Software Dia-a-Dia (20)

Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008
 
Artigo asap - metodologia de gestão de projetos para implementação de pacot...
Artigo   asap - metodologia de gestão de projetos para implementação de pacot...Artigo   asap - metodologia de gestão de projetos para implementação de pacot...
Artigo asap - metodologia de gestão de projetos para implementação de pacot...
 
Aula 5 semana
Aula 5 semanaAula 5 semana
Aula 5 semana
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 
Palestra ERP Graduação v1.0
Palestra ERP Graduação v1.0Palestra ERP Graduação v1.0
Palestra ERP Graduação v1.0
 
Virei CTO, e agora?
Virei CTO, e agora?Virei CTO, e agora?
Virei CTO, e agora?
 
Lean software
Lean software Lean software
Lean software
 
1MA5591D-desenvolvimento agil_alunos.pdf
1MA5591D-desenvolvimento agil_alunos.pdf1MA5591D-desenvolvimento agil_alunos.pdf
1MA5591D-desenvolvimento agil_alunos.pdf
 
Engenharia de Software Pressman
Engenharia de Software PressmanEngenharia de Software Pressman
Engenharia de Software Pressman
 
Uma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de ProjetosUma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de Projetos
 
Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?
 
Artigo piramide lean final
Artigo piramide lean   finalArtigo piramide lean   final
Artigo piramide lean final
 
Microsoft - Application Lifecycle Management - Visão Geral
Microsoft - Application Lifecycle Management - Visão GeralMicrosoft - Application Lifecycle Management - Visão Geral
Microsoft - Application Lifecycle Management - Visão Geral
 
Como fazer a gestão do Time de Desenvolvimento
Como fazer a gestão do Time de DesenvolvimentoComo fazer a gestão do Time de Desenvolvimento
Como fazer a gestão do Time de Desenvolvimento
 
Palestra ERP MBA Unisinos v1.0
Palestra ERP MBA Unisinos v1.0Palestra ERP MBA Unisinos v1.0
Palestra ERP MBA Unisinos v1.0
 
Os 10 maiores erros em projetos de CRM
Os 10 maiores erros em projetos de CRMOs 10 maiores erros em projetos de CRM
Os 10 maiores erros em projetos de CRM
 
Análise de pontos de função
Análise de pontos de funçãoAnálise de pontos de função
Análise de pontos de função
 
Guia Prático em Análise de Ponto de Função
Guia Prático em Análise de Ponto de FunçãoGuia Prático em Análise de Ponto de Função
Guia Prático em Análise de Ponto de Função
 
Práticas de Métodos Ágeis e Possibilidade de Execução em Ambiente de Trabalh...
Práticas de Métodos Ágeis e Possibilidade de Execução em Ambiente de  Trabalh...Práticas de Métodos Ágeis e Possibilidade de Execução em Ambiente de  Trabalh...
Práticas de Métodos Ágeis e Possibilidade de Execução em Ambiente de Trabalh...
 
Especificação requisitos
Especificação requisitosEspecificação requisitos
Especificação requisitos
 

Engenharia de Software Dia-a-Dia

  • 1. Engenharia de Software no dia-dia: 10 dicas fundamentais pra equipes de software Veja neste artigo sugestões fundamentais para profissionais na área de TI que pretendem desenvolver um software para venda. Hoje existem muitos nichos de mercado sem um software compatível, e softwares ótimos, porém incompatíveis com o seguimento em que são utilizados. Desenvolvedores iniciam seus softwares com ideias geniais, mas não alcançam o sucesso esperado, talvez pela ansiedade em entregar algo ao cliente e não em satisfazer as necessidades do negócio, do mercado, esquecendo-se de gerenciar equipes e principalmente, de utilizar a engenharia de software. Nesse post são descritas dez dicas que buscam auxiliar equipes de desenvolvimento a utilizar na prática princípios da engenharia de software e terem seus resultados refletidos na sua rotina. 1º - ANÁLISE DE NEGÓCIO – Conheça o negócio Figura 1: Conheça o negócio Conheça o mercado e as necessidades que seu software vai suprir – invista tempo em conhecer os processos do negócio que deseja ingressar. É comum empresários iniciantes focarem em desenvolver ‘adivinhando’ o que o cliente necessita, no erro e acerto. Organize uma análise de negócio, crie diagramas de estado, requisitos detalhados, entenda os processos e se envolva na rotina dos usuários. 2º - GESTÃO DE CONHECIMENTO - Compartilhar conhecimento na equipe
  • 2. Figura 2: Compartilhar conhecimento Quando existir mais de um componente na equipe, todo o conhecimento coletado deve ser compartilhado em reuniões, debates, isso é fundamental para que todos estejam envolvidos. Hoje a tecnologia nos permite reuniões sem precisar do encontro presencial. É importante que todos conheçam do negócio e não apenas um na equipe, todos devem ter o objetivo comum de suprir a necessidade do cliente, e para isso é preciso saber quais são essas necessidades. 3º - GESTÃO DE PROCESSOS - Defina fases no seu processo Figura 3: Crie um ciclo
  • 3. Indiferente do tempo e do tamanho do software, devem ser determinadas as fases do seu processo, conforme características do grupo de desenvolvedores, do cliente e do produto. Não deve se ater a paradigmas já existentes, deve existir a coerência com a forma que da equipe trabalhar, a sugestão é criar seu próprio ciclo de vida. 4º - ENGENHARIA DE REQUISITOS - Dar importância a fase de análise Figura 4: Engenharia de requisitos É comum ouvir: ‘O software é pequeno’, ‘Só estamos iniciando’ e esse é um dos maiores equívocos na hora de desenvolver um produto. Definir a análise desde o inicio, é fundamental para facilitar o crescimento do software. A falta de métodos de análise acaba tornando impossível de se reverter depois que aumenta o número de rotinas e a complexidade de requisitos. É fundamental a análise de requisitos, mas destaca-se que a maior dúvida das equipes é quais os diagramas são mais importantes e que realmente são necessários, tendo em vista que a equipe é pequena e o tempo curto. Para discutirmos esse item retornamos ao 1º item, onde os tipos de diagramas e casos de uso utilizados, devem ser para uso da organização, não adianta gastar tempo realizando análises que não serão utilizadas, por isso é necessário definir o que é fundamental. Qual a análise que agilizaria o desenvolvimento? Os testes? As manutenções? Essa definição deve ser realizada pela equipe, buscando suprir necessidades que a própria equipe levantará. Um exemplo é no inicio do negócio, onde há uma dificuldade maior de entender o negócio, o foco, nesses casos, pode ser em diagramas que facilitem o entendimento do negócio e também o desenvolvimento, destacando que a abordagem de UML é fundamental, pela compreensão universal. 5º TECNOLOGIA – Uma dúvida comum é qual a tecnologia a utilizar no desenvolvimento
  • 4. Figura 5: Escolher tecnologia Essa escolha pode engessar ou atrasar o crescimento de um produto e por isso deve ser analisada muito bem. O desenvolvimento deve ser realizado em tecnologias flexíveis, que possibilitem mudanças. Indiferente do mercado em que está inserido, a evolução é muito rápida e a concorrência inevitável. 6º GESTÃO DE CONFIGURAÇÃO – Organize seus artefatos Figura 6: Organize artefatos Além de artefatos organizados, deve ser criada uma rastreabilidade, não havendo duplicidade de nomenclaturas. Não deve haver dúvidas dos stakeholders em relação ao que fazer, de como fazer, o que precisa para executar sua tarefa e o que será gerado depois de encerrada sua tarefa. Existem ferramentas que auxiliam nisso, porém, indiferente das ferramentas, gerencia de configuração é um principio.
  • 5. 8º GESTÃO DA QUALIDADE – O planejado será entregue? Figura 7: Qualidade A qualidade deve responder se o esperado foi realizado e não o cliente. Cabe à equipe saber em que momento se insere a verificação disso. Um exemplo é antes de começar a modelar ter certeza se é isso que o usuário precisa (validação), antes de desenvolver devem ser realizados testes, para então liberar. Deve ser destacado que a qualidade esta presente não só no produto final, mas em todos os artefatos gerados, e esses devem ser auditados. 9º FEEDBACK DO USUÁRIO – As organizações crescem e a preocupação com o que o seu usuário pensa sobre o software some
  • 6. Figura 8: Feedback cliente É imprescindível que sejam criadas ações fora dos projetos que melhorem a qualidade, uma dessas são as auditorias de qualidade externa, onde se pesquisa problemas apontados pelos usuários no software, as dificuldades que podem ser solucionadas de forma simples, principalmente de layout. Coletas de requisitos interativas com usuários são fundamentais, isso auxilia o software a estar sempre atualizado e compatível com a realidade do mercado. 10º DEFINA PAPÉIS – Papel é diferente de cargo e diferente de individuo Figura 9: Papéis definidos Um indivíduo pode desempenhar mais do que um papel na organização, porém cada papel deve estar definido, (o que o desenvolvedor faz, quando faz, o que o analista faz...). Isso auxiliaria a padronizar tarefas e também a definir perfis, que facilitam na escolha de novos colaboradores. A utilização da engenharia de software deve ser um hábito, seu leque de possibilidades é vasto, então não copie, utilize a engenharia a seu favor, crie seu processo conforme possa trabalhar e aplique técnicas, metodologias e ferramentas de maneira que facilite e seja usual a equipe. Cada organização, indiferente de tamanho, tem suas características e existem formas gratuitas e fáceis de aplicar a engenharia de software. por Ivânia Ramos dos Santos Bacharel em Sistemas de Informação pela Faculdade Mater Dei (2008), especialista em
  • 7. Engenharia de Software pela Faculdade Mater Dei (2011). Atua como analista de controle de qualidade de processos e configuração, professora na Universidade Tecnológica Federal do Paraná e consultora de processos e projetos pela empresa Akaia. Experiência na implementação do modelo MPS.BR. www.devmedia.com.br/articles/viewcomp.asp?comp=26950