Close

Desenvolvimento de software

Aprenda os fundamentos do desenvolvimento de software


Os softwares devoraram o mundo. Não muito tempo depois de Marc Andreessen declarar que “os softwares estão devorando o mundo” em 2011, de fato, o mundo foi consumido. Na economia digital atual, todas as empresas usando muito os softwares. A Amazon pode ser a maior varejista do mundo, mas não é uma empresa de varejo: é de software, afirmou Jeff Bezos, ex-diretor executivo da Amazon. "Nossa empresa não vende o que está dentro das caixas de transporte," continua, "mas sim o software que as envia."

Ciclo infinito do DevOps

O que é desenvolvimento de software?

Desenvolvimento de software engloba o design, a documentação, a programação, os testes e a manutenção contínua do produto de software. Essa combinação é usada para criar o pipeline de fluxo de trabalho que, quando seguido, gera produtos de software de alta qualidade. Esse pipeline é conhecido como o ciclo de vida do desenvolvimento de software.

Embora existam muitas especificações, o ciclo de vida de desenvolvimento de software em geral, inclui elementos comuns, conforme observado abaixo.


Etapas do ciclo de vida de desenvolvimento de software


Órbita da lâmpada

Conceito

Os projetos são concebidos, desenvolvidos e priorizados. Uma metodologia como a ágil ajuda a orientar o processo de trabalho para o projeto. Práticas como DevOps orientam práticas durante o desenvolvimento e as operações. O Confluence é uma ferramenta ótima para desenvolver documentos de pesquisa de produto e compartilhar arquivos de design durante esse estágio.

Fluxo de trabalho simples

Plano + roteiro

As partes interessadas são identificadas, os orçamentos são definidos e a infraestrutura é requisitada. Os documentos de design da fase de concepção são divididos em tarefas acionáveis. O Jira Software e o Trello gerenciam, rastreiam e organizam as listas de tarefa.

Salvar código

Codificar, revisar e testar

As equipes de desenvolvimento trabalham para gerar o software pronto para produção que cumpra requisitos e feedback. Os pipelines de IC/CD garantem a experiência eficiente para o desenvolvedor. O Bitbucket oferece ferramentas de análise de código colaborativas e pipelines de IC/CD que se conectam ao processo de análise de código.

Lançamento do código

Implementar, lançar e hospedar

Com o código aprovado e mesclado, é hora de lançar. Os pipelines de CI/CD do Bitbucket tornam as implementações tão fáceis quanto apertar um botão. O código de produção ativa vai precisar de um lugar para ficar. A gente recomenda usar a hospedagem em nuvem oferecida pela Amazon AWS, Google Cloud Platform ou Microsoft Azure.

Engrenagens

Suporte, operação e manutenção

Suporte e manutenção são necessários para projetos de software ativos. O Jira Service Management disponibiliza ferramentas eficientes para capturar, realizar a triagem e resolver solicitações de suporte do cliente.

error

Gerenciamento de incidente

O gerenciamento de incidentes é o processo usado pelas equipes de DevOps e operações de TI para responder a um evento não planejado ou uma interrupção de serviço da mesma forma e restaurar o serviço ao estado operacional. As equipes precisam de um método confiável para priorizar incidentes, chegar à resolução com mais rapidez e oferecer um serviço melhor aos usuários.

Práticas do ciclo de vida de desenvolvimento do software

Implementação/integração contínuas

Feedback contínuo

As equipes devem avaliar cada versão e gerar relatórios para melhorar os lançamentos futuros, pedir aos clientes informações sobre o valor e o impacto dos recursos do produto e compartilhar os resultados relacionados à empresa com as partes interessadas. Ao coletar feedback contínuo, as equipes podem melhorar os processos e aumentar o valor para os clientes.

Segurança

Segurança

À medida que os aplicativos de software crescem em complexidade e escala, a segurança tradicional que é “integrada” no final do ciclo de lançamento não é mais suficiente para manter o software seguro. Em vez disso, a segurança deve ser incluída em todo o ciclo de vida de desenvolvimento de software para minimizar as vulnerabilidades no código do software.

Principais recursos do desenvolvimento eficaz de software


Tutorial

A agilidade é uma abordagem iterativa do gerenciamento de projetos e desenvolvimento de software que ajuda as equipes a agregar valor aos clientes com mais rapidez e menos dor de cabeça. As metodologias ágeis são muito populares na indústria de software, pois capacitam as equipes para que tenham flexibilidade, boa organização e capacidade de responder às mudanças como características inerentes.

DevOps

DevOps é um conjunto de práticas, ferramentas e uma filosofia cultural que automatizam e integram os processos entre o desenvolvimento de software e as equipes de TI. Ele enfatiza o empoderamento da equipe, a comunicação e a colaboração entre equipes e a automação da tecnologia.

Integração e entrega contínua (IC/CD)

Integração contínua é a prática de automatizar a integração de alterações de código em projetos de software. Com ela, os desenvolvedores podem mesclar alterações de código com frequência em um repositório central onde builds e testes são executados.

A entrega contínua expande a integração contínua ao implementar automaticamente as alterações de código em um ambiente de teste/produção. Ela segue um pipeline de entrega contínua, em que builds, testes e implementações automatizados são orquestrados como um fluxo de trabalho de lançamento.

Microsserviços

A arquitetura de microsserviços, também conhecida como "microsserviços", é a abordagem de criação de aplicativos como uma série de serviços com implementação independente que são desenvolvidos com descentralização e autonomia. Esses serviços são pouco integrados, implementáveis com independência e fáceis de manter.

Com a arquitetura de microsserviços, desenvolvedores podem se organizar em equipes menores especializadas em serviços diferentes, com pilhas distintas e implementações dissociadas.

Tutorial

A agilidade é uma abordagem iterativa do gerenciamento de projetos e desenvolvimento de software que ajuda as equipes a agregar valor aos clientes com mais rapidez e menos dor de cabeça. As metodologias ágeis são muito populares na indústria de software, pois capacitam as equipes para que tenham flexibilidade, boa organização e capacidade de responder às mudanças como características inerentes.

DevOps

DevOps é um conjunto de práticas, ferramentas e uma filosofia cultural que automatizam e integram os processos entre o desenvolvimento de software e as equipes de TI. Ele enfatiza o empoderamento da equipe, a comunicação e a colaboração entre equipes e a automação da tecnologia.

Integração e entrega contínua (IC/CD)

Integração contínua é a prática de automatizar a integração de alterações de código em projetos de software. Com ela, os desenvolvedores podem mesclar alterações de código com frequência em um repositório central onde builds e testes são executados.

A entrega contínua expande a integração contínua ao implementar automaticamente as alterações de código em um ambiente de teste/produção. Ela segue um pipeline de entrega contínua, em que builds, testes e implementações automatizados são orquestrados como um fluxo de trabalho de lançamento.

Microsserviços

A arquitetura de microsserviços, também conhecida como "microsserviços", é a abordagem de criação de aplicativos como uma série de serviços com implementação independente e desenvolvimento descentralizado e autônomo. Esses serviços são pouco integrados, implementáveis com independência e fáceis de manter.

Com a arquitetura de microsserviços, desenvolvedores podem se organizar em equipes menores especializadas em serviços diferentes, com pilhas distintas e implementações dissociadas.

Ferramentas de desenvolvimento de software


As ferramentas podem ajudar em todas as etapas do ciclo de vida de desenvolvimento de software, incluindo orientação ágeis e práticas de DevOps, gerenciamento de código, habilitação de automação por meio de IC/CD, resposta a incidentes, testes e muito mais.

Logo do Jira Software

Jira Software

O Jira é a ferramenta nº 1 de desenvolvimento de software usada por equipes ágeis. O Jira Software é a ferramenta de gestão de projetos para equipes ágeis planejarem, acompanharem e lançarem o software de alta qualidade com segurança.

Logotipo do Bitbucket

Bitbucket

O Bitbucket não é apenas para o gerenciamento de código Git. Ele dá às equipes um lugar onde planejar projetos, colaborar na criação de códigos, testar e implementar.

Logo do Compass

Compass

A plataforma do Compass oferece uma experiência de desenvolvedor que ajuda na navegação da arquitetura distribuída, reunindo informações desconectadas sobre a produção de engenharia e as equipes que colaboram nelas em um local central com recurso de pesquisa.

Atlassian Open DevOps

As equipes têm tudo o que precisam para desenvolver e operar softwares no Open DevOps, tudo pronto para uso. O Open DevOps inclui o Jira Software, Confluence, Bitbucket e Opsgenie. As equipes têm facilidade para adicionar as ferramentas que quiserem, como GitHub ou GitLab, com um clique.

Atlassian Open DevOps

As equipes têm tudo o que precisam para desenvolver e operar softwares no Open DevOps, tudo pronto para uso. O Open DevOps inclui o Jira Software, Confluence, Bitbucket e Opsgenie. As equipes têm facilidade para adicionar as ferramentas que quiserem, como GitHub ou GitLab, com um clique.