quarta-feira, 27 de abril de 2011

E a Engenharia de software, é engenharia mesmo?

2 comentários:

Algum tempo atrás, eu li artigo argumentando que fazer software não deveria ser considerado um processo de Engenharia. Na época, o argumento pareceu bastante razoável, pois eu acabei lendo estes artigos durante meu período de estudos iniciais de metodologias ágeis (programação extrema em mais detalhes). No laboratório em que trabalho tivemos até um debate acerca do tema e tal, e no final ficou realmente a impressão de que o caráter "artesanal" é forte na maioria das vezes. Daí a ligação fraca entre o processo de fazer software e o processo de Engenharia.

Mesmo assim, sempre me incomodou uma inconsistência: se a Engenharia nada mais é que resolver problemas, porque a designação não serve para os problemas resolvidos por programas de computador?

Depois de um tempo, ao desenvolver meu texto do Mestrado, li um (monte de) artigo(s) muito interessante(s)  sobre as origens dos métodos ágeis, algumas contadas pelos criadores do próprio manifesto ágil.

Em um deles, Williams e Cockburn [1] argumentavam que fazer software é, sem dúvida, um processo de Engenharia. O motivo? Bem, processos de Engenharia podem ser vistos de duas formas: formais ou empíricos. Os processos de formais estabelecem modelos capazes de repetição gerando sempre resultados consistentes. Os processos industriais têm essa característica de repetição. Neste sentido, fazer um carro é um processo que, uma vez formulado, pode ser repetido em outras localidades.

Os processos empíricos, por outro lado, são executados de acordo com a situação, precisando de pequenos ajustes ao longo da própria execução. Cockburn argumentava que fazer software é justamente um processo não-repetitivo, em que cada situação necessita de uma solução distinta. Para mim, este argumento aproxima muito o "fazer software" de Artesanato. Quem prefere não usar o termo Engenharia de software talvez esteja fazendo alguma relação entre programar e o artesanato. Eu, particularmente, a acho a analogia super válida, só não acho que programar deixa de ser Engenharia por isso.

EDIÇÃO: obrigado ao Flávio por apontar que faltou a referência.

[1] - WILLIAMS, L.; COCKBURN, A. Agile software development: it's about feedback and change. Computer, v. 36, n. 6, p. 39-43, 2003. ISSN 0018-9162. Link para o artigo original.

sexta-feira, 22 de abril de 2011

Android e eu

Nenhum comentário:

Eu comprei um telefone celular LG GT 540 há pouco tempo atrás. Como um bom nerd, estou adorando a novidade. É claro que fiquei um tempo explorando os recursos do aparelho, já que o grande interesse estava justamente no sistema operacional. Tenho de confessar minha satisfação com o produto, não sei se pela qualidade do Android em si ou pelo conjunto da obra. Eu que sempre usei celulares Nokia, estranhei uma coisa apenas, a falta de atribuir Ringtone específicos para cada grupo.

Claro, como qualquer entusiasta de Linux fico muito contente com a excelente usabilidade do sistema. Até pouco tempo atrás, Linux era exclusivamente para nerd, a evolução foi grande sem dúvida. A grande desvantagem, com certeza é deixar todos os dados vinculados a uma conta no Google. Se você, como eu, também já usa para vários outros fins, provavelmente não vai ser um problema. O que quero dizer é que as coisas ficam bem integradas usando contas do Google. Coisas como sincronização de contato funcionam sem precisar fazer nada além de uma simples autenticação. É mais ou menos assim, se você, por algum motivo não usa serviços do Google, o Android pode não ser para você, entendeu?

Uma pequena atualização depois de uma conversa com o Leandro Biazon, que trabalha comigo: é mais provável que a usabilidade do Android seja boa de fato para geeks. Isso faz bastante sentido levando em consideração quem compra esse tipo de celular. Afinal, se você você só vai fazer ligações, um smartphone é matar formiga com canhão.

quarta-feira, 13 de abril de 2011

Como ir para a USP do metrô Butantã

2 comentários:

Há 2 semanas tenho vindo para a USP pelo metrô Butantã. Sem dúvida que facilitou bastante, mas como a estação não é tão próxima da universidade, tenho de pegar um ônibus para chegar.

Atualização: essas recomendação não vale mais, pois agora há 2 linhas de ônibus do metrô para a USP circulando normalmente.

Bem, é aí que vou compartilhar minha visão. Eu vejo dois jeitos de se chegar: um mais fácil e outro mais rápido. Vamos a eles.

O jeito fácil

Na própria estação há um terminal de ônibus; um dos que sai de lá vem justamente para a USP. Portanto, é uma opção sem grande chance de erro, boa para quem não conhece a região. Só tenha um cuidado: esta linha só funciona enquanto o metrô está aberto (entre 8h e 15h, por enquanto).

O jeito rápido

Se você souber andar na região, há uma opção mais rápida para chegar até a USP: pegar ônibus fora da estação. É claro que vai ser necessário andar um pouco, mas nada além de 5 minutos. A grande vantagem em pegar ônibus fora da estação é que há mais linhas disponíveis, logo, sua chance de chegar rápido é maior comparado a ficar na estação.

Aqui está o mapa da caminhada até a rua Valdemar Ferreira (a mesma do Rei das Batidas):

Neste ponto, as linhas para a USP são: 177H, 177P, 7181, 107T, 702U, 701U. Melhor que esperar por uma só linha, né?