Monday, July 29, 2013

Código é poesia?? :)

Pode escrever código fazer de nós poetas?? :)

Aqui fica um artigo interessante, que transcrevo, não vá o link ir-se....

Daqui: http://www1.folha.uol.com.br/colunas/luliradfahrer/2013/07/1317458-codigo-e-poesia.shtml

Código é poesia

A expressão, usada como slogan pela plataforma Wordpress, é controversa. Comparar a nobre arte poética com a técnica da programação parece sacrilégio.

Código é frio e calculado, precisa ser objetivo, não pode dar margem a interpretações. O que isso tem em comum com a artesania de palavras que compõe um verso?

A relação entre as duas áreas tem origens medievais. Até o século 12 não se calculava com números na Europa. Para isso existiam os ábacos. Derivados do sistema romano, números eram apenas um tipo de letra usada para registrar quantias.

A invasão árabe trouxe com ela as descobertas aritméticas dos hindus e persas, entre eles os escritos de Al-Khwarismi. De seu nome vêm os conceitos de algarismo, algoritmo e logaritmo.

Entre suas invenções está a Álgebra, uma língua composta de pequenas frases e sinais que registra e calcula operações matemáticas. Em frases curtas, sequenciais e de gramática rígida buscava-se descobrir a incógnita, chamada por ele de xay (coisa), que não tardou a se transformar no "x" de tantas questões.

Algoritmos, como equações algébricas, usam expressões para realizar operações. Sintéticas, essas frases em línguas estranhas (SQL, JavaScript, HTML) têm sintaxe, ortografia e métricas precisas.

A semelhança entre código e poesia vai além de sintaxe e frases curtas. Ambas têm propósito, sentido e estrutura. Por motivos diferentes, precisam ser elegantes e concisas.

Bom código, como boa poesia, não "acontece" naturalmente, nem pode ser gerado a partir de dicionários de rimas. Demanda disciplina, talento e trabalho duro.

Algoritmos bem desenvolvidos, como poesias bem escritas, seguem fluxos naturais de ideias. Tudo neles parece estar no lugar correto, nada pode ser removido, cada linha emenda naturalmente na próxima.

O fluxo de operações não é determinado pela estrutura gramatical mas pela forma com que cada ideia se conecta à seguinte, complementando a anterior. Linhas de código, como versos, fazem referências cruzadas, em que cada parte amplifica e sintetiza o que a antecedeu.

Como bem sabe quem já tentou escrever poemas ou algoritmos, a tarefa não é fácil. Licenças poéticas, exceções e desvios acabam sendo usados para contornar problemas, criando emendas que geram trabalhos de péssima qualidade.

Muitos preguiçosos autointitulados poetas apenas por serem capazes de rimar as palavras no fim de duas linhas se espantam porque ninguém suporta lê-los ou ouvi-los. Dodecassílabos, alexandrinos, heroicos ou redondilhas, poemas precisam de estrutura. Como eles, os haikus e sonetos algorítmicos demandam estruturas e métodos para serem devidamente apreciados.

Programar websites e aplicativos é complexo, mas não é impossível, nem restrito a mentes brilhantes especiais. Da mesma forma que todos podem escrever, todos podem programar. Com engenho e arte, novos talentos podem fazer o que Chico, Caetano e Gil fizeram com os versos da nossa música.

Mas só se poderá cultivá-los quando o preconceito que se tem com relação aos desenvolvedores for substituído pela admiração que temos por quem garimpa a beleza oculta na última flor do Lácio.

Friday, May 24, 2013

SAFs - Scaled Agile Framework

The Scaled Agile Framework (pronounced “SAFe”) is an interactive knowledge base for implementing agile practices at enterprise scale. The “Big Picture” graphic  highlights the individual roles, teams, activities and artifacts necessary to scale agile from the team to program to the enterprise level. Clicking on each icon takes the user to an Abstract and a Detail page which elaborates on that element. Some elements (like DBT and Metrics) bring up additional sub-domains with navigation to further depth and description.

Interessante...
Tema a explorar:
http://scaledagileframework.com/

HotHousing in Agile

The term originally came out of England at British Telcom as a way to plan out the backlog for a given product. The entire project team and several different disciplines come together with business partners to creatively solve problems and launch into a 90-day development cycle.

Interessante...

Mais neste artigo:
http://blogs.captechconsulting.com/blog/margaret-thomas/hothousing-new-concept-or-new-word?goback=%2Egde_81065_member_241843457


AGILE - Reuniões de retrospective

Muitas vezes entramos em debates intermináveis nas reuniões de retrospectiva, no final do Sprint, sobre temas que não são importantes para a equipa.
Embora seja fundamental haver abertura para as pessoas falarem do que acham importante, do que pode ser melhorado, até da sua visão sobre as questões abordadas, não é útil perder de vista o objectivo da reunião, que é identificar o que correu bem e reforçá-lo, e identificar o que correu mal e melhorá-lo.
E nao nos perdermos em discussoes subjectivas sobre se a opinião do outro é mais certa ou errada do que a minha.
É importante identificar pontos de melhoria e pensar em acções concretas e práticas para as mitigar.

Deixo uma frase interessante e bastante ilustrativa :)
Five frogs are sitting on a log. Four decide to jump off. How many are left? Five, because deciding is different than doing.” Decisions are worthless … unless you turn them into commitments.

http://www.linkedin.com/today/post/article/20130520005409-36052017-are-you-making-this-mistake-at-the-end-of-your-meetings?goback=%2Egde_81065_member_242848818

AGILE - Partir User Stories