quarta-feira, janeiro 16, 2013

Política versus Procedimento


O Professor Sergio Bio, em seu livro de Sistemas de Informação, faz notar sobre a diferença entre política e procedimento.

Diz o livro: “... políticas são “decisões futuras”, ou “são orientações preestabelecidas para a tomada de decisões no sentido dos objetivos”. São características da política, segundo Bio: 1) definir caminhos até os objetivos, 2) permitir um certo grau de arbítrio na tomada de decisão, 3) deixar em aberto a definição de procedimentos, funções e responsabilidades, 4) representar o desejo dos organizadores (aqueles que desenham a organização), 5) aplicar-se a casos semelhantes, mas não a um caso específico.

 Já sobre procedimento, diz o livro: “Política é o que da decisão; procedimento é o como.”

Um exemplo simples: uma empresa pode ter uma política de apoio ao comparecimento de funcionários à conferências ou exposições relacionadas a suas atividades. No entanto, deixa a cargo de cada órgão da empresa o modo de patrocinar a viagem: que poderia ser por adiantamento, por concessão de cartão de crédito corporativo, ou por reembolso mediante comprovação. Portanto, três diferentes formas de cumprir a política.

Ok, mas porque essa diferença é importante para profissionais de Sistemas de Informação?

O ponto é que ao centrar-se em políticas, obtêm-se conceitos mais abstratos, que permitem diferentes implementações. Ao passo que o foco no procedimento, no como fazer, pode trazer consequências de inflexibilidade, ou seja, engessam soluções e fazem com que haja menos facilidade para evolução, porque a organização pode mudar o procedimento.

Arquitetar sistemas com base em políticas é uma importante prática para o profissional de Sistemas de Informação.

 Em Engenharia de Software, sabe-se da grande importância do conceito da abstração, porque há a necessidade de modelos modulares. Sem abstração tudo ficaria num mesmo nível de detalhe, o que aumentaria, em muito, a complexidade de qualquer modelo. Uma arquitetura de Sistemas de Informação baseada em políticas auxilia os desenvolvedores de software na identificação de variabilidades no sistema. Ou seja, pode-se pensar em políticas como super-classes que podem ser instanciadas por diferentes classes através do relacionamento é-uma.

Portanto, focar nas políticas é uma das chaves do sucesso de uma arquitetura de sistemas de informação