A influência do Desenvolvimento de software na nossa vida

by Luiz Paulo | abril 24, 2009 | 6 Comments »

Há muito tempo percebo o quanto minha vida é influenciada pelo desenvolvimento de software (engraçado não?). Não sei se com você também é assim, mas muitas das coisas aplicadas ao trabalho automaticamente ou opcionalmente são aplicadas a minha vida, pois são "práticas" que fazem diferença.

Essas práticas me fazem simplificar ou abstrair coisas que para meros mortais (rsrs) seria quase impossível. Mudar a forma de pensar ou de enxergar as coisas muitas vezes pode ser vantajoso.

KISS (Keep it Simple Stupid)
Uma das filosofias que mais influencia a minha vida é a KISS (Keep it Simple Stupid), todo o desenvolvedor conhece (ou deveria conhecer) esse termo. Sempre dá para melhorar, simplificar ou reduzir alguma coisa (tanto falando de código quanto da vida). Isso é fato!

Você pode olhar quantas vezes quiser para um código que sempre vai achar coisas a melhorar.

E por que não podemos aplicar a nossas vidas?
Complicamos tanto as coisas que somos capazes de achar tempestades em copo d'água.
Vejo tanta gente com problemas pequenos/simples/insignificantes (não querendo menosprezar... Cada um sabe o tamanho da sua cruz), que são transformados em grandes tempestades.

Se pensarmos simples e tentarmos resolver da melhor forma possível, não sofreríamos com a metade dos problemas que temos.

Abstração
Fico impressionado com a capacidade que tenho de abstrair as coisas.
Porra, o problema do trabalho fica no trabalho, o de casa tem que ficar em casa, o do relacionamento no relacionamento e por aí vai. Sim sou humano, óbvio que chegamos chateados etc etc, mas não podemos deixar que um influencie o outro.

Não podemos descontar em A uma coisa q estamos sofrendo com B. Não podemos chegar ao trabalho e ficar resmungando com os chefes ou clientes que o papagaio não deu bom dia hoje.

Scrum
Apesar de nunca ter trabalhado com essa metodologia, eu li bastante a respeito (indico a leitura do livro: Scrum e XP direto das Trincheiras).

Resolva uma coisa de cada vez! Problemas todos nós temos (desde os pequenos até os mais cabeludos), mas não importa. RESOLVA 1 DE CADA VEZ!
Tudo o que tem um FOCO maior se torna mais produtivo, logo, é resolvido muito mais rápido.

Enfim...
Claro que existem pessoas e pessoas, cada um pensa/age/vive de uma forma. Mas se simplificamos nossos pensamentos, abstraímos as coisas e resolvemos os problemas nas horas certas, tudo fica bem mais fácil.

Boas práticas são boas práticas e ponto! Não precisamos pensar só em desenvolvimento, se "o bagulho é bom" vamos usar carai (rsrs).

E você também sente alguma diferença na forma de pensar?

Grande abraço a todos.

Categorias: Artigo
Tags: , , , , , , ,

Planejamento de software (Keep It Simple Stupid)

by Luiz Paulo | dezembro 3, 2008 | 14 Comments »

Essa semana eu e parte de nossa equipe, passamos por uma situação complicada. Estamos desenvolvendo um projeto relativamente grande que precisa ser entregue até final do ano. Até aí nada de errado!
Esse projeto já está rolando há algum tempo e passou por todos os processos de desenvolvimento (ou quase todos).

Quando chegou a nossas mãos (desenvolvimento), encontramos uma documentação com várias e várias funcionalidades, só que uma delas nos chamou a atenção, pois estava bem complexa. Com definição de regras e sub-regras para chegar a um determinado objetivo. Até que um dia, tive uma dúvida e resolvi perguntar para o cliente, conversamos bastante até chegarmos a um consenso. Depois de 4 horas de reunião, percebemos que essa funcionalidade não precisava mais do que um cadastro "besta".

Me senti exatamente nessa situação:

Desenvolvimento de software

Depois de tanto trabalho, a funcionalidade pronta, etc. etc. tivemos que refazer (ainda bem que conseguimos recuperar boa parte do código)!

Com esse quadro, fica a questão. Quem errou?

Seria o cliente por não ter conseguido explicar exatamente o que precisava? Do pessoal que planejou/documentou que não soube dar a melhor solução? Ou do desenvolvimento que não gritou antes a respeito da complexidade?

Na minha opinião, o problema não está ligado diretamente a nenhuma das partes. Todos direta ou indiretamente erraram.
Depois de todo esse tempo de desenvolvimento, houve um amadurecimento da idéia, e com isso as coisas se tornaram muito mais simples.

Sim! Com certeza, se lá atrás quando foi planejado, tivessem ficado 5 minutos a mais discutindo, talvez chegassem a esse resultado mais simples, mas não aconteceu. E deu no que deu.

Existe toda aquela discussão de métodos ágeis ("...se estivesse utilizando Scrum isso não acontecia!"), zilhões de técnicas para processos melhores e menos burocráticos. Concordo que talvez não tivéssemos esse problema, independentemente de métodos e processos, precisamos levar em consideração o que comentei acima, nesse tempo houve um amadurecimento da idéia e os clientes perceberam que aquilo definido não era necessário.

Esquecemos do KISS "Keep It Simple Stupid", princípio básico para desenvolvimento.

Enfim, aprendi muito com isso! Acho que todos crescem com esse tipo de situação. Com certeza depois disso, na próxima teremos mais cautela ao definir uma coisa muito complexa, ou não... (rsrsrs)

Categorias: Artigo, Desenvolvimento web
Tags: , , , , ,


 

Sobre

Foto Luiz Paulo

Sou desenvolvedor web desde 2000, atuei em grandes projetos web2.0. Atualmente trabalho na Automatos junto equipe de site desenvolvendo projetos web2.0 e utilizando como server-side a linguagem java.

Para saber mais sobre mim, acesse Meus Links ›


Valid XHTML 1.0 Strict Valid CSS!

Luiz Paulo | tecnologia web