Pesquisar

Canais

Serviços

Continua depois da publicidade
Continua depois da publicidade

A valorização do conhecimento no desenvolvimento de software

15 nov 2013 às 17:46
Continua depois da publicidade

"Planejamento é tudo! Todas as batalhas são perdidas ou ganhas antes do primeiro combate. Sua execução é mera formalidade"

Continua depois da publicidade
PUBLICIDADE

É bastante comum ouvir "esse sistema não presta"... "não funciona porque o sistema está travado, de novo!"... "é impossível trabalhar com esse sistema"... "que sistema de m$%#@!"... E outros inúmeros adjetivos carinhosos que vêm retratar ao meu ver, duas situações distintas: ou o profissional não é o mais adequado aquela função e o sistema funciona como uma desculpa conveniente para disfarçar sua inabilidade ou o sistema realmente possui falhas.

Continua depois da publicidade


Em qualquer operação com variáveis, precisamos isolar uma de forma a conseguir transcorrer com o cálculo e obter o resultado desejado a necessidade, seja ela qual for. Neste momento, gostaria de debater sobre uma maneira eficiente de desenhar sistemas mais inteligentes, que eximam a ferramenta de qualquer tipo de acusação.


A proposta não possui nenhum outro objetivo que não seja ser favorecer resultados positivos dentro da estrutura corporativa, uma vez que, identificar falhas não é suficiente. Sinalizar ou apontar uma falha é apenas uma parte da ação corretiva adequada. É necessário que saibamos determinar a origem de situações indesejadas e atuar na correção nesse ponto, de outra forma, caímos na armadilha de "remendar" procedimentos que num momento ou outro, podem facilmente sair do controle e inviabilizar qualquer ação corretiva.


Analisando a metodologia tradicional de desenvolvimento dos códigos de software, os profissionais caem na armadilha de tentar antever todas as possibilidades, todas as situações prováveis e possíveis dentro da aplicação da ferramenta. O problema é justamente que, por trabalharmos com pessoas, esse conjunto de variáveis tem infinitas possibilidades, pois o conjunto de combinações possível aumenta exponencialmente a medida que tentamos controlar uma nova situação possível.

Continua depois da publicidade


Para exemplificar essa consideração vamos considerar o desenvolvimento de um software para determinar ou não a utilização de agasalho (agasalho fornecido pela empresa, uniforme). A premissa lógica é a avaliação da temperatura, calor elimina e frio exige que a veste seja utilizada. Essa análise feita de maneira simplificada, aparentemente atende a situação, originando um algoritmo com a seguinte estrutura:


SE FRIO = LIGADO
ENTÃO USAR O AGASALHO!
SENÃO NÃO USAR O AGASALHO!


O sistema acima, aparentemente tem um resultado satisfatório para o problema inicialmente proposto. Mas essa conclusão está equivocada, porque a análise deve ser realizada de maneira mais intensa, mais detalhada e mais humana, considerando o verdadeiro conjunto das variáveis envolvidas e as formas como podemos tratá-la.


Questões como:


"Como fazer o computador entender o que é frio?";
"vamos utilizar a escala de temperatura em qual índice? C; F ou K?";
"teremos conversores de escala para analisar qualquer informação que venha a ser inserida no sistema?";
"a sensação de temperatura é a mesma para qualquer usuário?;
"devemos criar um banco de dados para registrar as sensações de temperatura de cada usuário?";
"quando o usuário não estiver cadastrado; qual o procedimento?";
"se o usuário não souber informar a temperatura; o sistema deve sugerir algo?"....


Inicialmente não foram realizadas. Com os exemplo acima, é fácil visualizar que a linha de análise está tomando um caminho extremamente perigoso, pois o conjunto de variáveis aumentando, a necessidade de ações adicionais são necessárias. Um DB para cadastras as pessoas e suas temperaturas de conforto e desconforto, algoritmos de conversão de unidades de medida de temperatura, procedimentos de identificação de usuário e metodologia de segurança para evitar erros do sistema por falha de identificação.


Esse procedimento é possível, tudo é possível, mas devemos considerar o custo e tempo envolvidos, comparando-os com as expectativas da corporação. Tudo isso ainda faz parte do processo de análise, pois o planejamento é a etapa mais importante de qualquer ação e como consequência vale a pena investirmos muito nessa etapa do desenvolvimento, pois as soluções mais avançadas, que atendem de forma mais adequada e encaixam naquilo que a corporação ou os usuários esperam, nem sempre precisa ser cara, demorada e complicada.


Observem uma possível solução, genérica, simplificada, rápida e adequada para o problema inicialmente proposto:


ESTÁ COM FRIO? GOSTARIA DE UTILIZAR O AGASALHO?"
NÃO
ATÉ MAIS TARDE!
SIM


O processo de tomada de decisão portanto cabe ao usuário, que automaticamente fará sua avaliação da sensação térmica, considerando todo o universo de variáveis que lhe interferem nessa análise. Ao sistema, cabe ser um fornecedor de informação, apenas apontar os resultados das solicitações diretas e não tentar analisa-las.


Claro que a situação proposta é apenas um exemplo simplificado de uma possibilidade, com o intuito de mostrar que antes de desenvolvermos sistemas inteligentes e autossuficientes, precisamos potencializar nossos recursos humanos, dando-lhes maiores condições e o preparo necessário para a aplicação de conhecimento e uma efetiva utilização dos softwares como uma ferramenta, não como tomadores de decisão, pois essa, ainda cabe aos profissionais que compõe o quadro funcional das empresas.

Pense!!


Continue lendo

Últimas notícias

Publicidade