TCC I – IES
Ciência da Computação
Orientador: Cristiano Schwening
Coorientador: Patryck Ramos Martins
TCC I – IES
Hezio Fernandes
Junior Java Web Developer at Digitro
br.linkedin.com/pub/hézio-fernandes/46/627/b39
William Melchior Jablonski
Quality Assurance Specialist at Flexy
br.linkedin.com/in/williamjablonski/
Aplicação do desenvolvimento
orientado a testes e comportamento em
empresas startup como pratica para redução
de custos de manutenção e evolução do
software.
 O número de empreendedores no
Brasil cresceu 44% nos últimos 10 anos.
Fonte: http://g1.globo.com/jornal-hoje/noticia/2013/03/numero-de-empreendedores-do-pais-cresce-mais-de-40-nos-ultimos-anos.html
 48% das empresas brasileiras fecham as portas
depois de três anos.
Fonte: http://portal2.pr.sebrae.com.br/PortalInternet/Noticia/ci.48%25-das-empresas-brasileiras-fecham-as-portas-depois-de-tr%C3%AAs-anos.print
 O 4° maior motivo de falência é o descontrole do
fluxo de caixa das empresas.
Fonte: http://economia.uol.com.br/ultimas-noticias/redacao/2012/04/04/sebrae-lista-os-6-maiores-erros-de-quem-vai-a-falencia-saiba-como-evita-
los.jhtm
Apresentar o conceito e um exemplo do
desenvolvimento de software utilizando práticas de
TDD, ATDD e BDD em uma empresa Startup e seus
benefícios.
TDD, ATDD, BDD, Startup, o que são?
Test Driven Development
Accepted Test Driven Development
Behavior Driven Development
 Apresentar os impactos da falta de qualidade no software como
motivação para o investimento em qualidade, testes e mapeamento das
funcionalidades do software no código fonte.
 Apresentar brevemente alguns tipos de processo de desenvolvimento de
software.
 Apresentar e aplicar o conceito de desenvolvimento orientado a teste
de unidade (TDD) entendendo o papel no processo de desenvolvimento e
evolução do software.
 Apresentar e aplicar o conceito de desenvolvimento orientado a teste
de aceite (ATDD) e entendendo o papel no processo de desenvolvimento e
evolução do software.
 Apresentar e aplicar o conceito de desenvolvimento orientado a
comportamento (BDD) e entendendo o papel no processo de
desenvolvimento e evolução do software.
 Apresentar o conceito de Startup.
 Avaliar o retorno do investimento da utilização das metodologias ágeis
e técnicas de TDD, ATDD e BDD em empresas Startup de desenvolvimento
de software.
 A implantação das técnicas de desenvolvimento
ágil tende a ter um aumento da qualidade.
 A utilização das técnicas de desenvolvimento ágil
tende a ter redução de custos com a manutenção do
software.
 Com a aplicação das técnicas de desenvolvimento
ágil é possível mapear o atendimento dos requisitos
acordados com o cliente.
 O uso das técnicas de desenvolvimento ágil tende
a trazer mais segurança à equipe na manutenção do
código legado.
 “Conjunto de características que devem ser alcançadas em um
determinado grau para que o produto atenda às necessidades
de seus usuários.” Rocha (2001)
 “Totalidade de características de uma entidade que lhe confere
a capacidade de satisfazer a necessidades explícitas e
implícitas.” NBR ISO (1994)
 Conformidade a (Pressman):
• Requisitos funcionais e de desempenho.
• Padrões e convenções de desenvolvimento pré-estabelecidos.
• Atributos implícitos que todo software desenvolvido
profissionalmente deve possuir.
Fonte: http://www.ic.unicamp.br/~ranido/mc626/Qualidade.pdf
O impacto pode ser categorizado:
- Financeiro;
- Humano;
- Moral.
A Explosão do Ariane 5
4 de junho de 1996 o foguete explodiu apenas quarenta segundos
após sua decolagem. O foguete destruído e sua carga foi avaliada em
US $ 500 milhões. Descobriu-se que a causa do fracasso foi um erro
de conversão numérica do software.
Fonte:http://www.ima.umn.edu/~arnold/disasters/ariane.html
Em 2009, um avião da Air France saído do rio de janeiro com destino a Paris
mergulhou no mar e matou mata 228 pessoas após sensor de velocidade congelar e o
alarme não soa assim não advertindo a tripulação da situação. Uma situação não prevista.
Fonte: http://news.nationalpost.com/2012/07/05/air-france-flight-to-paris-from-rio-crashed-because-of-pilot-error-faulty-sensors-report/
Uma atualização lançada em abril de 2013 pela Microsoft, está causando
problemas aos usuários do Windows 7. Uma falha na atualização pode impedir a
inicialização do sistema.
Fonte: http://veja.abril.com.br/blog/tech/curiosidades/falha-em-atualizacao-afeta-usuarios-do-windows-7/
Projetos acima do tempo e orçamento.
Baixa qualidade.
Não atendia os requisitos
Falta de compatibilidade.
Em 1968, especialistas se reúnem na
Alemanha, para discutir os problemas
relacionados com o desenvolvimento de
software.
Fonte: https://sites.google.com/site/labesw/disciplinas/ENG
 Derivado de modelos existentes em outras engenharias
 Sua estrutura é composta por várias etapas que são executadas de forma
sistemática e sequencial.
 Fonte: https://sites.google.com/site/labesw/disciplinas/ENG
Pontos Negativos:
Burocrático.
 Não funciona bem com mudanças.
Apenas o gerente tem uma visão geral do
andamento do projeto.
Entendimento dos requisitos pode ser
falho e causar erros em cascata.
Tempo de entrega.
Surgiu de uma reação contra métodos
ditos "pesados", caracterizados por uma
pesada regulamentação, documentação e
micro gerenciamento.
- Burocrático;
- Lento;
- Contraditório a forma usual com que os
engenheiros de software sempre
realizaram trabalho com eficiência.
1. Comunicação;
2. Simplicidade;
3. Feedback;
4. Coragem.
Fonte: http://www.capgemini.com/sites/default/files/technology-blog/files/2011/05/Grafx-Scrum-Sprint.png
Fonte: http://www.semeru.com.br/blog/wp-content/uploads/2012/09/xp.png
Fonte: http://www.devmedia.com.br/imagens/javamagazine/mpjuiiujfig01.jpg
ATDD
TDD
Metodologia de desenvolvimento de
software com foco em simplicidade e
qualidade.
Fonte: http://reddevnews.com/~/media/ECG/visualstudiomagazine/Images/2007/11/listingsID_148_0711_rdn_tb%20gif.ashx
Vatagens
- Processo de desenvolvimento simples e
incremental;
- Código automaticamente testável;
- Testes constantes;
- Melhor compreensão dos requisitos.
Desvantagem
- Definições de testes não são isentas de erros;
- Manutenção dos testes;
- Limitação financeira e de tempo;
- Não rastreavel as necessidades do cliente.
 Nesta técnica, os testes de aceitação são criados de maneira colaborativa e descritos em
uma linguagem comum a todos os membros da equipe. Dessa forma, toda a equipe
compartilha o mesmo entendimento do que deve ser feito, as restrições e as definições de
"Pronto".
 Essa nova abordagem traz os benefícios do TDD incorporando os critérios do cliente,
dessa forma, uma funcionalidade só estaria completa quando além das necessidades
técnicas, ela também implementasse todos os testes que comprovam que a
implementação está se comportando como o esperado.
 ATDD tem por objetivo capturar os critérios de aceitação para as funcionalidades em
desenvolvimento.
”Em complemento à prática de TDD, que visa garantir que as funcionalidades bases da
aplicação sejam desenvolvidas em conformidade com a arquitetura e projeto, a prática de
ATDD tende a prover feedback sobre o quão perto da conclusão da tarefa a equipe de
desenvolvimento se encontra, demonstrando uma clara visão do progresso.” NADALETE
(2010).
Fonte: http://tasafo.files.wordpress.com/2010/01/dirigindo-o-desenvolvimento-com-testes-atdd-e-tdd.pdf
Vantagens
Da uma visão clara para a equipe do
resultado esperado.
È possivel acompanhar melhor a evolução
do software.
Desvantagens
 Como o TDD é tecnico e dificil de rastrear
as histórias e necessidades do cliente.
Uma técnica de desenvolvimento agil que
visa integrar regras de negocio com
linguagem de programação.
Fonte: http://sobrecodigo.com/wp-content/uploads/2011/03/tdd_bdd.png
Vantagens
- Altamente rastreável (código, testes,
requisitos);
- Foco nos requisitos;
- Mapeamento do status atual das
funcionalidades durante a evolução do
sistema. No caso de uma funcionalidade
nova se sobrepõem ou impactar em outra
funcionalidade que já existia no sistema.
Desvantagens
- Tempo de desenvolvimento do BDD.
- Tempo de manutenção (evolutiva).
“Startup são pequenas empresas montadas em casa ou em faculdades
e que recebem pequenos aportes de capital. Elas exploram áreas
inovadoras de determinado setor (mais comumente a de tecnologia),
possuindo uma aceleração de crescimento muito alta já nos primeiros
meses de existência em virtude de investimentos feitos por fundos de
investimento especializados” Longhi (2011)
- Orçamento apertado;
- Foco em resultado rápido.
Dentre os beneficios já apresentados para este contexto se
destacam:
TDD – Aumento da qualidade do código, efetividade do
código. (só é desenvolvido o que foi vendido)
ATDD – Está definido desde o inicio do desenvolvimento o
conceito de pronto da entrega, ou seja, será desenvolvido
somente o necessário e no menor tempo possivel (foco na
entrega).
BDD – Garantia do entendimento da necessidade do cliente.
Garantia que as funcionalidades ja existente no
sistema vão continuar funcionando nesta nova entrega.
Um artigo apresentado pelo Dr. David Rico em
2008 tendo como base um estudo de caso de 16
empresas concluiu que o custo médio de implantação e
manutenção da metodologia agil ou tradicional é o
mesmo, porem o agil apresenta um aumento de até
200% na qualidade do produto, assim reduzindo
drasticamente o custo do retrabalho. Diminuindo o
retrabalho aumenta-se a produtividade e
consequentemente o lucro da empresa. (entregas
frequentes e maior fluxo de caixa)
Fonte: http://davidfrico.com/rico08b.pdf
BAUER, F. L. Scientific Affairs Division. NATO SCIENCE COMMITTEE, Garmisch, Germany, 1969. p.231.
BECK, K., Extreme Programming Explained: Embrace Change, 1st Edition, Addison-Wesley, 1999.
BECK, Kent et al. Manifesto ágil., 2001.
BISSI, Wilson. Scrum - Metodologia de desenvolvimento ágil. Campo Digital, Campo Mourão, V. 2, n. 1,
BOSSI P., ExtremeProgramming Applied: a case study in the private banking domain, January 2003, OOP2003
Conference, Munich (Germany),
DORNELAS, José Carlos Assis, 1971. Empreendedorismo: Transformando ideias em negócios / José Carlos Assis
Dornelas. – 3.ed. – Rio de Janeiro: Elsevier, 2008.
FOWLER, M., BECK, K., Manifesto for Agile Software Development,
GONÇALVES, André Silva. Gestão de Projetos em Pequenas e Médias Empresas: Principais dificuldades. 2009
GITAHY, Yuri. O que é uma start up?. Empreendedor Online – Empreendedorismo na Internet e negócios online,2011
HERMANSON, Boris. O que é uma start up? São Paulo: Mundo Sebrae,2011
HIGHSMITH, Jim, Agile Project Management, Creating innovative products, AddisonWesley, 2004.
JEFFRIES, Ron, et al.What is Extreme Programming?, 2012.
JOHNSON, D. What is innovation and entrepreneurship? Lessons for larger Organizations. Industrial and Commercial
Training. Press, v. 33, n. 4, 2001.
LONGHI, Fúlvio. A história da revolução das startups, Imasters, 2011.
MARÇAL, Ana Sofia. Estendendo o SCRUM segundo as áreas de processo de gerenciamento de projetos do CMMI.
2007
MYERS, Glenford J., John Wiley & Sons, The Art of Software Testing, 2, Nova Jérsei: 2004.
PEREIRA, Paulo. Entendendo o Scrum para Gerenciar Projetos de Forma Ágil. Mundo PM. 2007.
PRESSMAN, R. S., Engenharia de Software, 5ª Ed., Makron Books, 2002.
SOARES, Michel dos Santos. Comparação entre metodologias ágeis e tradicionais para desenvolvimento de software.
SOMMERVILLE, Ian. Engenharia de Software. 6ed. São Paulo: Prentice Hall, 2003.
STEFFEN, Juliana Berossa. O que são essas tais de metodologias Ágeis?. [S.l.]: IBM, 2012.
TROTT, P. Innovation management and new product development. 2.ed. London: Prentice Hall, 2002.
VIEGA, J. and McManus, J. (2000). The importance of software testing.
WELLS, D., Extreme Programming: A gentle introduction.
.
Fases da
Pesquisa
Ação Escala temporal
1 Estruturar Projeto de Pesquisa TCCI Abril/2013
2 Validar Projeto de Pesquisa TCCI Abril/2013
3 Pesquisa Bibliográfica e iniciação teórica do TCCI Abril/2013
4 Desenvolvimento da Pesquisa TCCI Maio/2013
5 Entrega da Pesquisa TCCI Maio/2013
6 Apresentação do TCCI a banca Junho/2013
7 Complementar os temas Startup e retorno de investimento na
implantação de técnicas ágeis
Junho/2013
8 Desenvolver melhorias no TCCI Julho/2013 -
Setembro/2013
9 Desenvolver o protótipo para exemplificação da aplicação das técnicas
ágeis
Julho/2013 -
Setembro/2013
10 Desenvolver uma funcionalidade utilizando o TDD e documentar este
desenvolvimento para posteriormente ser apresentado.
Julho/2013 -
Setembro/2013
11 Desenvolver uma funcionalidade utilizando o ATDD e documentar este
desenvolvimento para posteriormente ser apresentado.
Julho/2013 -
Setembro/2013
12 Desenvolver uma funcionalidade utilizando o BDD e documentar este
desenvolvimento para posteriormente ser apresentado.
Julho/2013 -
Setembro/2013
13 Elaborar apresentação das praticas de desenvolvimento Julho/2013 -
Setembro/2013
14 Entrega da Pesquisa TCCII Julho/2013 -
Setembro/2013
15 Apresentação do TCCII para a banca Julho/2013 -
Setembro/2013
Apresentação:
http://prezi.com/cj8il3sbbgwy/
http://www.4shared.com/file/jA5t4K3x/TCCI-williamHezio-IES-2013.html
Trabalho teórico:
http://www.4shared.com/file/7waKTQl1/TCCI-WilliamHezio-IES.html

Apresentação TCC I - IES/SC 2013

  • 1.
    TCC I –IES Ciência da Computação Orientador: Cristiano Schwening Coorientador: Patryck Ramos Martins
  • 2.
    TCC I –IES Hezio Fernandes Junior Java Web Developer at Digitro br.linkedin.com/pub/hézio-fernandes/46/627/b39 William Melchior Jablonski Quality Assurance Specialist at Flexy br.linkedin.com/in/williamjablonski/
  • 3.
    Aplicação do desenvolvimento orientadoa testes e comportamento em empresas startup como pratica para redução de custos de manutenção e evolução do software.
  • 4.
     O númerode empreendedores no Brasil cresceu 44% nos últimos 10 anos. Fonte: http://g1.globo.com/jornal-hoje/noticia/2013/03/numero-de-empreendedores-do-pais-cresce-mais-de-40-nos-ultimos-anos.html  48% das empresas brasileiras fecham as portas depois de três anos. Fonte: http://portal2.pr.sebrae.com.br/PortalInternet/Noticia/ci.48%25-das-empresas-brasileiras-fecham-as-portas-depois-de-tr%C3%AAs-anos.print  O 4° maior motivo de falência é o descontrole do fluxo de caixa das empresas. Fonte: http://economia.uol.com.br/ultimas-noticias/redacao/2012/04/04/sebrae-lista-os-6-maiores-erros-de-quem-vai-a-falencia-saiba-como-evita- los.jhtm
  • 5.
    Apresentar o conceitoe um exemplo do desenvolvimento de software utilizando práticas de TDD, ATDD e BDD em uma empresa Startup e seus benefícios.
  • 6.
    TDD, ATDD, BDD,Startup, o que são? Test Driven Development Accepted Test Driven Development Behavior Driven Development
  • 7.
     Apresentar osimpactos da falta de qualidade no software como motivação para o investimento em qualidade, testes e mapeamento das funcionalidades do software no código fonte.  Apresentar brevemente alguns tipos de processo de desenvolvimento de software.  Apresentar e aplicar o conceito de desenvolvimento orientado a teste de unidade (TDD) entendendo o papel no processo de desenvolvimento e evolução do software.  Apresentar e aplicar o conceito de desenvolvimento orientado a teste de aceite (ATDD) e entendendo o papel no processo de desenvolvimento e evolução do software.  Apresentar e aplicar o conceito de desenvolvimento orientado a comportamento (BDD) e entendendo o papel no processo de desenvolvimento e evolução do software.  Apresentar o conceito de Startup.  Avaliar o retorno do investimento da utilização das metodologias ágeis e técnicas de TDD, ATDD e BDD em empresas Startup de desenvolvimento de software.
  • 8.
     A implantaçãodas técnicas de desenvolvimento ágil tende a ter um aumento da qualidade.  A utilização das técnicas de desenvolvimento ágil tende a ter redução de custos com a manutenção do software.  Com a aplicação das técnicas de desenvolvimento ágil é possível mapear o atendimento dos requisitos acordados com o cliente.  O uso das técnicas de desenvolvimento ágil tende a trazer mais segurança à equipe na manutenção do código legado.
  • 9.
     “Conjunto decaracterísticas que devem ser alcançadas em um determinado grau para que o produto atenda às necessidades de seus usuários.” Rocha (2001)  “Totalidade de características de uma entidade que lhe confere a capacidade de satisfazer a necessidades explícitas e implícitas.” NBR ISO (1994)  Conformidade a (Pressman): • Requisitos funcionais e de desempenho. • Padrões e convenções de desenvolvimento pré-estabelecidos. • Atributos implícitos que todo software desenvolvido profissionalmente deve possuir. Fonte: http://www.ic.unicamp.br/~ranido/mc626/Qualidade.pdf
  • 10.
    O impacto podeser categorizado: - Financeiro; - Humano; - Moral.
  • 11.
    A Explosão doAriane 5 4 de junho de 1996 o foguete explodiu apenas quarenta segundos após sua decolagem. O foguete destruído e sua carga foi avaliada em US $ 500 milhões. Descobriu-se que a causa do fracasso foi um erro de conversão numérica do software. Fonte:http://www.ima.umn.edu/~arnold/disasters/ariane.html
  • 12.
    Em 2009, umavião da Air France saído do rio de janeiro com destino a Paris mergulhou no mar e matou mata 228 pessoas após sensor de velocidade congelar e o alarme não soa assim não advertindo a tripulação da situação. Uma situação não prevista. Fonte: http://news.nationalpost.com/2012/07/05/air-france-flight-to-paris-from-rio-crashed-because-of-pilot-error-faulty-sensors-report/
  • 13.
    Uma atualização lançadaem abril de 2013 pela Microsoft, está causando problemas aos usuários do Windows 7. Uma falha na atualização pode impedir a inicialização do sistema. Fonte: http://veja.abril.com.br/blog/tech/curiosidades/falha-em-atualizacao-afeta-usuarios-do-windows-7/
  • 14.
    Projetos acima dotempo e orçamento. Baixa qualidade. Não atendia os requisitos Falta de compatibilidade.
  • 15.
    Em 1968, especialistasse reúnem na Alemanha, para discutir os problemas relacionados com o desenvolvimento de software. Fonte: https://sites.google.com/site/labesw/disciplinas/ENG
  • 16.
     Derivado demodelos existentes em outras engenharias  Sua estrutura é composta por várias etapas que são executadas de forma sistemática e sequencial.  Fonte: https://sites.google.com/site/labesw/disciplinas/ENG
  • 17.
    Pontos Negativos: Burocrático.  Nãofunciona bem com mudanças. Apenas o gerente tem uma visão geral do andamento do projeto. Entendimento dos requisitos pode ser falho e causar erros em cascata. Tempo de entrega.
  • 18.
    Surgiu de umareação contra métodos ditos "pesados", caracterizados por uma pesada regulamentação, documentação e micro gerenciamento. - Burocrático; - Lento; - Contraditório a forma usual com que os engenheiros de software sempre realizaram trabalho com eficiência.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
    Metodologia de desenvolvimentode software com foco em simplicidade e qualidade.
  • 24.
  • 25.
    Vatagens - Processo dedesenvolvimento simples e incremental; - Código automaticamente testável; - Testes constantes; - Melhor compreensão dos requisitos. Desvantagem - Definições de testes não são isentas de erros; - Manutenção dos testes; - Limitação financeira e de tempo; - Não rastreavel as necessidades do cliente.
  • 26.
     Nesta técnica,os testes de aceitação são criados de maneira colaborativa e descritos em uma linguagem comum a todos os membros da equipe. Dessa forma, toda a equipe compartilha o mesmo entendimento do que deve ser feito, as restrições e as definições de "Pronto".  Essa nova abordagem traz os benefícios do TDD incorporando os critérios do cliente, dessa forma, uma funcionalidade só estaria completa quando além das necessidades técnicas, ela também implementasse todos os testes que comprovam que a implementação está se comportando como o esperado.  ATDD tem por objetivo capturar os critérios de aceitação para as funcionalidades em desenvolvimento. ”Em complemento à prática de TDD, que visa garantir que as funcionalidades bases da aplicação sejam desenvolvidas em conformidade com a arquitetura e projeto, a prática de ATDD tende a prover feedback sobre o quão perto da conclusão da tarefa a equipe de desenvolvimento se encontra, demonstrando uma clara visão do progresso.” NADALETE (2010).
  • 27.
  • 28.
    Vantagens Da uma visãoclara para a equipe do resultado esperado. È possivel acompanhar melhor a evolução do software. Desvantagens  Como o TDD é tecnico e dificil de rastrear as histórias e necessidades do cliente.
  • 29.
    Uma técnica dedesenvolvimento agil que visa integrar regras de negocio com linguagem de programação.
  • 30.
  • 31.
    Vantagens - Altamente rastreável(código, testes, requisitos); - Foco nos requisitos; - Mapeamento do status atual das funcionalidades durante a evolução do sistema. No caso de uma funcionalidade nova se sobrepõem ou impactar em outra funcionalidade que já existia no sistema.
  • 32.
    Desvantagens - Tempo dedesenvolvimento do BDD. - Tempo de manutenção (evolutiva).
  • 33.
    “Startup são pequenasempresas montadas em casa ou em faculdades e que recebem pequenos aportes de capital. Elas exploram áreas inovadoras de determinado setor (mais comumente a de tecnologia), possuindo uma aceleração de crescimento muito alta já nos primeiros meses de existência em virtude de investimentos feitos por fundos de investimento especializados” Longhi (2011) - Orçamento apertado; - Foco em resultado rápido.
  • 34.
    Dentre os beneficiosjá apresentados para este contexto se destacam: TDD – Aumento da qualidade do código, efetividade do código. (só é desenvolvido o que foi vendido) ATDD – Está definido desde o inicio do desenvolvimento o conceito de pronto da entrega, ou seja, será desenvolvido somente o necessário e no menor tempo possivel (foco na entrega). BDD – Garantia do entendimento da necessidade do cliente. Garantia que as funcionalidades ja existente no sistema vão continuar funcionando nesta nova entrega.
  • 35.
    Um artigo apresentadopelo Dr. David Rico em 2008 tendo como base um estudo de caso de 16 empresas concluiu que o custo médio de implantação e manutenção da metodologia agil ou tradicional é o mesmo, porem o agil apresenta um aumento de até 200% na qualidade do produto, assim reduzindo drasticamente o custo do retrabalho. Diminuindo o retrabalho aumenta-se a produtividade e consequentemente o lucro da empresa. (entregas frequentes e maior fluxo de caixa) Fonte: http://davidfrico.com/rico08b.pdf
  • 36.
    BAUER, F. L.Scientific Affairs Division. NATO SCIENCE COMMITTEE, Garmisch, Germany, 1969. p.231. BECK, K., Extreme Programming Explained: Embrace Change, 1st Edition, Addison-Wesley, 1999. BECK, Kent et al. Manifesto ágil., 2001. BISSI, Wilson. Scrum - Metodologia de desenvolvimento ágil. Campo Digital, Campo Mourão, V. 2, n. 1, BOSSI P., ExtremeProgramming Applied: a case study in the private banking domain, January 2003, OOP2003 Conference, Munich (Germany), DORNELAS, José Carlos Assis, 1971. Empreendedorismo: Transformando ideias em negócios / José Carlos Assis Dornelas. – 3.ed. – Rio de Janeiro: Elsevier, 2008. FOWLER, M., BECK, K., Manifesto for Agile Software Development, GONÇALVES, André Silva. Gestão de Projetos em Pequenas e Médias Empresas: Principais dificuldades. 2009 GITAHY, Yuri. O que é uma start up?. Empreendedor Online – Empreendedorismo na Internet e negócios online,2011 HERMANSON, Boris. O que é uma start up? São Paulo: Mundo Sebrae,2011 HIGHSMITH, Jim, Agile Project Management, Creating innovative products, AddisonWesley, 2004. JEFFRIES, Ron, et al.What is Extreme Programming?, 2012. JOHNSON, D. What is innovation and entrepreneurship? Lessons for larger Organizations. Industrial and Commercial Training. Press, v. 33, n. 4, 2001. LONGHI, Fúlvio. A história da revolução das startups, Imasters, 2011. MARÇAL, Ana Sofia. Estendendo o SCRUM segundo as áreas de processo de gerenciamento de projetos do CMMI. 2007 MYERS, Glenford J., John Wiley & Sons, The Art of Software Testing, 2, Nova Jérsei: 2004. PEREIRA, Paulo. Entendendo o Scrum para Gerenciar Projetos de Forma Ágil. Mundo PM. 2007. PRESSMAN, R. S., Engenharia de Software, 5ª Ed., Makron Books, 2002. SOARES, Michel dos Santos. Comparação entre metodologias ágeis e tradicionais para desenvolvimento de software. SOMMERVILLE, Ian. Engenharia de Software. 6ed. São Paulo: Prentice Hall, 2003. STEFFEN, Juliana Berossa. O que são essas tais de metodologias Ágeis?. [S.l.]: IBM, 2012. TROTT, P. Innovation management and new product development. 2.ed. London: Prentice Hall, 2002. VIEGA, J. and McManus, J. (2000). The importance of software testing. WELLS, D., Extreme Programming: A gentle introduction.
  • 37.
    . Fases da Pesquisa Ação Escalatemporal 1 Estruturar Projeto de Pesquisa TCCI Abril/2013 2 Validar Projeto de Pesquisa TCCI Abril/2013 3 Pesquisa Bibliográfica e iniciação teórica do TCCI Abril/2013 4 Desenvolvimento da Pesquisa TCCI Maio/2013 5 Entrega da Pesquisa TCCI Maio/2013 6 Apresentação do TCCI a banca Junho/2013 7 Complementar os temas Startup e retorno de investimento na implantação de técnicas ágeis Junho/2013 8 Desenvolver melhorias no TCCI Julho/2013 - Setembro/2013 9 Desenvolver o protótipo para exemplificação da aplicação das técnicas ágeis Julho/2013 - Setembro/2013 10 Desenvolver uma funcionalidade utilizando o TDD e documentar este desenvolvimento para posteriormente ser apresentado. Julho/2013 - Setembro/2013 11 Desenvolver uma funcionalidade utilizando o ATDD e documentar este desenvolvimento para posteriormente ser apresentado. Julho/2013 - Setembro/2013 12 Desenvolver uma funcionalidade utilizando o BDD e documentar este desenvolvimento para posteriormente ser apresentado. Julho/2013 - Setembro/2013 13 Elaborar apresentação das praticas de desenvolvimento Julho/2013 - Setembro/2013 14 Entrega da Pesquisa TCCII Julho/2013 - Setembro/2013 15 Apresentação do TCCII para a banca Julho/2013 - Setembro/2013
  • 38.