Desenvolvimento de Software é Criativo

Este post não tem tags.

Compartilhe:

Em 1973, Peter Drucker [1] identificou uma categoria de trabalho na qual as pessoas passaram a ser chamadas de “trabalhadores do conhecimento”. Diferente de outros trabalhadores, o principal material de trabalho é algo intangível: o intelecto próprio de cada um. Os desenvolvedores de software certamente estão classificados como tal e, conforme os demais trabalhadores do conhecimento, seu trabalho inclui inovação, aprendizado contínuo e geração de informação.

Um trabalhador braçal, diferente do trabalhador do conhecimento, tem como característica a repetição. Por exemplo, numa linha de montagem, o mesmo movimento é repetido inúmera vezes. Em outro exemplo, o pedreiro repete o procedimento de colocação de um tijolo, um após o outro. Em especial, o desenvolvimento de software é não repetitivo na sua essência. O computador é justamente uma ferramenta criada para evitar repetições de cálculos. Em código não existe “copiar e colar”, quando um programador faz isso, é porque está programando errado. De fato, a criação do software é sempre um processo único a cada produto.

Quando ensinamos programação a alguém que está aprendendo pela primeira vez, uma das dificuldades do aluno está na percepção sobre o processo criativo que existe ao programar. Cada vez que um problema é exposto, não existe solução única, o resultado vai depender da criatividade de quem implementa. Não basta esse aluno ter feito todos os cem exercícios da lista, pois na prova sempre haverá uma questão nova que depende da sua criatividade para propor uma solução. Ao corrigir, não existem duas provas iguais (a não ser em caso de cola), mesmo que esses alunos só saibam comandos básicos. Cada um dará nomes diferentes às variáveis, a condição do loop varia, em uns a atribuição vem antes, em outros a condição é que vem primeiro, etc.

O trabalho de um programador pode ser comparado ao de um artesão. Cada programador, usando ferramentas conhecidas, desenvolve um produto que é único. Esse produto é bastante maleável, talvez comparável ao da argila molhada. O manifesto ágil [2] também reflete essa ideia ao afirmar que “indivíduos e suas interações estão acima de processos e ferramentas”. Estendendo essa linha, foi criado até o manifesto do software artesanal [3].

Idee

CONCLUSÃO

O desenvolvimento de software traz algumas características inerentes a todo trabalhador do conhecimento: processo criativo, intangibilidade em boa parte desse processo, complexidade intelectual, alta variabilidade e imprevisibilidade, e múltiplas soluções corretas para o mesmo problema (por isso não deveria ser comparado à Engenharia Civil). Quando o movimento ágil surgiu, as pessoas estavam tomando consciência dessas características da nossa área e resolveram ir contra a ideia de um processo unificado para todo o desenvolvimento de software, que era a onda vigente naquela época. Era o início do surgimento de uma sequência de quebras de paradigmas, tais como: entrega em iterações curtas; times auto-organizados; e escopo flexível.

Nos próximos posts pretendo abordar alguns desses pontos.

[1]  Drucker, Peter F, 1973. Management: Tasks, Responsibilities, Practices. Harper & Row, New York
[2] https://agilemanifesto.org/
[3] http://manifesto.softwarecraftsmanship.org

Sobre o autor(a)

Consultor, Trainer e Cofundador da K21

Rodrigo de Toledo é co-fundador da K21, Certified Scrum Trainer (CST) pela Scrum Alliance, Kanban Coaching Professional (KCP) e Accredited Kanban Trainer (AKT) pela Kanban University, além de Licensed Management 3.0 Facilitator. Com Ph.D na França, possui diversos artigos internacionais e lecionou por doze anos na PUC-Rio e na UFRJ, duas das principais universidades da América do Sul.

No headers found for the table of contents.

Artigos relacionados

Avelino segurando um microfone e uma camiseta preta escrita Agile. Ele é pardo, barba e cabelos grisalhos.

Data storytelling. Se você acompanha o nosso blog, já deve ter percebido que eu gosto muito de trabalhar com métricas, dados e gráficos. É interessante, mas esses artefatos, apesar de serem interessantes, sozinhos eles não vão dizer muitas coisas. Você…

Avelino segurando um microfone e uma camiseta preta escrita Agile. Ele é pardo, barba e cabelos grisalhos.

A criação de personas é um dos passos mais importantes no desenvolvimento de produtos, mas pode ser um desafio quando se trata de reunir dados e representá-los de forma precisa. Neste artigo, vou mostrar como usamos a inteligência artificial para…

Avelino segurando um microfone e uma camiseta preta escrita Agile. Ele é pardo, barba e cabelos grisalhos.

Políticas explícitas são o alicerce invisível que mantém times ágeis funcionando com eficiência e harmonia. No contexto do Kanban, elas são mais do que simples regras: são acordos claros que orientam decisões, promovem transparência e evitam confusões. Apesar disso, muitas…

Avelino segurando um microfone e uma camiseta preta escrita Agile. Ele é pardo, barba e cabelos grisalhos.

Há algum tempo escrevemos o artigo sobre o Cemitério Mexicano. Ele fala sobre a importância de comemorar quando descartamos ideias ruins antes que elas entrem no nosso fluxo de trabalho como projetos, iniciativas, novos produtos ou serviços. Naquele artigo citamos…