CodeGym /Cursos /JAVA 25 SELF /Desenvolvimento de produto de TI

Desenvolvimento de produto de TI

JAVA 25 SELF
Nível 6 , Lição 6
Disponível

1. Um pouco de história

Quando, na década de 1990, a Revolução da Internet estava apenas começando, ninguém sabia como desenvolver serviços on-line da maneira certa. Todos os seus recursos ficavam imediatamente disponíveis aos usuários, o que diferenciava muito essa abordagem do desenvolvimento clássico de software.

O maior mecanismo de busca da época, a empresa Yahoo, decidiu seguir um novo caminho e adotar uma abordagem de Hollywood — até seus gerentes eram chamados de produtores :) Não é de se surpreender que nada tenha dado certo para eles 🤷‍♂️

É interessante. Yahoo — o maior fiasco em termos de aquisição de outras empresas. Na época, ofereceram a eles várias vezes a compra tanto do Google quanto do Facebook. No ocaso de sua trajetória, a Microsoft tentou adquiri-los por US$ 40 bilhões, mas eles novamente recusaram. Anos depois, acabaram sendo comprados por apenas US$ 3 bilhões. Nos anos 1990, no auge da popularidade, o Yahoo foi avaliado em US$ 200 bilhões e, se tivessem comprado o Google, seu valor hoje poderia ter chegado a vários trilhões. Não seja como o Yahoo. 🙈

Desde a Revolução da Internet, dezenas de formas diferentes de desenvolver software foram testadas, e hoje a situação se estabilizou. Existem papéis padrão com responsabilidades padrão, processos padrão e software padrão.

No decorrer do aprendizado, você vai aprender tudo o que precisa saber para trabalhar em empresas de TI modernas, com ferramentas de desenvolvimento modernas. 🎓

2. Equipe de produto

Uma equipe típica de desenvolvimento é composta por:

  • Pessoas que decidem quais funcionalidades e recursos o produto deve ter
    • Product Owner
    • Business Analyst
  • Pessoas que decidem como o produto será apresentado visualmente
    • UI Designer
    • UX Designer
  • Desenvolvedores que implementam tudo isso
    • Software Architect
    • Backend Developer
    • Frontend Developer
    • Mobile Developer
  • Pessoas responsáveis pela qualidade de funcionamento do produto
    • QA Automation
    • DevOps

IT team

Product Owner no desenvolvimento de software desempenha um papel fundamental, gerenciando o produto e garantindo que a equipe de desenvolvimento se concentre na execução das tarefas mais importantes. Ele define a visão do produto, cria e prioriza a lista de tarefas (backlog), o que ajuda a garantir que cada etapa do desenvolvimento atenda ao máximo aos objetivos de negócio e aos requisitos dos usuários.

UX Designer é responsável por criar uma interface de produto conveniente e eficaz, o que inclui pesquisar as necessidades dos usuários, desenvolver protótipos e testar interfaces. Esse trabalho tem como objetivo melhorar a interação do usuário com o produto, tornando-o o mais intuitivo e fácil de usar possível.

Profissionais de DevOps cuidam da otimização dos processos de desenvolvimento de software e de sua operação, para acelerar e simplificar o lançamento de atualizações do produto. Seu trabalho inclui a automação de testes, implantação e monitoramento de sistemas, além da configuração da infraestrutura e da garantia de integração e entrega contínuas (CI/CD).

3. Equipe de desenvolvimento

O desenvolvimento em si é feito por programadores. Grosso modo, eles podem ser divididos em 5 categorias:

  • Software Architect
  • Backend Developer
  • Frontend Developer
  • Mobile Developer
  • Database Administrator

Os papéis e suas responsabilidades podem mudar dependendo do tamanho da equipe e da especificidade do produto, mas a situação é aproximadamente a seguinte:

  • 🏗️ Software Architect: responsável por projetar a arquitetura de sistemas de software complexos. O Architect desenvolve a infraestrutura técnica, define a estrutura e os métodos de interação dos diversos componentes do produto de software, garantindo sua escalabilidade, desempenho e segurança.
  • ⚙️ Backend Developer: especializado no desenvolvimento da parte de servidor das aplicações. As tarefas do Backend Developer incluem a implementação da lógica, a integração de bancos de dados e sistemas de gerenciamento de dados, o processamento de solicitações dos usuários e a manutenção da interação com a parte de frontend.
  • 🖥️ Frontend Developer: desenvolve a interface do usuário de aplicações web. Essa função requer conhecimento de HTML, CSS e JavaScript, bem como de frameworks e bibliotecas para criar interfaces interativas e responsivas, proporcionando uma boa experiência ao usuário com o produto.
  • 📱 Mobile Developer: responsável por desenvolver aplicações para dispositivos móveis. O Mobile Developer cria aplicativos para diferentes sistemas operacionais (por exemplo, iOS e Android), levando em conta as particularidades da plataforma, o desempenho dos dispositivos e a experiência do usuário.
  • 🗄️ DBA (Database Administrator): responsável pela administração de bancos de dados, garantindo sua disponibilidade, segurança e otimização. O DBA realiza tarefas de configuração, monitoramento e manutenção dos bancos de dados, além de desenvolver estratégias de backup e restauração de dados.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION