Pesquisar

ANUNCIE

Sua marca no Bonde

Canais

Serviços

Publicidade

A valorização do conhecimento no desenvolvimento de software

15 nov 2013 às 17:46

Compartilhar notícia

siga o Bonde no Google News!

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

É 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.

Receba nossas notícias NO CELULAR

WHATSAPP: As regras de privacidade dos grupos são definidas pelo WhatsApp.
Ao entrar, seu número pode ser visto por outros integrantes do grupo.


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.


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.

Cadastre-se em nossa newsletter

Pense!!


Últimas notícias

LONDRINA Previsão do Tempo

Portais

Anuncie

Outras empresas