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.