Scrum vs. Agile vs. CMMI [fechado]

5

Estou empurrando meu projeto para o Visual Studio Online para ter algum controle de origem. Estou desenvolvendo este projeto sozinho. Eu nunca usei Scrum, Agile nem CMMI antes, e a descrição detalhada que li no link está assumindo muito conhecimento. (Não faz sentido para alguém que ainda não sabe do que está falando.)

A melhor maneira de eu realmente aprender Scrim ou Agile ou CMMI é usá-los. Mas por onde começar? O link acima não me ajuda lá.

Como um desenvolvedor solo que está apenas procurando pelo controle de origem, devo começar com Scrum, Agile ou CMMI?

Para tirar a opinião baseada nesta questão, farei minha pergunta oficial: Qual é a diferença entre Scrum, Agile e CMMI nos termos de Layman? (Mas, na verdade, eu apenas sou tentando descobrir por onde começar!)

    
por Evorlor 26.07.2014 / 21:51
fonte

2 respostas

6

(Apenas FYI - eu sou co-fundador de uma empresa ( Digité ) que constrói e vende software empresarial para uma variedade de organizações de tecnologia, então Eu tenho algumas informações sobre esses tópicos :-))

Agile e Scrum estão relacionados, pois são métodos de desenvolvimento de software. Agile é um termo abrangente para métodos específicos, como Scrum, Extreme Programming (XP) e outros.

O CMMI, por outro lado, é uma estrutura de gerenciamento de qualidade útil para grandes organizações que precisam se avaliar em termos de capacidade geral e maturidade para demonstrar a qualidade repetível do trabalho de software que fazem. As organizações podem usar uma combinação de métodos de desenvolvimento de software - métodos ágeis (como Scrum / Kanban / XP / BDD / TDD / etc), métodos 'tradicionais' (Waterfall, Iterative) ou um mix (Hybrid Agile), dependendo de suas necessidades de negócios. . Eles ainda podem usar o CMMI como uma estrutura de controle geral para medir e desenvolver seus recursos de software.

Definitivamente, como desenvolvedor solo, você não precisa se preocupar com o CMMI!

Métodos ágeis em geral dão a você a capacidade de criar seu software com menos riscos, maiores chances de sucesso e alertas antecipados de que o que você está desenvolvendo pode não ser o produto certo (como eu tenho certeza que você sabe, não é apenas importante para construir o seu produto certo - mas também para construir o produto certo). Mesmo se você for um desenvolvedor solo, você deve ter outras pessoas com as quais você precise interagir, especialmente seu (s) cliente (s). Métodos ágeis, como o Scrum ou o Kanban, oferecem a você a capacidade de entregar a eles softwares de trabalho com mais frequência (em sprints de 2 a 3 semanas), obter feedback com mais frequência e executar etapas corretivas com mais frequência do que o contrário. Kanban ajuda você a fazer isso ainda mais continuamente. Eu recomendaria os seguintes livros, se você não leu nenhum outro até agora -

  1. Scrum - O Poder do Scrum - por Jeff Sutherland
  2. Kanban - Mudança Evolutiva Bem-sucedida para sua Organização Tecnológica - por David Anderson. (Se você precisar de uma introdução básica ao Kanban, você pode procurar aqui - O que é Kanban? )

Para responder à sua pergunta final, recomendo começar com Kanban. Minha suposição é que você já tem algum processo que você segue para construir e entregar software para seus clientes. Kanban irá ajudá-lo a mapear o seu processo existente, ajudá-lo a "visualizá-lo" - e ajudar na entrega mais frequente / mais contínua. E faça melhorias no seu processo para ajudar você a se tornar mais ágil no geral. Se você quer algo mais formal e estruturado, você deve adotar o Scrum. Pode exigir um maior esforço inicial - mas não se preocupe muito com suas estruturas formais, em vez disso, concentre-se em sua intenção fundamental de fornecer software de trabalho com mais frequência para seu cliente.

Espero que isso ajude.

Felicidades!

    
por 27.07.2014 / 04:21
fonte
1

Todos eles são processos de desenvolvimento de software.

O Scrum é muito colaborativo que você discute constantemente com sua equipe para que todos possam estar cientes do que está acontecendo. Ajuda a lidar com problemas de forma eficiente como uma equipe.

Agile pode ser muitas coisas. Mas quando eu tenho experimentado isso, tem sido um desenvolvimento muito rápido com iterações. Assim, você obtém o produto funcionando e, em seguida, incrementa-lo melhor. Rapidamente para que você possa obter feedback antes de dar o próximo passo.

Eu não ouço muito o CMMI

    
por 27.07.2014 / 01:38
fonte