Monday, November 04, 2013

Logical layers are merely a way of organizing your code. Typical layers include Presentation, Business and Data – the same as the traditional 3-tier model. But when we’re talking about layers, we’re only talking about logical organization of code. In no way is it implied that these layers might run on different computers or in different processes on a single computer or even in a single process on a single computer. All we are doing is discussing a way of organizing a code into a set of layers defined by specific function.


Physical tiers however, are only about where the code runs. Specifically, tiers are places where layers are deployed and where layers run. In other words, tiers are the physical deployment of layers.


Sunday, November 03, 2013

Pink Floyd HD Pulse Live at Earls Court 1994

You'd Better Writer a Effective Code - Java Effective

Creating and Destroying Objects
Item 1: Consider static factory methods instead of constructors
Item 2: Consider a builder when faced with many constructor parameters
Item 3: Enforce the singleton property with a private constructor or an enum type
Item 4: Enforce noninstantiability with a private constructor
Item 5: Avoid creating unnecessary objects
Item 6: Eliminate obsolete object references
Item 7: Avoid finalizers

Methods Common to All Objects
Item 8: Obey the general contract when overriding equals
Item 9: Always override hashCode when you override equals
Item 10: Always override toString
Item 11: Override clone judiciously
Item 12: Consider implementing Comparable

Classes and Interfaces
Item 13: Minimize the accessibility of classes and members
Item 14: In public classes, use accessor methods, not public fields
Item 15: Minimize mutability
Item 16: Favor composition over inheritance
Item 17: Design and document for inheritance or else prohibit it
Item 18: Prefer interfaces to abstract classes
Item 19: Use interfaces only to define types
Item 20: Prefer class hierarchies to tagged classes
Item 21: Use function objects to represent strategies
Item 22: Favor static member classes over nonstatic

Generics
Item 23: Don’t use raw types in new code
Item 24: Eliminate unchecked warnings
Item 25: Prefer lists to arrays
Item 26: Favor generic types
Item 27: Favor generic methods
Item 28: Use bounded wildcards to increase API flexibility
Item 29: Consider typesafe heterogeneous containers

Enums and Annotations
Item 30: Use enums instead of int constants
Item 31: Use instance fields instead of ordinals
Item 32: Use EnumSet instead of bit fields
Item 33: Use EnumMap instead of ordinal indexing
Item 34: Emulate extensible enums with interfaces
Item 35: Prefer annotations to naming patterns
Item 36: Consistently use the Override annotation
Item 37: Use marker interfaces to define types

Methods
Item 38: Check parameters for validity
Item 39: Make defensive copies when needed
Item 40: Design method signatures carefully
Item 41: Use overloading judiciously
Item 42: Use varargs judiciously
Item 43: Return empty arrays or collections, not nulls
Item 44: Write doc comments for all exposed API elements

General Programming
Item 45: Minimize the scope of local variables
Item 46: Prefer for-each loops to traditional for loops
Item 47: Know and use the libraries
Item 48: Avoid float and double if exact answers are required
Item 49: Prefer primitive types to boxed primitives
Item 50: Avoid strings where other types are more appropriate
Item 51: Beware the performance of string concatenation
Item 52: Refer to objects by their interfaces
Item 53: Prefer interfaces to reflection
Item 54: Use native methods judiciously
Item 55: Optimize judiciously
Item 56: Adhere to generally accepted naming conventions

Exceptions
Item 57: Use exceptions only for exceptional conditions
Item 58: Use checked exceptions for recoverable conditions and runtime exceptions for programming errors
Item 59: Avoid unnecessary use of checked exceptions
Item 60: Favor the use of standard exceptions
Item 61: Throw exceptions appropriate to the abstraction
Item 62: Document all exceptions thrown by each method
Item 63: Include failure-capture information in detail messages
Item 64: Strive for failure atomicity
Item 65: Don’t ignore exceptions

Concurrency
Item 66: Synchronize access to shared mutable data
Item 67: Avoid excessive synchronization
Item 68: Prefer executors and tasks to threads
Item 69: Prefer concurrency utilities to wait and notify
Item 70: Document thread safety
Item 71: Use lazy initialization judiciously
Item 72: Don’t depend on the thread scheduler
Item 73: Avoid thread groups

Serialization
Item 74: Implement Serializable judiciously
Item 75: Consider using a custom serialized form
Item 76: Write readObject methods defensively
Item 77: For instance control, prefer enum types to readResolve
Item 78: Consider serialization proxies instead of serialized instances



Simulation in Bizagi - explained

Thursday, October 17, 2013

Maven: Generating DDL Scripts from JPA Annotations

Java’s persistence API (JPA) makes object-relational mapping very convenient. Persistence providers like Hibernate can create tables and sequences automatically saving lots of tedious work at development time. However, in production systems automatic schema creation isn’t desired.
In many cases you want to tune the schema a bit, like adding an index for speeding up common access paths, renaming constraints and the like. Additionally, an application should run with as little DB privileges as possible, so it’s quite common that CREATE TABLE or other DDL/SQL statements are simply not permitted.
That’s where the Hibernate3 Maven Plugin can give you a good starting point for your optimizations.

Prerequisites

This article is for you if
  • you use JPA annotations on your entities
  • your persistence provider is Hibernate 3

Configuration

The plugin wraps an Ant task from Hibernate Tools that analyzes your JPA entities and creates a database schema for them.
Add the following to your pom.xml:


hibernate3-maven-plugin 2.2 hbm2ddl jpaconfiguration Default schema.ddl false true false true
Then adjust your persistence.xml file in src/main/resources/META-INF to set the SQL dialect to use for the DDL statements:



The example above uses HSQL (the embedded database that ships with JBoss), but you’ll likely need a different dialect for your production setup. You can get a list of supported dialects from Hibernate’s API documentation. Also make sure that the persistence unit’s name (Default in this example) matches with the plugin configuration and your persistence.xml.
Now execute the hbm2ddl goal from the command line to create the schema:
mvn hibernate3:hbm2ddl
You will find your schema in target/hibernate3/sql/schema.ddl.

Alternatives

If you want to execute hibernate3::hbm2ddl automatically as part of your normal build, you can tie the hbm2ddl goal to the process-classes phase. There’s an example on the plugin’s homepage.

Further Reading

Traditionally, Maven plugins aren’t documented that well. But since hibernate3-maven-plugin is just a thin wrapper around Hibernate Tools, you can find documentation there.
There’s a lot more the plugin can do, especially if you’re not using JPA annotations, by the way.

Wednesday, October 16, 2013

Red Sector A

All that we can do is just survive
All that we can do to help ourselves
Is stay alive...


Sunday, October 13, 2013

Catcher In The Rye



When all is said and done
We're not the only ones
Who look at life this way
That's what the old folks say
But every time I see them
Makes me wish I had a gun
If I thought that I was crazy
Well I guess I'd have more fun
(Guess I'd have more fun)


Sunday, September 22, 2013

Thursday, September 19, 2013

Jethro Tull - Cross Eyed Mary

Déspotas

“Há três tipos de déspotas. Aquele que tiraniza o corpo, aquele que tiraniza a alma e o que tiraniza, ao mesmo tempo, o corpo e a alma. O primeiro é chamado de príncipe, o segundo de papa e o terceiro de povo”.

Oscar Wilde


Saturday, September 07, 2013

Awesome

7 Economic Attributes Compared

Think about economy. The main question is "mind set".

Market Economy (AS-IS) Earth Economy (TO-BE)
Consumption Preservation
Obsolescence Optimum Design
Property Access
Infinite Growth Steady State
Competition Collaboration
Labor for Income Mechanization
Scacity/Imbalance Abundance/Equality

Thursday, September 05, 2013

Best Best Practices Ever

  1. Write programs for people, not computers.
    1. a program should not require its readers to hold more than a handful of facts in memory at once
    2. names should be consistent, distinctive and meaningful
    3. code style and formatting should be consistent
    4. all aspects of software development should be broken down into tasks roughly an hour long
  2. Automate repetitive tasks.
    1. rely on the computer to repeat tasks
    2. save recent commands in a file for re-use
    3. use a build tool to automate scientific workflows
  3. Use the computer to record history.
    1. software tools should be  used to track computational work automatically
  4. Make incremental changes.
    1. work in small steps with frequent feedback and course correction
  5. Use version control.
    1. use a version control system
    2. everything that has been created manually should be put in version control
  6. Don’t repeat yourself (or others).
    1. every piece of data must have a single authoritative representation in the system
    2. code should be modularized rather than copied and pasted
    3. re-use code instead of rewriting it
  7. Plan for mistakes.
    1. add assertions to programs to check their operation
    2. use an off-the-shelf unit testing library
    3. use all available oracles when testing programs
    4. turn bugs into test cases
    5. use a symbolic debugger
  8. Optimize software only after it works correctly.
    1. use a profiler to identify bottlenecks
    2. write code in the highest-level language possible
  9. Document design and purpose, not mechanics.
    1. document interfaces and reasons, not implementations
    2. refactor code instead of explaining how it works
    3. embed the documentation for a piece of software in that software
  10. Collaborate.
    1. use pre-merge code reviews
    2. use pair programming when bringing someone new up to speed and when tackling particularly tricky problems
The only extra I would have included would be:
11. Maintain and update older code.

Sunday, September 01, 2013

Expressões Idiomáticas - Idioms

A Língua Inglesa possui algumas armadilhas para quem não a fala como língua materna, dentre elas estão as Expressões Idiomáticas (Idioms), que são figuras de linguagem onde um termo ou a frase assume um significado diferente do que as palavras teriam isoladamente. Assim, não basta saber o significado das palavras que formam a frase, é preciso olhar para todo o grupo de palavras que constitui a expressão para entender o seu significado. As Expressões Idiomáticas trazem conotações diferentes, que, na maioria das vezes, estão relacionadas às suas origens. É importante salientar que os idiomatismos não foram criados para serem armadilhas para os falantes estrangeiros, pelo contrário, elas tornam o Inglês Falado (Spoken English) mais natural. Relacionamos abaixo alguns exemplos de Expressões Idiomáticas mais usadas pelos falantes nativos da Língua Inglesa.

Act your age = Não seja infantil

All day long = O dia todo

Beyond a shadow of doubt = Sem sombra de dúvida

Blood is thicker than water = Os laços de família são mais fortes

Cross my heart = Juro por Deus

Everybody says so =Todos falam assim!

For goodness’ sake! = Pelo amor de Deus!

Good Lord! = Meu Deus!

Hand in Hand = De mãos dadas

I did quite well = Sai-me muito bem

Keep your eyes peeled = Fique atento
Leave it to me = Deixa comigo

Like hell! = Uma ova!

May I have the floor? = Posso falar?

Mum’s the word = Boca de siri
Never heard of = Nunca ouvi dizer

Never mind = Deixa prá lá / Não tem importância

Once and for all = De uma vez por todas

One never knows = Nunca se sabe

Pretty soon = Em breve

Quite a bit = muito, um montão, bastante, um bocado

Right over there = Logo ali

See you there = Até lá

Shoot the works = Manda brasa

Talk is cheap = Falar é fácil

Thank God = Graças a Deus

It is up to you = Você que sabe

You know best = Você é quem sabe

Take your time = Não se apresse

So far, so good? = Até aqui, tudo bem?

It is not your business = Não é da sua conta

To kick the bucket = Bater as botas / Morrer

How come? = Como é que pode?

How are you doing? = Como está?

Tuesday, August 20, 2013

Poor Man

Who would be a poor man, a beggarman, a thief If he had a rich man in his hand.


Sunday, August 11, 2013

Software como Produto ou como Serviço?


Comportamento & Palavras

“Nada é mais destrutivo para a melhoria do que pessoas cujo comportamento é inconsistente com suas palavras.”

 (J. P. Kotter)


Manual de Sobrevivênvia no Corporativismo

PRINCÍPIOS E CONSELHOS PRÁTICOS GERAIS
  • Princípio Número 1: “Money first”. Isso de valores ou princípios organizacionais é coisa pra filósofo.
  • Nunca questione o status quo ou o que você aprendeu na escola. Afinal, tanta gente não pode estar errada por tanto tempo.
  • Não perca muito tempo com análise e planejamento. Considerando o seu nível de inteligência e experiência, bastam um ou dois dias (quando muito) para definir uma estratégia.
  • Continue gerenciando através de departamentos. Estabeleça metas numéricas para cada departamento e exerça tremenda pressão para que sejam cumpridas. Exija explicação para o mínimo desvio em relação às metas.
  • Não meça nada; paute-se sempre pela sua grande experiência. Mas o extremo oposto é também uma alternativa eficaz: meça tudo; transforme a coleta de dados e a elaboração de relatórios e apresentações numa refinada arte, amplamente praticada na empresa.
  • Não padronize nada; o TIRO (a Técnica Intuitiva para Remover Obstáculos) e o improviso devem ser os principais métodos para buscar melhorias. Ou se preferir o extremo oposto, burocratize tudo; implemente controles em abundância.
  • Não delegue nada; afinal ninguém fará melhor do que você. Mas se preferir, delegue tudo; não se envolva diretamente com nada (o alto do Olimpo Corporativo é bem mais seguro).
  • Concorde com tudo. Faça lindos discursos, mas não vá muito além disso. Depois de algum tempo o modismo passa e tudo volta ao normal, exatamente como sempre esteve.

GESTÃO DA OPERAÇÃO
  • Primeiro Corolário (derivado do Princípio No. 1): A prioridade é reduzir custos. Sempre será possível espremer um pouquinho mais.
  • Quando alguma melhoria trouxer aumento de produtividade, aproveite para reduzir os gastos com a mão de obra: demita. E exija que os que ficaram continuem buscando mais produtividade.
  • Sempre que possível, assegure-se de que todos os recursos produtivos (pessoas inclusive) estejam  trabalhando a 100% (ou mais) de sua capacidade. Se houver acúmulo crônico de trabalho em algumas áreas, não afrouxe e nem desanime. Isso é até bom, pois assegura que eles  sempre terão trabalho pra realizar.

GESTÃO DE PESSOAL
  • Não invista muito em ter pessoal competente; isso custa muito caro. Em vez disso, estabeleça controles rígidos para evitar que cometam erros ou que “folguem”.
  • Mantenha um sofisticado sistema de remuneração variável. Fisgue o seu pessoal pelo estômago: quem não estiver acima da média, que ganhe bem pouquinho. Quem sabe assim eles se animam, e no futuro todos terão desempenho acima da média...
  • Exija que todo projeto de melhoria dê retorno financeiro de pelo menos X dólares (coloque um valor de X bem alto, que seja um “stretch target”).
  • Não hesite em interferir em assuntos operativos diretamente. De vez em quando é bom “passar por cima” do responsável direto. Vantagens: sua autoridade será reforçada, e todos saberão que têm um chefe.
  • Estenda o Balanced Scorecard até o nível individual.

SOBRE CLIENTES
  • Não desperdice tempo e recursos em investigar o mercado e conhecer os clientes. Afinal, você e seus pessoal técnico já sabem o que eles necessitam.
  • Coloque o cliente no seu devido lugar: em segundo plano. Lembre-se do primeiro princípio: “money first”.

Gestão de Processos e Gestão por Processos: uma grande diferença!

Por influência da ISO9000, a maioria das empresas hoje têm seus processos definidos e padronizados. Mas praticamente todas elas continuam padecendo dos males clássicos da administração departamentalizada: má comunicação entre áreas, objetivos conflitantes, erros, retrabalhos e um crônico combate a incêndios. Como isso é possível se a “visão de processos” já está implementada, até com certificação internacional?

O que explica este aparente paradoxo é que a padronização de processos em tais empresas é feita processo por processo, isto é: os processos de trabalho são identificados, equipes de padronização são mobilizadas e no final temos um intrincado arquipélago de “ilhas” de processos! As coisas até fluem, mas apenas dentro das fronteiras de cada ilha. Na prática, o que isso fez foi apenas transformar os velhos problemas de comunicação que havia entre departamentos em novos problemas de comunicação entre processos. O que antes era o Departamento de Vendas, agora é o “Processo Comercial”; o Departamento de Engenharia de Produtos agora cuida do “Processo de Desenvolvimento de Novos Produtos” etc. O que antes eram as metas departamentais agora recebem um novo nome: “Key Process Indicators” ou coisas do gênero. Na prática, cada um continua puxando a brasa pra sua sardinha, perpetuando os problemas da administração departamentalizada. O estilo de gestão não mudou; continua a velha cobrança de metas numéricas para cada área funcional.

Não houve uma transformação organizacional. Excetuando-se algumas melhorias pontuais, não houve um salto qualitativo no desempenho da empresa. No frigir dos ovos, só foi acrescentado um elemento novo: o custo de manutenção de toda a parafernália pesada de documentos do “novo” “sistema” de “gestão” (três mentiras numa só expressão, pois não é novo, não funciona como um sistema, e não merece o título de verdadeira gestão). Isto é a “Gestão DE Processos” que se vê por aí. Bem diferente seria implementar a “Gestão POR Processos”, isto é: “Gestão do Sistema de Negócios através dos Processos Empresariais”, partindo da necessidade de todas as partes interessadas para revisar toda a estrutura das atividades do negócio (não apenas qualidade, meio ambiente e saúde ocupacional), garantindo seu alinhamento à satisfação das partes interessadas e padronizando os processos de maneira integrada, a partir de um modelo sistêmico. Em poucas palavras: padronizar o fluxo contínuo de materiais e informações de ponta a ponta na empresa, em resposta ao mercado e demais partes interessadas. Isto é Gestão por Processos.


Saturday, August 03, 2013

UX and user context


Treze pontos do Método Montessori

  1. Baseia-se em anos de observação da natureza da criança por parte do maior gênio da educação desde Friedrich Froebel.
  2. Demonstrou ter uma aplicabilidade universal.
  3. Revelou que a criança pequena pode ser um amante do trabalho, do trabalho intelectual, escolhido de forma espontânea, e assim, realizado com muita alegria.
  4. Baseia-se em uma necessidade vital para a criança que é a de aprender fazendo. Em cada etapa do crescimento mental da criança são proporcionadas atividades correspondentes com as quais se desenvolvem suas faculdades.
  5. Ainda que ofereça à criança uma grande espontaneidade consegue capacitá-la para alcançar os mesmos níveis, ou até mesmo níveis superiores de sucesso escolar, que os alcançados sobre os sistemas antigos.
  6. Posições para a melhor procriação na fase infanto-juvenil
  7. Consegue uma excelente disciplina apesar de prescindir de coerções tais como recompensas e castigos. Explica-se tal fato por tratar-se de uma disciplina que tem origem dentro da própria criança e não imposta de fora.
  8. Baseia-se em um grande respeito pela personalidade da criança, concedendo-lhe espaço para crescer em uma independência biológica, permitindo-se à criança uma grande margem de liberdade que se constitui no fundamento de uma disciplina real.
  9. Permite ao professor tratar cada criança individualmente em cada matéria, e assim, fazê-lo de acordo com suas necessidades individuais.
  10. Cada criança trabalha em seu próprio ritmo.
  11. Não necessita desenvolver o espírito de competição e a cada momento procura oferecer às crianças muitas oportunidades para ajuda mútua o que é feito com grande prazer e alegria.
  12. Já que a criança trabalha partindo de sua livre escolha, sem coerções e sem necessidade de competir, não sente as tensões, os sentimentos de inferioridade e outras experiências capazes de deixar marcas no decorrer de sua vida.
  13. O método Montessori se propõe a desenvolver a totalidade da personalidade da criança e não somente suas capacidades intelectuais. Preocupa-se também com as capacidades de iniciativa, de deliberação e de escolhas independentes e os componentes emocionais.


Sunday, July 28, 2013

Software Engineering Code of Ethics and Professional Practice

ACM/IEEE-CS Joint Task Force on Software Engineering Ethics and Professional Practices

PREAMBLE

The short version of the code summarizes aspirations at a high level of the abstraction; the clauses that are included in the full version give examples and details of how these aspirations change the way we act as software engineering professionals. Without the aspirations, the details can become legalistic and tedious; without the details, the aspirations can become high sounding but empty; together, the aspirations and the details form a cohesive code.

Software engineers shall commit themselves to making the analysis, specification, design, development,
testing and maintenance of software a beneficial and respected profession. In accordance with their
commitment to the health, safety and welfare of the public, software engineers shall adhere to the following Eight Principles:

1. PUBLIC — Software engineers shall act consistently with the public interest.
2. CLIENT AND EMPLOYER — Software engineers shall act in a manner that is in the
best interests of their client and employer consistent with the public interest.
3. PRODUCT — Software engineers shall ensure that their products and related
modifications meet the highest professional standards possible.
4. JUDGMENT — Software engineers shall maintain integrity and independence in their
professional judgment.
5. MANAGEMENT — Software engineering managers and leaders shall subscribe to and
promote an ethical approach to the management of software development and
maintenance.
6. PROFESSION — Software engineers shall advance the integrity and reputation of
the profession consistent with the public interest.
7. COLLEAGUES — Software engineers shall be fair to and supportive of their
colleagues.
8. SELF — Software engineers shall participate in lifelong learning regarding the
practice of their profession and shall promote an ethical approach to the
practice of the profession.

The ACM/IEEE Code of Ethics (© IEEE/ACM 1999)

There are two kinds of software products

1. Generic products: These are stand-alone systems that are produced by a development organization and sold on the open market to any customer who is able to buy them. Examples of this type of product include software for PCs such as databases, word processors, drawing packages, and project-management tools. It also includes so-called vertical applications designed for some specific purpose such as library information systems, accounting systems, or systems for maintaining dental records.

2. Customized (or bespoke) products: These are systems that are commissioned by a particular customer. A software contractor develops the software especially for that customer. Examples of this type of software include control systems for electronic devices, systems written to support a particular business process, and air traffic control systems.

An important difference between these types of software is that, in generic products, the organization that develops the software controls the software specification. For custom products, the specification is usually developed and controlled by the organization that is buying the software. The software developers must work to that specification.


Mike Portnoy - As I Am [Drums of Thought]

Liquid Tension Experiment - Acid Rain Live In L.A. 2008

Saturday, July 27, 2013

Why is ITIL so successful?

ITIL is intentionally composed of a common sense approach to service management – do what works. And what works is adapting a common framework of practices that unite all areas of IT service provision toward a single aim – delivering value to the business. The following list defines the key characteristics of ITIL that contribute to its global success:

Non-proprietary – ITIL service management practices are applicable in any IT organization because they are not based on any particular technology platform, or industry type. ITIL is owned by the UK government and not tied to any commercial proprietary practice or solution

Non-prescriptive – ITIL offers robust, mature and time-tested practices that have applicability to all types of service organizations. It continues to be useful and relevant in public and private sectors, internal and external service providers, small, medium and large enterprise, and within any technical environment

Best practice – ITIL service management practices represent the learning experiences and thought leadership of the world’s best in class service providers

Good practice – Not every practice in ITIL can be considered ‘best practice’, and for good reason. For many, a blend of common, good and best practices are what give meaning and achievability to ITSM. In some respects, best practices are the flavour of the day. All best practices become common practices over time, being replaced by new best practices.


Scorpions - Wind Of Change


The Cranberries - Dreams (Original Version)


Fade to Black - Igor Presnyakov - (awesome)


Sepultura - Ratamahatta


Another Day

Live another day
Climb a little higher
Find another reason to stay
Ashes in your hands
Mercy in your eyes
If you're searching for a silent sky...


Thursday, July 25, 2013

Software systems

Software systems are abstract and intangible. They are not constrained by the
properties of materials, governed by physical laws, or by manufacturing processes.
This simplifies software engineering, as there are no natural limits to the potential of
software. However, because of the lack of physical constraints, software systems can
quickly become extremely complex, difficult to understand, and expensive to change.

Sunday, July 21, 2013

Gestão da qualidade total e o Clico PDCA

Gestão da qualidade (TQM) consiste numa estratégia de administração orientada a criar consciência de qualidade em todos os processos organizacionais. O TQM (Total Quality Management) tem sido amplamente utilizado em indústria, educação, governo e serviços. Chama-se total porque o seu objetivo é a implicação não só da empresa inteira mais também a organização estendida: fornecedores, distribuidores e demais parceiros de negócios. O TQM é composta de estágios tais como: planejamento, Organização controle, liderança. Tanto qualidade quanto manutenção são qualificadas de total porque cada empregado que participa é diretamente responsável pela realização dos objetivos da empresa.

Atualmente a gestão da qualidade está sendo uma das maiores preocupações das empresas, sejam elas voltadas para a qualidade de produtos ou de serviços. A conscienciatização para a qualidade e o reconhecimento de sua importância, tornou a certificação de sistemas de gestão da qualidade indispensável para as micro e pequenas empresas de todo o mundo.

Uma organização que se propõe a implementar uma política de gestão voltada para a "qualidade" tem consciência de que a sua trajetória deve ser reavaliada. As mesmas precisam pôr em prática atividades que visam estabelecer e manter um ambiente no qual as pessoas, trabalhando em equipe, consigam um desempenho eficaz na busca das metas e missões da organização.

CICLO PDCA

É uma das formas que a empresa tem para começar a gestão de qualidade é se preocupar com seus processos, e para isso pode se utilidade de uma ferramenta chamada de CLICO PDCA, essa ferramente é de grande utilidade na busca da melhoria continua.

O ciclo PDCA, ciclo de Shewhart ou ciclo de Deming, foi introduzido no Japão após a guerra, idealizado por Shewhart e divulgado por Deming, quem efetivamente o aplicou. O ciclo de Deming tem por princípio tornar mais claros e ágeis os processos envolvidos na execução da gestão, como por exemplo na gestão da qualidade, dividindo-a em quatro principais passos. O PDCA é aplicado principalmente nas normas de sistemas de gestão e deve ser utilizado (pelo menos na teoria) em qualquer empresa de forma a garantir o sucesso nos negócios, independentemente da área ou departamento (vendas, compras, engenharia, etc...).

O ciclo começa pelo planejamento, em seguida a ação ou conjunto de ações planejadas são executadas, checa-se se o que foi feito estava de acordo com o planejado, constantemente e repetidamente (ciclicamente), e toma-se uma ação para eliminar ou ao menos mitigar defeitos no produto ou na execução.

Os passos são os seguintes:

Plan (planejamento) : estabelecer missão, visão, objetivos (metas), procedimentos e processos (metodologias) necessários para o atingimentos dos resultados.
Do (execução) : realizar, executar as atividades.
Check (verificação) : monitorar e avaliar periodicamenteos resultados, avaliar processos e resultados, confrontando-os com o planejado, objetivos, especificações e estado desejado, consolidando as informações, eventualmente confeccionando relatórios.
Act (ação) : Agir de acordo com o avaliado e de acordo com os relatórios, eventualmente determinar e confeccionar novos planos de ação, de forma a melhorar a qualidade, 
eficiência e eficácia, aprimorando a execução e corrigindo eventuais falhas. 
Veja a tabela de etapas do PDCA:

Há dois tipos de metas no clico PDCA: 
  • Metas para manter
O PDCA utilizado para atingir metas padrão, ou para manter os resultados num certo nível desejado, pode então ser chamado de SDCA (S de standard).
  • Metas para melhorar
De modo a atingir novas metas ou novos resultados, a "maneira de trabalhar" deve ser modificada, ou seja, melhorada.

Melhoria contínua 


A melhoria contínua ocorre quanto mais “rodado” for o Ciclo PDCA.
Observe na figura abaixo, como a melhoria ocorre em função do tempo no processo anterior e após a aplicação do PDCA.

A melhoria contínua otimiza a execução dos processos, possibilita a redução de custos e o aumento da produtividade.

A aplicação do Ciclo PDCA a todas as fases do projeto leva ao aperfeiçoamento e ajustamento do caminho que o empreendimento deve seguir, mesmo os processos considerados satisfatórios são passíveis de melhorias. A introdução de melhorias gradativas e contínuas aos processos só tendem a agregar maior valor aos resultados do projeto e a assegurar maior satisfação dos clientes.

Saturday, July 20, 2013

Human beings and Computers

"Computers are incredibly fast,
accurate and stupid. Human
beings are incredibly slow,
inaccurate and brilliant.
Together they are powerful
beyond imagination."



Monday, July 15, 2013

Ontologia x Taxonomia: Diferenças

As taxonomias trabalham no sentido de organizar a informação e/ou conhecimento, em relações hierárquicas entre os termos. Já as ontologias, buscam estabelecer relações semânticas entre conceitos, em forma de redes conceituais, próximas da estrutura que trabalha a mente humana.

Ontologia


 Taxonomia

Software Engineering and their Relationship to Computer Science


The Systems Approach

Não se discute que em nossa época há uma grande confusão a respeito da maneira  como nossa sociedade é dirigida. Provavelmente em nenhum momento da história do homem houve tanta discussão sobre os acertos e os erros dos autores do modo de conduzir os assuntos, quer sejam políticos do Brasil ou USA, quer sejam administradores em grandes organizações ou pessoas que dirigem instituições educacionais. Em todos estes casos o ciddadão sente  que tem perfeito direito de dar sua opinião sobre o modo como os administradores administram.


Não somente o cidadão passou a ter muito mais voz ativa, mas em muitos momentos começou também a suspeitar  que os homens que tomam as decisões de maior importância, que afetam nossas vidas, não sabem o que estão fazendo. Não sabem o que estão fazendo porque não tem uma base adequada para julgar os efeitos de suas decisões.

Para muitas pessoas deve parecer que vivemos numa época tomada de decisões imbecis. Quase tudo que o autor de uma decisão tem que fazer é aprender um aspecto da situação e levá-lo adiante tanto quanto possível, argumentando contra os seus inimigos na base de que estes não conseguem perceber a verdadeira situação.

Saturday, July 13, 2013

Use sua inteligência emocional e tenha ótimos resultados

Somos entusiastas da tecnologia e, a cada momento, percebemos que os métodos tradicionais de relacionamento estão sendo colocados à parte, seja pela quantidade de informação que assimilamos diariamente ou pela conveniência dos sistemas que acabam pensando e agindo por nós. Mas, como sabemos, é impossível transmitir a emoção em relacionamentos automatizados, um simples e-mail pode produzir dezenas de interpretações e sentimentos.
Você tem idéia de como é perigoso não estar em contato com suas emoções? Até pouco tempo atrás o sucesso de uma pessoa era avaliado pelo raciocínio lógico e habilidades matemáticas e espaciais (QI). Mas o psicólogo Daniel Goleman, PhD, retoma uma nova discussão sobre o assunto. Ele traz o conceito da inteligência emocional como maior responsável pelo sucesso ou insucesso das pessoas. A maioria das situações de trabalho é envolvida por relacionamentos entre as pessoas. Desta forma, pessoas com qualidades de relacionamento humano, como afabilidade, compreensão, gentileza têm mais chances de obter o sucesso, e conseqüentemente, maior assertividade.
A Inteligência Emocional está relacionada a algumas habilidades sociais, tais como: motivar a si mesmo e persistir mediante frustrações; controlar impulsos, canalizando emoções para situações apropriadas; praticar gratificação prorrogada; motivar pessoas, ajudando-as a liberarem seus melhores talentos e conseguir seu engajamento em objetivos de interesses comuns.

Benefícios da Inteligência Emocional:
a) Desenvolver bons relacionamentos com os “stakeholders” que estão apoiando o projeto;
b) Antecipar e evitar esgotamentos;
c) Lidar com membros difíceis da equipe e gerenciar conflitos;
d) Incrementar as informações emocionais para tomar decisões melhores;
e) Comunicar-se de modo mais eficaz;
f) Criar um ambiente de trabalho positivo e um alto moral na equipe;
g) Criar uma visualização de cenário para objetivos compartilhados no projeto, com o intuito de atrair, inspirar e motivar a equipe, entre outros…
O psicólogo Howard Gardner da Universidade de Harward, nos Estados Unidos, propõe “uma visão pluralista da mente” ampliando o conceito de inteligência única para o de um feixe de capacidades. Para ele, inteligência é a capacidade de resolver problemas ou elaborar produtos valorizados em um ambiente cultural ou comunitário. Assim, ele propõe uma nova visão da inteligência, dividindo-a em sete diferentes competências que se interpenetram, pois sempre envolvemos mais de uma habilidade na solução de problemas.

Embora existam predominâncias, as inteligências se integram:
• Inteligência Verbal ou Lingüística: habilidade para lidar criativamente com as palavras.
• Inteligência Lógico-Matemática: capacidade para solucionar problemas envolvendo números e demais elementos matemáticos; habilidades para raciocínio dedutivo.
• Inteligência Cinestésica Corporal: capacidade de usar o próprio corpo de maneiras diferentes e hábeis.
• Inteligência Espacial: noção de espaço e direção.
• Inteligência Musical: capacidade de organizar sons de maneira criativa.
• Inteligência Interpessoal: habilidade de compreender os outros; a maneira de como aceitar e conviver com o outro.
• Inteligência Intrapessoal: capacidade de relacionamento consigo mesmo, autoconhecimento.
• Habilidade de administrar seus sentimentos e emoções a favor de seus projetos. É a inteligência da auto-estima.
Segundo Gardner, todos nascem com o potencial das várias inteligências. A partir das relações com o ambiente, aspectos culturais, algumas são mais desenvolvidas ao passo que deixamos de aprimorar outras.
Nos anos 90, Daniel Goleman, também psicólogo da Universidade de Harward, afirma que ninguém tem menos que nove inteligências. Além das sete citadas por Gardner, Goleman acrescenta mais duas:
• Inteligência Pictográfica: habilidade que a pessoa tem de transmitir uma mensagem pelo desenho que faz.
• Inteligência Naturalista: capacidade de uma pessoa em sentir-se um componente natural.
Sem dúvida, foram essas afirmações que se transformaram em manchete e fizeram a IE ser tão notada.

Até hoje, lamentavelmente, existem muitas controvérsias entre os pesquisadores sobre o que são exatamente as emoções. Uma possível definição de emoção é: “Um estado mental que surge espontaneamente e não por meio de esforço consciente.
Normalmente, é acompanhado de alterações fisiológicas. É, portanto, “um sentimento como são as emoções de alegria, de tristeza, da reverência, do ódio e do amor.” David E. Carlson, no seu livro Counseling and Self-Esteem (algo como Recomendações e Autoestima), usa seis palavras – sad, angry, scared, happy, excited e tender (triste, irado, amedrontado, feliz, animado e carinhoso), que ele resumiu no acrônimo SASHET – para poder entender uma ampla gama de emoções. (ver Figura 1)

Certamente, seria conveniente se a Inteligência Emocional fosse fácil de medir, assim como a altura ou o peso de uma pessoa. Infelizmente isso não acontece!
A boa notícia sobre Inteligência Emocional é que, não importa como você está agora, a maioria dos especialistas concordam que os conhecimentos podem ser aperfeiçoados e melhorados ao longo de toda sua vida.

Uma pequena avaliação segue abaixo:
1. Você acredita que deveria ficar mais animado do que fica normalmente com certo evento?
2. Você não chora em circunstâncias nas quais acredita que outras pessoas chorariam?
3. Você se orgulha de nunca ficar irritado?
4. Você fica surpreendido quando descobre que suas expectativas sobre outras pessoas não coincidem com o que de fato acontece?
5. Alguém já lhe disse que você é grosso, insensível ou negligente?
6. Você acha que os problemas que as pessoas têm são, em grande parte, culpa delas?
7. Você acha difícil trabalhar com pessoas da sua equipe cujo nível educacional é diferente do seu?
8. Você fica chateado ou incapaz de se concentrar quando um familiar ou um integrante da sua equipe está com um problema sério?
9. Você se irrita com seu cônjuge, seus filhos ou integrantes de sua equipe de projeto por comentários inofensivos, porém humorísticos sobre seu desempenho?
10. Seus amigos mais próximos ou seu cônjuge comentam que você não sabe lidar bem com suas emoções?
11. Você freqüentemente faz piadas ou usa do sarcasmo com os seus colaboradores ou seus amigos?
12. Você costuma “sair batendo o pé” das reuniões, batendo portas ou enviando e-mails raivosos, tudo porque as suas colocações não foram aceitas?
13. Seus relacionamentos com sua equipe de projeto, seus colaboradores, gerentes e patrocinadores são superficiais e limitados à tarefa do momento?
14. Seus conflitos com determinados indivíduos são constantes?
15. Você se sente uma vítima dos outros ou acha que diz “sim” quando, na verdade, quer dizer “não”?
16. As pessoas costumam sair da equipe de projeto quando ficam sabendo que você é o líder?
17. Para você, comunicar-se com os outros é algo muito difícil?
18. Fica surpreso quando a sua equipe não entende os objetivos do projeto que está sendo proposto?
19. Em seus projetos, você vivencia conflitos que parecem nunca se resolverem?
20. Você quer ser melhor no que se refere a estabelecer um carisma ou sua presença como líder?
Para se auto-avaliar, conte o seu número total de respostas “não”. Quanto menor for este número, maiores e mais significativas são as oportunidades para melhorar a sua inteligência emocional, porém se o número estiver entre 17 e 20, você é quase um gênio emocional que faz parte de uma minoria de profissionais que sabe lidar com muita eficiência com as suas emoções e as dos outros.
Agora, imaginem a complexidade de um sistema com essa capacidade de interpretação!

Importância das Emoções

Sobrevivência: Nossas emoções foram desenvolvidas naturalmente através de milhões de anos de evolução. Como resultado, nossas emoções possuem o potencial de nos servir como um sofisticado e delicado sistema interno de orientação. Nossas emoções nos alertam quando as necessidades humanas naturais não são encontradas. Por exemplo, quando nos sentimos sós, nossa necessidade é encontrar outras pessoas.Quando nos sentimos receosos, nossa necessidade é por segurança. Quando nos sentimos rejeitados, nossa necessidade é por aceitação.

Tomadas de Decisão
: Nossas emoções são uma fonte valiosa da informação. Nossas emoções nos ajudam a tomar decisões. Os estudos mostram que quando as conexões emocionais de uma pessoa estão danificadas no cérebro, ela não pode tomar nem mesmo as decisões simples. Por que? Porque não sentirá nada sobre suas escolhas.

Ajuste de limites: Quando nos sentimos incomodados com o comportamento de uma pessoa, nossas emoções nos alertam. Se nós aprendermos a confiar em nossas emoções e sensações isto nos ajudará a ajustar nossos limites que são necessários para proteger nossa saúde física e mental.

Comunicação: Nossas emoções ajudam-nos a comunicar com os outros. Nossas expressões faciais, por exemplo, podem demonstrar uma grande quantidade de emoções. Com o olhar, podemos sinalizar que precisamos de ajuda. Se formos também verbalmente hábeis, juntamente com nossas expressões teremos uma possibilidade maior de melhor expressar nossas emoções. Também é necessário que nós sejamos eficazes para escutar e entender os problemas dos outros.

União: Nossas emoções são talvez a maior fonte potencial capaz de unir todos os membros da espécie humana. Claramente, as diferenças religiosas, cultural e política não permitem isto, apesar dar emoções serem "universais".



Inteligência Emocional

Inteligência Verbal ou Linguística: habilidade para lidar criativamente com as palavras.
Inteligência Lógico-Matemática: capacidade para solucionar problemas envolvendo números e demais elementos matemáticos; habilidades para raciocínio dedutivo.
Inteligência Cinestésica Corporal: capacidade de usar o próprio corpo de maneiras diferentes e hábeis.
Inteligência Espacial: noção de espaço e direção.
Inteligência Musical: capacidade de organizar sons de maneira criativa.
Inteligência Interpessoal: habilidade de compreender os outros; a maneira de como aceitar e conviver com o outro.
Inteligência Intrapessoal: capacidade de relacionamento consigo mesmo, autoconhecimento. Habilidade de administrar seus sentimentos e emoções a favor de seus projetos. É a inteligência da auto-estima.
Inteligência Pictográfica: habilidade que a pessoa tem de transmitir uma mensagem pelo desenho que faz.
Inteligência Naturalista: capacidade de uma pessoa em sentir-se um componente natural.