domingo, 19 de junho de 2011

Dr. Strangesoftware

Stanley Kubrick, no filme Dr. Strangelove, constrói uma situação em que os homens ingloriamente lutam contra os procedimentos que criaram. Estes procedimentos, uma vez activados, iniciam uma processo que se revela impossível de parar, levando à destruição da vida no planeta terra. Esta história, é uma versão soft do tema que foi recorrente na ficção científica sobre a tentativa da máquina controlar o seu criador, o homem. Nestas histórias ilustra-se a luta entre a lógica e o humano.

Numa história real, Barbara Tuchman descreve num livro sobre o primeiro mês da Grande Guerra, The Guns of August, como o Kaiser, poucas horas depois de ter ordenado o início das operações contra a França, resolve, após receber um telegrama do seu embaixador em Londres, alterar a sua decisão e invadir a Rússia. A invasão da França tinha sido logicamente preparada para ocorrer em 6 semanas, o que implicava um minucioso plano de deslocação de cerca de 1.000.000 de homens, usando os caminhos de ferro. Quando o Kaiser comunica a sua decisão ao seu chefe do estado maior, a resposta que recebe foi, escreve Tuchman: 

"Your Majesty, it cannot be done. The deployment of millions cannot be improvised. If Your Majesty insists on leading the whole army to the East it will not be an army ready for battle but a disorganized mob...". 

O Kaiser não teve poder para parar a máquina que tinha colocado em marcha.

Também no software há este paradoxo entre a coisa criada e o criador, entre a lógica e o humano.

Num artigo recente na ACM Software Engineering Notes, Robert Schaefer descreve magistralmente este paradoxo:

"I’ve also been thinking a lot lately about the kinship that software developers and managers have in regards to the parable of the blind men and the elephant. Software, as an object stripped away from culture, can be reduced to mathematics, a culturally valueless set of rules of manipulation of symbols. Software also is the formalization of ideas into logic. Coding is nothing more than thinking clearly and logically in the process of symbol manipulation. If so, then what is the big deal? Why can’t just anyone write programs and logic be damned? Logic has one set of rules and culture another. Logic must, but cannot be, separated from cultural values (another paradox). The attempt to map cultural values onto logic, while denying that we are doing it as we do it, is where trouble begins. Now the blind men weren’t able to see the elephant all at once, they could only guess at parts through touch, and emphasize the attributes, assume the whole of a part. We though, as designers and programmers can see the whole elephant, but are not much better off. Which more or less ruins the elephant analogy. Unless the elephant we see is not the elephant that is. Then the elephant analogy works again. We model the elephant in our minds, but the elephant that is, is something different. It looks like an elephant, but behaves like something else. In this instance, it looks like logic but behaves like culture."

Há, no entanto, uma diferença fundamental relativamente às máquinas e procedimentos que têm por base uma visão científica enraizada em princípios desenvolvidos ainda no século XIX: no software a coisa criada não é externa ao criador, não existe para além dele.

Dessa propriedade do objecto de software, que é a sua apropriação pelas pessoas, para além da lógica, falo em alguns dos posts. Por exemplo Da desordem à ordem natural das coisas é sobre a necessidade de tornar a codificação da cultura mais integrada com a codificação da lógica.

domingo, 12 de junho de 2011

Onde começa a produtividade

Depois da inovação vem a produtividade. Temos que ser mais produtivos. Mas, conseguiremos ser tão produtivos a produzir cortiça como os Alemães a produzir automóveis?

A produtividade é definida como a relação entre a produção e os factores de produção utilizados. Ou seja, quanto mais produzirmos, usando menos recursos, mais produtivos seremos. Mas terá que ser necessariamente assim? 

No seu livro Predictably Irrational, Dan Ariely descreve o caso das pérolas negras que se tornaram num bem de luxo após terem sido expostas numa montra da 5ª Avenida de Nova Iorque, com um preço exorbitante. A produtividade aumentou consideravelmente.

Durante muitos anos procurou-se que o processo de desenvolvimento de software fosse como um processo industrial de produção de bens. Este processo caracteriza-se por tentar que o factor humano se torne similar aos restantes factores, como seja a matéria prima. Por exemplo, se aumentarmos a quantidade de matéria prima e reduzirmos o seu custo, podemos aumentar a produção e a produtividade. O mesmo raciocínio aplica-se ao trabalho humano. Quando este processo é bem sucedido é até possível substituir trabalho humano por trabalho automatizado, por exemplo usando robots. 

Contudo, logo nos anos 70, começou a haver indicações que para o desenvolvimento de software poderia não ser possível aplicar as mesmas regras. Fred Brooks observou que adicionar mais pessoas a um projecto de software que está atrasado relativamente ao planeado ainda o atrasa mais, o que é conhecido como a Lei de Brooks.

Não obstante esta constatação, continuou-se durante mais cerca de 20 anos a tentar industrializar o processo de desenvolvimento de software. Após os sucessivos insucessos, surgem, no final do anos 90, propostas de ágeis para o desenvolvimento de software que negam muitas das práticas industriais clássicas. Estas propostas, em vez de lutarem contra a intangibilidade do software, e consequente  dificuldade em o medir, procuram tirar partido dessas características. Assim, propõem um desenvolvimento pronto para se adaptar à mudança e dela tirar partido. 

Os métodos ágeis percebem que a produtividade no desenvolvimento de software não está na quantidade do produto mas na sua qualidade e, muito em particular, no seu impacto. Em onde Onde pára a inovação falo sobre o caso do Facebook.

Ou seja, na produção de certos tipos de produtos a produtividade começa na inovação.

Por outro lado, a palavra produtividade tem um peso histórico. Especialmente quando se torna programática, na forma de batalha da produção. Na batalha da produção do aço na China, durante o grande salto em frente, o resultado foi a produção de grandes quantidades de aço, de baixa qualidade, e que não servia para nada. Nestas batalhas, na memória, ficam apenas os culpados das derrotas anunciadas e os heróis das vitórias que foi necessário inventar.

domingo, 5 de junho de 2011

Onde pára a inovação

Há palavras que valem mais do que outras. Palavras que adquirem um valor que ultrapassa o seu significado. Normalmente um valor emotivo ao qual é difícil ficar indiferente, até por este ser partilhado por um grupo.

Estas palavras têm uma função importante, são mobilizadoras e desencadeiam comportamentos. Contudo, dado que o seu valor ultrapassa o seu significado, estes comportamentos podem não ter um fundamento na realidade. Esta situação não é necessariamente negativa, por exemplo algumas teorias económicas defendem que o optimismo do mercado é fundamental para o crescimento. O difícil é perceber a fronteira entre o optimismo e a bolha que ele pode criar.

Uma palavra que ganhou nos últimos anos algum deste efeito placebo, é a palavra inovação (sobre o efeito placebo associado ao valor ver Why a 50-cent aspirin can do what a penny aspirin can't de Dan Ariely). Ainda é cedo para avaliar se os comportamentos gerados criaram as sinergias necessárias e se estas tiveram de facto um impacto social e económico, mas, a palavra também funcionou como um agente de esperança.

No clássico The Innovator's Dilemma: When New Technologies Cause Great Firms to Fail, Clayton M. Christensen estudou a indústria dos discos de computador. Esta indústria teve ciclos de inovação muito rápidos entre os anos 70 a 90. Ele observou que, nas empresas que foram sucessivamente perdendo a corrida pela inovação, a gestão fez o que devia ter feito, esteve centrada nas necessidades dos clientes. E, paradoxalmente, a tecnologia inovadora deve origem nessas empresas, ou então, elas tinham os conhecimentos necessários para criar a tecnologia inovadora. O que se passou foi que os seus clientes não estavam interessados na nova tecnologia.

As empresas que inovaram foram aquelas que descobriram/criaram clientes para a tecnologia. Estes clientes permitiram criar um novo mercado. Neste mercado a nova tecnologia aperfeiçoa-se e acaba por integrar o mercado dos clientes que inicialmente eram reticentes à mudança tecnológica. Quando isso acontece, as empresas que eram dominantes são destronadas pelas empresas emergentes.

A engenharia de requisitos é a fase do desenvolvimento de um sistema de informação em que se identificam as necessidades do cliente e se escreve uma especificação do sistema de informação a desenvolver. Dada a imaterialidade do software e a complexidade do contexto onde o problema existe, o engenheiro de requisitos tem bastante margem de manobra para criar/influenciar a definição do problema.

Nesta fase de engenharia de requisitos é possível inovar, no sentido em que é possível reformular o problema num contexto não previsto pelo cliente. Alguns gurus da engenharia de requisitos chamam a isto inventar requisitos. 

Esta diferença entre a engenharia de software e as engenharias mais clássicas está relacionada com a capacidade de um sistema de informação criar/alterar uma linguagem, como referi em A linguagem da informação. O que pode incluir alterar o significado de palavras, veja-se a palavra amigo no Facebook. Por outro lado, para ser inovador, um sistema de informação pode não necessitar de tecnologias disruptivas. Em A Face de todas as Faces refiro que a complexidade funcional do Facebook é diminuta e a sua complexidade tecnológica é o resultado do seu sucesso, necessidade de fornecer serviços a um grande número de utilizadores, e não a sua causa.

domingo, 22 de maio de 2011

A linguagem da informação

O desenvolvimento do sistema de informação para o registo electrónico de pacientes no Reino Unido, Public procurement: Only the bare bones, é mais um caso sintomático das dificuldades de desenvolvimento de sistemas de informação. Lançado com pompa e circunstância, arrasta-se agora carregando o seu manto de dinheiro.

O caso tem algumas semelhanças com o descrito em Do público e Do privado. Mas, há uma questão interessante que é levantada na notícia. O registo electrónico de pacientes é um objectivo inquestionável, que todos concordam ser necessário, mas parece não ter solução. A abordagem centralizada falhou, mas a delegação nas unidades de saúde também não parece trazer, refere um responsável, os resultados desejados.

Stephen Pinker, no seu livro How the Mind Works, defende que a linguagem é inata, é um órgão. Existe um período no crescimento humano em que esse órgão se modela para criar a linguagem. Num exemplo, adultos que têm contacto tardio, embora prolongado, com outra língua têm dificuldade em construir frases que não tenham ambiguidades, enquanto que os seus filhos criam uma língua própria (crioulo), ainda que possuindo simplificações gramaticais, por junção de elementos da língua materna e da língua exógena, e com a qual constroem frases sem ambiguidades.

A actividade dos profissionais de saúde implica uma grande responsabilidade pois das suas acções pode depender a vida humana. Frequentemente essa responsabilidade é a título individual e resulta das interacções directas e pessoais entre o profissional e o paciente. Nestas interacções a linguagem é um elemento importante e pode ganhar um carácter único, quer associado ao profissional, quer associado à sua interacção com o paciente. A tentativa de normalizar essa linguagem entre os profissionais não é uma tarefa fácil.

A definição de normas em sistema de informação também não tem sido uma tarefa fácil, embora seja percebida por todos como necessária. Tem havido duas abordagens, a abordagem centralizadora e a abordagem de consenso. A abordagem de centralizadora acontece quando uma tecnologia se torna hegemónica e fica a norma de facto. A vantagem desta abordagem é que não necessita de criar compromissos tecnológicos, pelo que frequentemente a tecnologia é mais simples. Por consenso acontecem duas situações, por um lado a tecnologia vai ter de integrar muitos compromissos, pelo que ficará mais complexa, e por si só não assegura que irá ser adoptada. O comité de normalização pode ser o local onde os vários interessados medem forças (disputa de memes).

A tecnologia existe para satisfazer as necessidades das pessoas e o seu uso, e muito em particular o uso da tecnologia da informação, está intimamente ligado à sua linguagem. Um dos aspectos centrais do desenvolvimento de um sistema de informação é a criação, ou alteração, de uma linguagem.

sábado, 14 de maio de 2011

A Face de todas as Faces

Em Agosto do ano passado, durante as férias, fui com alguma frequência a cibercafés. Ao percorrer as filas de computadores, a interface Facebook imperava na maioria, se não na totalidade, dos ecrãs. Se fosse um extraterrestre acabado de chegar ao planeta associaria o ecrã de um computador à interface do Facebook.

Recentemente, ao procurar obter informação sobre um evento que iria ocorrer em Lisboa, a forma mais fácil de a encontrar foi procurando no Facebook. Actualmente as páginas web são mais acedidas a partir de páginas do Facebook do que a partir de pesquisas no Google. 

Todos estão no Facebook, ou vão lá estar em breve. Várias organizações a que pertenço já têm página no Facebook, desde as organizações onde trabalho até aos bancos de que sou cliente. Não que o Facebook lhes permita disponibilizar melhor a informação, com maior usabilidade ou com mais detalhe, do que nos seus sites institucionais, mas é lá que as pessoas estão. E a estratégia do Facebook é que de facto todos lá estejam. O Facebook apresenta a informação do Wikipedia dentro da sua interface. A interface de programação disponibilizada pelo Facebook tem como objectivo embutir aplicações no Facebook. Por exemplo, a empresa que desenvolve o jogo Civilization já anunciou que irá brevemente ter uma versão para o Facebook. 

Há alguns anos atrás as aplicações migraram para uma interface web, ainda que perdendo alguma usabilidade, hoje estão a migrar para a interface Facebook. 

Do ponto de vista do software, a complexidade funcional do Facebook é diminuta. O seu impacto resulta de as pessoas lá fazerem login.

O Facebook é o passo mais recente da história dos sistemas de informação, cada um deles com uma empresa bandeira: o hardware (IBM), o software (Microsoft), os conteúdos (Google), e as comunidades (Facebook). O produto tem-se tornado mais intangível, e o ritmo, e duração, da mudança mais rápido. Na passagem do software para os conteúdos deu-se uma alteração drástica do modelo de negócio. Deixou de se haver uma troca comercial explícita (o software da Google é grátis). O produto são os conteúdos criados e acedidos pelas pessoas enquanto usam o software Google.

O Facebook tem 6 anos e o seu negócio é provavelmente mais volátil que todos os anteriores. É uma comunidade e está dependente dessa comunidade. 

O que surgirá a seguir? Um produto ainda mais intangível e com um crescimento ainda mais meteórico?

domingo, 8 de maio de 2011

Um macaco chamado Nicollò Machiavelli

No DigArtMedia encontrei uma referência a uma animação de uma apresentação de Evgeny Morozov sobre o impacto político da Internet.


Evgeny Morozov argumenta que também se deve tentar perceber as consequências negativos da internet. Contrapõe este argumento à ideia naive de que a tecnologia web é, por si só, um instrumento de  democracia.

Num primeiro argumento, descreve como a tecnologia web é usada para reprimir. Por exemplo, no Irão a técnica de crowdsourcing é usada para identificar opositores políticos. As fotografias de participantes em manifestações são colocadas na web e as pessoas são convidadas a identificá-los.

Num segundo argumento, ressalta a vertente da internet como instrumento de entretenimento que tem uma dimensão muito superior à vertente de intervenção social.

Concordo que a tecnologia por si só não provoca alterações, é na interligação dos aspectos sociais e tecnológicos que de facto as mudanças acontecem, mas não partilho uma visão pessimista. A perspectiva pessimista de Evgeny Morozov parece-me bastante em sintonia com a visão de George Orwell sobre a manipulação da informação descrita no livro 1984. Com efeito, quando se procura forjar entidades no Facebook para dar credibilidade a notícias, começa-se a estar próximo das técnicas maquiavélicas, descrita por Orwell, em que o governo forja o movimento de oposição para assim identificar aqueles que têm tendências oposicionistas, ainda que estas apenas sejam originadas devido ao movimento inventado pelo governo. Uma ilustração do pecado original tão caro à verdade e ao poder absoluto.

Contudo, deve-se ter uma perspectiva menos imediata sobre os efeitos da tecnologia. É também necessário olhar para outras tecnologias. Existem tecnologias que permitem a disseminação da informação e que já são usadas há mais tempo, como seja a fotografia ou o vídeo. Não é claro que a fotografia e o vídeo tenham reduzido a capacidade de alteração social. Sem dúvida que todos podem usar essas tecnologias. É possível filmar as pessoas de uma manifestação, mas na maior parte dos casos elas pretendem ser filmadas pois querem dar impacto aos seus protestos. Arriscam pagar um preço, mas se assim não fosse também não se manifestariam.

Mesmo a vertente de entretenimento pode ter impacto. As telenovelas na Índia têm alterado a condição da mulher das zonas rurais. As mulheres deixam de tolerar situações que eram ancestralmente imutáveis. A alteração provocada pelas telenovelas não tem a redenção poética do homem de Platão a sair da caverna, mas parece ser eficaz.

Em minha opinião, quando maior for a facilidade de duplicação e transmissão da informação menos capacidade existe de a controlar. Pode-se questionar, mas se observamos o que se tem passado desde que saímos de cima das árvores até aos dias de hoje, o sentido do vector parece ser claro.

domingo, 1 de maio de 2011

O cavaleiro branco do mercado

Quando era garoto havia um anúncio na televisão que me impressionava. Era o cavaleiro branco do Ajax! Impressionava-me pela sua brancura imaculada, cavalo branco, armadura branca e lança resplandecente. Talvez também fosse por causa da televisão ser a preto e branco e o cavaleiro sobressair no meio de todos aqueles cinzentos.

Desde a queda do comunismo, que o meme do mercado se tornou dominante na "pool" de memes (Da democracia e Dos genes). Tornou-se de tal forma dominante que muitas vezes o dito "mas isso é o mercado a funcionar" acaba com qualquer tentativa de argumentação.

Contudo, o mercado para funcionar pressupõe algum equilíbrio nas relações entre os agentes. Da mesma forma que quando uma planta, ou um animal, se torna dominante no seu ecossistema o acaba por destruir, e a prazo destrói-se a si mesma, também as relações de desequilíbrio entre os agentes do mercado podem levar a situações de ruptura, como por exemplo os problemas resultantes de acentuados desequilíbrios sociais.

Infelizmente, a administração pública é um agente fraco na relação de mercado. De facto, esse tem sido o tema de alguns dos posts deste blogue. A administração pública tem dificuldade em concorrer com as empresas privadas para a contratação dos melhores recursos humanos (Virar o problema do avesso), não consegue manter conhecimento acerca dos seus próprios processos (Onde pára o conhecimento), tem dificuldade em auditar a aplicação do dinheiro dos impostos (A cadeia de valor dos impostos), não consegue criar mecanismos de avaliação interna focados em objectivos que sejam percebidos pelas pessoas (Onde começa a avaliação), etc.

Recentemente, tem aumentado o número de defensores de uma solução de mercado para aquilo que tradicionalmente era público. Uma parte significativa da economia Portuguesa está ligada ao dinheiro público, aquele que resulta dos impostos, mas sendo a administração pública um agente fraco da relação de mercado temo que a sua prestação na gestão do dinheiro público não venha a ser muito diferente da actual. Poderá mesmo piorar, pois algumas situações que se venham a criar, especialmente as de desequilíbrio social, serão justificadas com "é o mercado a funcionar".

Mas será mesmo "o mercado a funcionar"? 

Para o mercado funcionar de facto a administração pública tem que ser um agente forte. Mas, como isso não se tem verificado até agora, não é por abrirmos as portas e "deixarmos entrar o mercado" que a administração pública se vai tornar num agente forte. O mercado terá dificuldade em funcionar pois o problema actual com a gestão do dinheiro público não é mais ou menos mercado.

Ou seja, é necessário criar as condições para a administração pública seja forte e defenda os interesses daqueles que pagam os impostos. Quando isso acontecer, pode-se abrir sem medo as portas ao mercado. De facto os outros agentes terão muito a temer desse agente forte, dado o volume de negócio que ele gera.

Mas, para tornar a administração pública mais forte é necessário aproximar os seus stakeholders, aqueles que pagam impostos, dos processos e decisões de gestão, quer como observadores/auditores quer como participantes activos. Os sistemas de informação poderão ter um contributo importante, pois permitem esbater as distâncias geográficas, políticas, de poder, de acesso à informação, de decisão e de comunicação. Contudo, o desafio é saber como isso pode ser conseguido através da conjugação adequada dos aspectos técnicos dos sistemas com as características sociais de quem os usa.