quinta-feira, 8 de janeiro de 2009

MINHAS PERCEPÇÕES DO LIVRO "GESTÃO POR PROCESSOS: UMA ABORDAGEM DA MODERNA ADMINISTRAÇÃO"

MINHAS PERCEPÇÕES DO LIVRO
"GESTÃO POR PROCESSOS: UMA ABORDAGEM DA MODERNA ADMINISTRAÇÃO"

Sordi, José Oswaldo de - Gestão por Processos: uma abordagem da moderna administração - 2 ed. - São Paulo: Saraiva, 2008

ANTES DE COMEÇAR...
Até agora foi o melhor livro sobre administração. A meu ver fortemente recomendável.

O ponto forte da obra é que o autor aborda "de perto" tanto questões administrativas como tecnológicas, embora não há lá um tutorial de SOA, por exemplo. Mas tenho visto outros livros, os quais possivelmente devo postar minhas impressões, e normalmente os autores focam ou na área tecnológica ou na administrativa.

Outro posicionamento que gostaria de fazer é de que as Escolas da Administração, que aprendemos em TGA, focam em um ou em outro aspecto da de gestão e que na verdade o que utilizamos realmente em nosso dia a dia é um misto delas. Portanto, dentro da minha concepcão, "moderna administração" é a calibragem exata dessa "mistura" e não simplesmente Gestão por Processos.

No mais, eis o que apreendi do livro...



---------------------------------------------------------
PARTE I - DEFINIÇÃO DE PROCESSOS DE NEGÓCIOS E SUA GESTÃO
---------------------------------------------------------
Cptlo 1 e 2 - Questões da Teoria Geral da Administração (TGA)
O autor faz um contraste entre administração funcional (escola cientificisca e mecanicista da adm, Taylor, Fayol) e administração por processos.
Em poucas palavras, a administração funcional conhecida como fortemente hierarquizada, onde a divisão do trabalho é fortemente empregada, enquando a administração dos processos encontra apoio na teoria geral do sistema partindo do principio que um processo de negócio é um sistema dentro do qual pode ser encontradas várias áreas funcionais da organização.
Cptlo 3 - A IMPORTÂNCIA DE UM DIALEGO COMUM PARA GESTÃO DE PROCESSOS
O autor define o seguinte:

<= Processo =>
É uma representação de uma sequencia de atividades que ocorrem dentro da organização. A contratação de um funcionário, por exemplo, exige várias atividades, ou tarefas a serem realizadas as quais, encadeadas em uma ordem lógica, culmina no objetivo final que é a própria contratação.

<= Sub processo =>
Um processo que faz parte de um proceso maior

<= Atividade =>
Diz respeito a algo que deve ser feito, uma tarefa mesmo, a qual pode ser manual ou atomatizada. Em um diagrama de processo é representado por um quadrado. Esse quadrado, ou seja, essa atividade, também pode ser um subprocesso

<== Escopo do processo e ciclo de vida dos recursos do processo ==>
Escopo do processo diz respeito a compreesão se o processo é um subprocesso de outro maior ou não. Pode ser que um determinado processo seja subprocesso de um outro que também é subprocesso. O entendimento de que nível o processo se encontra dentre os diversos processos dentro da organização é o Escopo do Processo.
Ciclo de Vida dos Recursos do Processo diz respeito ao materiais que um determinado processo usa. O exemplo mais clássico é um processo fabril, a cada fabricação de um chinelo há que se controlar os materiais que são utilizados durante o processo. Se o processo é o atendimento de um usuário, há que se controlar tudos os recursos necessários para tal, desde médico, balconista, instrumentos etc. A quantidade de vezes que esses recursos têm que ser providos para a continuidade do andamento do processo é conhecido como Ciclho de Vida dos Recursos do Processo.


<= evento de negócio =>
Evento de Negócio é um "start" para início de um processo. Por exemplo, a chegada do paciente pelo transporte é um evento de negócio que inicia outro processo que é o de atendimento assistencial do paciente.

<= Instância de um Processo =>
Por exemplo, a organização pode ter um processo definido para Solicitação de Exames. Um paciente faz a solicitação enquanto outro paciente também faz. Temos o mesmo processo, só que para dois pacientes diferentes e, por isso, temos duas instâncias do processo.
<= Estado do Processo =>
Usando o exemplo da Instância de Processo, conclui-se, obviamente que, os dois pacientes seguem o mesmo fluxo de negócio definido pelo mesmo processo, porém é bem provável que um esteja em estágio mais avançado que o outro em relação ao final do processo. Pode ser que um dos pacientes já tinha todos os documentos enquanto o outro teve que ir buscar em casa e só vai trazer no outro dia o que faz com que o primeiro paciente esteja mais perto de obter seus exames.
O Estado do Processo diz respeito a que passo, ou quão perto do final uma Instância do Processo se encontra.

<= Regras de negócios =>
Um processo pode ter várias possibilidades de execução. Por exemplo, no processo de atendimento médico, no consultório médico, o médico vai decidir se o paciente deve fazer ou não alguns exames. Se o paciente deve fazer ou não algumas atividades complementares, como entrar ou não em algum grupo. Esses tipos de decisão, quando puderem ser padronizados, tornam-se as Regras de Negócios.

<= Transação de negócio =>
Transação de negócio tem haver com o dilema "tudo ou nada". Por exemplo, quando vamos fazer uma transferência no banco os programas de computadores devem ter cuidado para não acontecer de ser possível realizar o saque da minha conta e não ser possível efetivar o crédito na outra. Caso isso aconteça a minha conta fica sem o dinheiro e o dinheiro não foi pra lugar nenhum. Por isso tanto o débito quanto o crétido devem fazer parte de uma mesma Transação de Negócio, pois dentro de uma Transação de Negócio de algum passo do processo falhar, todos os outros, mesmo que tenham dado certo, devem ser disfeitos. Ou tudo dá certo, ou nada acontece: "ou tudo ou nada".

<= Throughput e leadtime e necessidade de outros indicadores de desenpenho =>
Throughput é o Log de tudo que aconteceu no processo
Leadtime é quanto tempo demorou o processo.
Indicadores de desenpenho são medições que o grupo achar interessante fazer relativo à execução do processo.


PARTE II - IMPORTÂNCIA DA TÉCNOLOGIA DA INFORMAÇÃO NA GESTÃO POR PROCESSOS DE NEGÓCIOS
Vou ser mais breve nesta parte, e fazer essa conceituação com minhas próprias palavras pois o foco aqui são apenas as questões conceituais.
Considerando que a Gestão por Processos rompe com a Gestão Funcional, embora eu creio que isso não deve acontecer em 100% das situações, mas teoricamente rompe, ocorre que os softwares têm sido concebidos dentro da visão funcional. Ou seja, tem o softwares do RH o softwares da Finanças e assim por diante. O Resultado é que essas softwares têm contribuído para afastar e isolar as áreas funcionais, ou seja, os "setores" ou "departamentos" das organizações visto que têm seu funcionamento voltado todo para o funcionamento interno dos mesmos.
Com a Gestão por Processos, onde fica claro que um processo como o de atendimento ao paciente envonve mais de um dos setores administrativos e assisitenciais percebeu-se que os softwares não estavam preparados para essa realidade.
A Tecnologia da Informação que responde a esse desafio é SOA (Services Oriented Application), e conceituamente, diz respeito a concepção dos softwares de "porta aberta", ou seja, que softwares que fornecem serviços os quais podem ser acessados (ou tecnicamente falando, consumidos) por outros softwares seja qual for a linguagem em que foram confeccionados.
Os softwares novos devem ser concebidos dentro dessa perspectiva, mas e os já existentes, ou tecnicamente falando, "os softwares legados"? Bom, aí é necessário usar a tecnologia EAI (Enterprise Application Integration) que não é uma ferramenta, e sim uma sigla para dizer que os softwares vão precisar ser integrados, vão precisar aprender a se comuncar um com os outros e isso é feito das mais diversas formas dentro da áreas de engenharia e programação de softwares.
Vale ressaltar que o ambiente de negócios e o avanço das Tecnologias da Informação culminaram nesse contexto visto que surgiu também a necessidade de um softwares que roda em uma unidade converse com o outro que roda na outra unidade. Isso nada mais é que SOA. O SUS é um caso em que isso agregaria um valor tremendo no processo de atendimento ao usuário.

PARTE III - O ESTÁGIO ATUAL DA ABORDAGEM SISTEMÁTICA PARA A INTEGRAÇÃO ENTRE SISTEMAS DE INFORMAÇÃO NO CONTEXTO BRASILEIRO
Cptlo 14 - Abordagem para Implementação de Gestão por Processos
Segundo o autor deve-se desenvolver uma cultura, um tipo de conscientização e contrução conjunto dessa nova metodologia.
Identificar e mapear processos não cruciais para piloto.
Avaliar e documentar o processo
Fazer adaptações, se forem necessárias

Além do que coloquei o autor fala algumas coisas sobre a percepção dos grandes executivos sobre o assunto (cptlo 15) e também da academia (cptlo 16). Obviamente entre os dois ambientes a metodologia têm encontrado abrigo e investimentos intelectuais e financeiros.

O ANEXO A é "lindo" pra quem está querendo aprender a desenhar processos usando BPMN.

terça-feira, 30 de dezembro de 2008

Oportunidade de mercado !!!!

Uma iniciativa que já deu certo e que tem um futuro promissor relativo a crescimento de mercado, é o Software Público.

Tal cenário já se apresentava como uma oportunidade de mercado para todos os empreendedores e MPMES que trabalham com TIC, mas depois de ler link abaixo, aqueles que estiverem em condições de "movimentar algumas peças nesse tabuleiro", esse pode ser o momento.

Particularmente gostei do parágrafo abaixo:

"A Rede Colaborativa de Software Livre e Aberto (RCSLA) também fornecerá às MPEs conhecimento e orientação para sua capacitação e interagirá com as instituições de ensino e pesquisa dos países envolvidos, de modo a estimular o teste das soluções de SLA mais promissoras, como forma de obter uma certificação ou aval para as mesmas, aumentando sua credibilidade junto aos possíveis usuários."


Só há um jeito de saber se essa é realmente uma oportunidade: estudando esse mercado e participando dele em algum grau!

Eis o link.
http://rcsla3.dcc.ufmg.br/pnud/projeto.php

Igualmente importante:
http://www.softwarepublico.gov.br/

Não tenho um contato íntimo com esse nicho de mercado, mas creio que o aumento na adoção pela utilização desses softwares públicos gerarão uma demanda por serviços e consequentemente, mais oportunidades para fazer negócios com o governo.

Vale a pena estudar o caso.

sexta-feira, 12 de dezembro de 2008

Gestão Remota

Postei porque achei muito interessante, pois somos acostumados a fazer tanta coisa remotamente, estudar, administrar uma outra máquina, e tantas outras coisas. Mas, administrar remotamente uma equipe ou mesmo uma empresa, pode não ser tão óbvio assim.

Eis o news que fala sobre o assunto. Muito bom.

http://www.crasp.gov.br/clippingnews/dez08/20081212/CN07.htm

terça-feira, 9 de dezembro de 2008

JBoss5.0GA ou Glassfish?

O jboss5 GA está aí e, pelo menos pra mim que tenho poucos projetos em produção e não são grandes, surge a pergunta: Por qual deles optar?

Lí na JavaMagazine o Dordeleign (acho que é assim que escreve) dizer que o time de desenvolvimento do jboss estava passando por algum problema que resultou nesta demora desse último release.

Por estes dias, tenho lido que a Sun passa por dificuldades financeiras, e todo mundo sabe que esta empresa é a "patrocinadora oficial" do GF.

Meio em dúvida ainda, acho que o time do GF parece mais ativo e seus projetos todos estão prosperando. Vou ficar com ele por enquanto.

segunda-feira, 8 de dezembro de 2008

Administração: Atitudes inevitáveis para tempos de crise.

É consenso que os reflexos da crise financeira mundial se extenderão por muito tempo. A conseqüência mais visível é a recessão, ou seja, o "encolhimento" da maioria dos mercados.

Diante disso segue algumas práticas mercadológicas que podem demarcar os limites da vida ou da morte, a médio - longo prazo, de uma organização, dependendo do ambiente mercadológico em que estiver inserida.

SEGMENTAR O MERCADO E IDENTIFICAR OS DE MAIOR INTERESSE
Segmentar o mercado, em um momento econômico como este, não é simplesmente uma tarefa corriqueira de planejamento estratégico. Agora, segmentar é vital, pelos motivos que se seguem:

1) Tem como manter TODOS os clientes satisfeitos em tempos de dificuldades mercadológicas?
Obviamente que não, mas os segmentos mais interessantes..., bem, já dá pra conversar, dá pra planejar.
Passa a ser viável.

2) Os pontos fortes da empresa agregam valor a todos os clientes efetivos e potenciais? Fazendo a mesma pergunta,mas agora em outras palavras: Nossos pontos fortes conseguem ser percebidos de verdade por todos os clientes ou uns percebem mais do que os outros?
A grande verdade é que para alguns clientes os pontos fortes da empresa não são tão importante assim, enquanto pra outros, eles são determinantes para garantir sua satisfação. Então, segmentando o mercado passamos a ter a vantegem competitiva de fazer o uso inteligente dos pontos fortes da empresa, tornando-os em vantagens competitivas reais.

3) Pode ser que alguns clientes estejam insatisfeitos por motivos diversos. Esses motivos estão relacionados aos pontos fracos da empresa. Consertar isso exige investimento. Então vamos investir pra para elimar quais pontos fracos da nossa organização?
Se estamos pensando em dificuldades mercadológicas, provavelmente termos disponibilidade de recursos para investir e eliminar um, dois ou nenhum dos pontos fracos que geram insatisfação em clientes.
Com a segmentação a decisão simplifica: o ponto fraco afeta os nossos segmentos mais importantes? se sim. Não tem jeito, a solução do problema é uma questão de sobrevivência. Se não, posso "remediar" a questão.

RELAÇÕES PÚBLICAS É MAIS EFICIENTE QUE PROPAGANDA
Obviamente tudo depende, mas no geral isso é verdade: Os instrumentos em comunicação conhecidos como "social networking" têm uma "mira" mais refinada. Portanto é mais fácil se comunicar com nossos segmentos com elas do que com propaganda.

USO DA MARCA
Os que tiverem uma marca que inspirem confiança terão vantagem competitiva. Se não tiver, pelos menos nos segmentos selecionados essa é a hora de construir. Provavelmente não serão necessários grandes investimentos, mas o essencial é torná-la visível e perceptível em todos o momentos possíveis nos quais os cliente é atendido adequadamente.

ORIENTAÇÃO DE MERCADO
Um erro comum em tempos de dificuldades mercadológicas é a empresa optar por redução de custos de forma indiscriminada. Nós, da área de administração, costumamos dizer que a empresa que assim o faz é "orientada para custos".
Pode cortar custos? Pode, desde que não afete negativamente em nada o desenpenho dos fatores que geram a satisfação do cliente dos segmentos que a empresa atende.


CONCLUSÃO
Há, no texto, muitos termos técnicos do campo da administração. Esses termos concentram grande carga conceitual e, para o leigo, possam gerar dificuldades em compreender o post. Mas não teve como evitar. Se quizer pode perguntar.

O núcleo do pont é que as empresas que realmente souberem fazer essas práticas mercadológicas, invariavelmente terão vantagens competitivas efetivas em relação a seus concorrentes, e isso pode determinar uma posição economicamente interessante no mercado.

sexta-feira, 28 de novembro de 2008

enviar e trazer arquivos com scp

Acho que muito gente está cansado de saber trabalhar com ssh, mas como aprendi faz pouco tempo e acho que é mais do que útil, eis ...

A) traz um arquivo /home/username/arq da máquina remota X para máquinaLocal: (DIRETÓRIO É SÓ usar -r depois de scp)
scp umusuariodamaquinaremota@ipdamaquinaremota /umdiretoriodamaquinalocal

B) agora pra enviar um arquivo:
scp /umdiretoriodamaquinalocal/arquivoqueeuqueroenviar.seila umusuariodamaquinaremota@ipdamaquinaremota

C) se vc tiver mais de um servidor, pode, da sua maquina local, tirar um arquivo do serv1 e enviar para o serv2
scp usuariodoserv1@ipdoserv1:/umdirdoserv1/umarqdoserv1 usuariodoserv2@ipdoserv2:/umdirdoserv2

Obs.1:
eu tenho o openssh-server em todas as máquinas, creio que isso é necessário
no caso C, eu levei um uma
"Host key verification failed.
lost connection"
Por falta de tempo contorneio problema logando ssh na máquina que recebe o arquivo e ela fica como se fosse local, eis o comando.
ssh -l usuariodoserv2 ipdoserv2

t+

quinta-feira, 27 de novembro de 2008

javacript com Dojo, algumas utilidades

======== BASICÃO DE DOJO ========
(perceba que é de dojo, não de javascript. Então tem que manjar um pouquinho pra entender o post).
obs1: os códigos estão sem a tag javascript

Eu percebi que tem muito pouca coisa em português sobre dojo, eu eu acho que é uma biblioteca mais completa que jquery, por isso gosto dela e uso.

A) INSTALANDO O DOJO
fazer o donwload em www.dojotoolkit.com, descompacter em uma pasta "js", por exemplo, dentro do diretório web do seu projeto e já está instalado, mas não pronto pra usar nas páginas.

B) HABILITANDO O DOJO PRA USAR EM SUA PÁGINA
<-- ---------- dojo settings and loads ---------- -->
< type="text/javascript">
var djConfig = {
isDebug:true, parseOnLoad:true
};
< /script >
< type="text/javascript" src="">/js/dojo-release-1.2.2/dojo/dojo.js " >< /script >
obs1:
Use sempre a expressão el para relativizar o caminho do dojo porque, os engines de templates como o tiles e o FACELETS, sem isso, acabam por desabitilar o dojo. O mesmo acontece com qualquer qualquer outra biblioteca ou css.

obs2:
em produção faça "isDebug:false";

C) USANDO O DOJO
um exemplo de uso muito comum, em formulários web, é quando queremos que nossos SELECTS ( sei que INPUT é mais comum ainda, mas o select vai ser mais interessante daqui a pouco) respondam a eventos dom como onclik. No caso dos selects o onchange é bem comum.

Pelo caminho mais longo e ultrapassado, iríamos nas tags html, ou jsf, dos elementos, colocaríamos lá um onclik isso ou aquilo. Conceitualmente isso é intrusivo. Quando entrar alguma outra tag select, que em jsf seria < !-- ---------- dojo addOnLoad ---------- -- >
< type="text/javascript">
// conecta evento onchange em todos os selects para rodar calculaResultado a cada change
var init = function(){
//conecta evento onchage em todos os selectes
dojo.forEach(dojo.query("select",document),
function(item){
dojo.connect(item, "onchange",calculaResultado);
}
);
};

dojo.addOnLoad(init);
< /script >

obs1: dojo.addOnLoad()
o addOnLoad funciona igual ao $(document).ready (pode nao estar escrito certinho)do jquery. Ela só roda depois que o seu browser conhece toda a árvore dom de sua página (ou seja, as tags e tudo que tem na página que você editou). Então entendemos o seguinte: depois que carreou a página, addOnLoad roda pra gente a função init

obs2: dojo.forEach
na função init tem lá um dojo.forEach(); do inglês a gente já tira que é para cada, mas para cada o quê? bom vamos entender primeiro o dojo.query da obs3. Um array de selects. Bom, forEach significa "para cada", e obviamente, vamos iterar em cada um desses selects e fazer o alguma coisa com cada um deles, mas o quê? Bom aí entra o segundo argumento da expressão forEach que é, no caso acima, a função : function(item){dojo.connect(item, "onchange",calculaResultado);}. Eu acho dojo super inteligente porque fazer alguma coisa sugere mesmo uma função e se essa função vai fazer alguma coisa com cada elemento do array que estamos iterando nada melhor do que ela receber esse elemento pra trabalhar com ele. Por isso "item" representa exatamente o elemento da vez da iteração. No nosso caso ele é um select já que temos ele na mão, vamos colocar nele programticamente o nosso onchange. Para entender esse passo leia obs4, que explica dojo.connect.


obs3: dojo.query()
dojo.query também dá pra entender do inglês, uma pesquisa nas tags da página, afinal a gente tem que encontrar os selects pra definir programaticamente os onchange.
Então já dá pra perceber que "select" me dá os selects da página, ou seja, do document, que neste caso é o contexto da query. O que o dojo.query devolve é um array de dom nodes. (que agora vc pode terminar de ler a obs2).

obs4: dojo.connect()
dojo.connect(item, "onchange",calculaResultado), faz o que o nome sugere, conecta no item, que é o nosso select, a função calculaResultado, que será rodada como resposta ao evento onchange. Quando o código chega a esse ponto ele coloca um evento on change nas nossas tags select. Se você tiver eventos pernsonalizados dependendo de qual select, então você pode analisar aqui o select que você pegou, ver quem ele é e com alguns ifs você conecta a função certa.


D) USANDO DOJO : trabalhando com os atributos do DOM node
No caso em que precisei aqui no meu serviço, pra cada mudança no select, teria que ser calculado o um resultado que traduzindo é: contar qtos "sim" estão selectionados entre os selects e colocar a essa quantidade num inputText que em html é < type="text">
< type="text/javascript">

function calculaResultado(){
var resultado = 0;
console.log("resultado, primeiro he zero : "+resultado);
dojo.forEach(
dojo.query("select",document),
function(index){
var idDoIndexQueHeUmSelect = dojo.attr(index, "Id");
console.log("----------------------------");
dojo.query("option",index).forEach(function(option){//Lets work with the options...
var isSelected = dojo.attr(option, "selected");
var optionValue = dojo.attr(option, "value");

//SE ALGUM OPTION TIVER SELECIONADO OPTION ...
//E FOR SIM...
if((isSelected == true) && (optionValue == "s")){
console.log("optionValue:"+optionValue);
++resultado;
}});
}
);

console.log("Resultado Final : "+resultado);
var txtResultado = dojo.byId("j_id_id26:resultado",document);
dojo.attr(txtResultado, "value", resultado);
//alert("fim");
}
< /script >


obs1: não tá muito bonito, é só pra ver algumas coisas sobre dojo

obs2: console.log()
Ele funciona igual ao System.out.println() só que precisa do firebug pra ver.

obs3: dojo.query("option",index).forEach(...
Um outro for each, só que esse agora pode ser chamado sempre que você tiver um node dom nas mãos. Bom, com o dojo.query a gente vai pegando os dom nodes que são filhos do index. Ou seja, index é o contexto da pesquisa. Os filhos do seletc, são os options que ele tem. Com os options aí sim eu posso ver qual deles tem o atribute select como true, o que quer dizer que ele é o que está selecionado no tag select. Se estiver selecionado um option com atrituto valor "s", que pra mim é "sim", então eu quero adicionar o resultado do teste em 1. Como fazer isso?

obs3: dojo.attr(txtResultado, "value", resultado);
var isSelected = dojo.attr(option, "selected");
Essa linha recebe o valor dp atributo "selected" do option da vez (lembre que a gente está dentro de um forEach).
Agora é muito importante perceber o seguinte: se a gente quezesse setar o attributo selected, aí a gente faria o seguinte:
var isSelected = dojo.attr(option, "selected", vlrQueQueremosSetarParaOAtributoSelected);
Perceba que a sintaxe é bem parecida. A linha :
dojo.attr(txtResultado, "value", resultado); usa essa alternativa pra setar o atributo value do inputText pra mostrar o somatório das respostas sim.


Uso Dojo há pouco tempo e acho essa biblioteca muito legal. Cada exemplo desse é um uso basicão de cada uma das sintazes, esses comandos tem muitas variações.