Quando converso com amigos e familiares sobre o meu emprego, é sempre difícil explicar de maneira concisa o que faço. Geralmente, explico como é o desenvolvimento de uma aplicação web/mobile, bem alto nível. A verdade é que depois de alguns anos trabalhando como desenvolvedora de software, a parte mais fácil do trabalho é escrever código, e talvez seja por isso que no momento que eu tenho que explicar para pessoas leigas, é isso que geralmente abordo.
Depois de aprender sobre diferentes paradigmas de programação, linguagens e frameworks, meu cérebro já está acostumado a aprender novas tecnologias. Mas, além disso, estas são duas outras áreas que considero fundamentais que desenvolvedoras de software saibam para que sejam bem-sucedidas no seu trabalho: negócio e processos.
Em negócios, geralmente a etapa que antecede o desenvolvimento de software em si é realizada por um gerente de produto ou analista de negócios. É neste momento que se define as prioridades, cadência de entrega e funcionalidades na aplicação. Aqui vão algumas maneiras que vocês podem contribuir para essa etapa:
Ajudar na análise
Se existe alguém responsável por fazer esse trabalho, isso não significa que desenvolvedores não devam estar a par e contribuir para esse trabalho. Um dos maiores benefícios do ágil e da organização de times pequenos é que todo mundo consegue ter contexto de ponta-a-ponta do que está acontecendo.
Conhecer as datas e a priorização
Nem sempre temos datas únicas para a entrega de cada funcionalidade, então ao menos saber a priorização para ser capaz de responder a stakeholders, clientes internos ou pessoas interessadas no avanço do projeto é muito importante.
Entender a necessidade do cliente final
O papel da PM é também trazer para o time a necessidade do cliente final, mas às vezes essa informação se perde. O importante é que essa uma preocupação recorrente antes de iniciar o desenvolvimento de uma funcionalidade. Faça o possível para que isso se torne um hábito antes de começar a discutir sobre como criar a solução.
Na etapa de processos, não basta só saber quais são as cerimônias do scrum. É importante entender o fluxo do processo de desenvolvimento de ponta-a-ponta, desde uma ideia que nasce na cabeça de alguém até a produção. Desafie o status quo, advogue por melhorias nos processos de entrega de software.
O livro Lean Software Development: An agile Toolkit descreve os sete princípios do desenvolvimento de software lean. Listo alguns que são uma ótima base para entender e aprimorar os processos de desenvolvimento ágil da sua equipe:
Ajudar a facilitar cerimônias (daily, retro, showcase)
Se essa tarefa é feita só por uma pessoa do time, ajude a facilitar e também a criar esse costume na equipe, para que não só você mas todos também façam.
Conhecer o board
Conheça as funcionalidades que estão priorizadas e também como elas foram divididas. Pessoas desenvolvedoras são as únicas que conseguirião prever a demora de um desenvolvimento, por exemplo. Então, saiba quais são os gargalos e ajude a finalizar mais tarefas.
Entender as métricas
Seja qual for o tipo de métrica utilizada para previsibilidades da entrega, é essencial que as pessoas desenvolvedoras saibam como elas são medidas e qual o resultado desejado. Assim, é possível gerar o senso de urgência necessário no time.
Com algumas mudanças de atitude, é possível gerar um impacto muito relevante para o produto que você está desenvolvendo e para o negócio como um todo. Me arrisco a dizer que essas habilidades são o que difere uma pessoa desenvolvedora sênior no mercado, para além das habilidades técnicas. Então se é isso que você está procurando, aposte nessas dicas.
Bruna Pereira, software developer na Creditas.