Feed Artigos Comentários


Cobit &Itil &TI André Dourado em 18 Mar 2014

Cobit 5 na prática – Parte I – Como nós fazemos Cobit

Conheça meu novo blog, clicando aqui. Trato de assuntos da área de TI, como COBIT, ITIL, MPSBR, CMMI, Scrum etc, de uma forma prática.

O conteúdo deste post esta desatualizado. Caso deseje acessar o conteúdo atualizado, clique nesse link, que o redirecionarei para meu novo blog, onde trato do assunto COBIT de uma forma atualizada, prática e completa.

Quando comecei a trabalhar com Scrum, utilizei um livrinho que me ajudou demais no início, chamado “Scrum e XP direto das trincheiras” com o sub-título de “Como nós fazemos Scrum” de Henrik Kniberg. O que me chamou a atenção e fez com que eu realmente me interessasse pelo livro, foi o sub-título.

Já na introdução do livro, Mr. Kniberg deixa claro: “A boa notícia é que vou te dizer exatamente como faço Scrum, em um nível de detalhes excruciantemente doloroso. A má notícia é, bem, esta é a maneira como EU faço Scrum. E isto não significa que Você deva fazê-lo exatamente da mesma maneira. De fato, eu também faria de maneira diferente, se encontrasse situações diferentes”.

Bem, em relação ao Cobit 5 e esse artigo, a situação é mais ou menos a mesma. Vou descrever exatamente como EU faço Cobit e utilizando para isso ITIL V3, PMBOK 5ª Ed e CMMI/MPS-BR. A abordagem será a mais prática possível, sempre indicando templates (onde for possível) para lhe dar suporte a sua implantação.

Para evitar ser malhado pelos profissionais certificados em Cobit e nos demais frameworks mencionados, que porventura cheguem até este obscuro blog, portanto com muito mais capacidade de implementação que eu, roubo novamente as palavras de Mr. Kniberg: “Isto não significa que Você deva fazê-lo exatamente da mesma maneira”.

A maior dificuldade no uso e entendimento do Cobit, é que por ser um framework, ele não dirá COMO deve ser feito. Lhe apontará apenas O QUE deve ser feito, como sendo uma boa prática, adotada por milhares de instalações de TI pelo mundo afora.

Portanto não adianta buscar templates Cobit, pois na verdade não são necessários. O que você terá que fazer é definir um planejamento para sua área de TI e lá você mencionará suas metas, processos, práticas, métricas etc, baseados no que sugere o Cobit.

Boa sorte em sua implementação. Espero ajudar de alguma forma.

Cobit 5 – Introdução

COBIT 5 está focado em governança corporativa de TI, deixando claro a distinção entre governança e gestão. Provê um framework que auxilia as corporações a atingirem suas metas e entregar valor por meio de uma efetiva governança e gestão da TI corporativas.

Aqui poderia começar a descrever os princípios, conceito de habilitadores, cascateamento de objetivos etc, mas já estaria fugindo do meu objetivo principal que é a parte prática.

Para conhecer melhor o framework, há alguns recursos que considero interessantes:

No site do próprio ISACA você encontra grátis a descrição geral do framework: “COBIT 5: A Business Framework for the Governance and Management of Enterprise IT”. Não fique muito animado, é apenas a descrição em linhas gerais do framework, em inglês. O COBIT 5 é um conjunto de produtos, que está à venda no site do ISACA. Segue o link para o documento gratuito:
http://www.isaca.org/COBIT/Pages/COBIT-5-Framework-product-page.aspx

Na mesma página você encontra o link para o Toolkit, que traz alguns itens que serão muito úteis, como o “12.COBIT5-Governance-and-Management-Practices-Activities”, uma planilha Excel com a relação das práticas para cada processo. Segue o link para download direto:
http://sas-origin.onstreammedia.com/origin/isaca/COBIT/COBIT5-Tool-Kit.zip

E há também o excelente mini curso do Wesley Vaz, Diretor Institucional do Capítulo Brasília do ISACA:
http://bit.ly/1gyGnrL

Para quem ainda não adquiriu o framework, e quer ter uma forma de iniciar suas definições, ainda é possível achar espalhado pela web, o draft liberado para o público em Junho de 2011. Há diversas falhas no documento, mas com boa vontade, será uma boa forma de iniciar, já que há informações que só poderão ser conseguidas na versão definitiva do “COBIT 5 Enabling Processes”, ou no draft disponibilizado ao público “COBIT 5 Process Reference Guide”. Segue um dos links onde pode encontrar o draft:
http://bit.ly/1iWLi4H

Por que implantar COBIT????

Para que eu preciso de COBIT em minha corporação? ITIL não é suficiente? Você já se fez essas perguntas?

Todos nós já ouvimos a frase “Alinhar a TI ao negócio”, bem, COBIT nos ajuda a realizar esse alinhamento.

Os “Stakeholders” não estão lá muito interessados no mundo de “TI”. Eles querem apenas saber, se seus objetivos estratégicos estão sendo atingidos e consequentemente se a corporação está ou não sendo lucrativa e trazendo resultados. No nosso caso, se a TI está gerando valor para o negócio.

Para cada decisão a ser tomada em relação ao futuro de um negócio (Stakeholder Needs), você deveria responder a 3 perguntas: O que eu posso fazer para alcançar um benefício (objetivo) (Benefits Realisation)? Com baixo risco (Risk Optimisation)? Com otimização dos meus recursos, ou seja, menos gastos (Resource Optimisation)?

O COBIT 5 define 17 objetivos genéricos para a corporação. Objetivos que são comuns em quase todas as empresas. Na sua empresa pode não ser chamada exatamente dessa forma, mas o sentido é o mesmo.

Para cada objetivo há a indicação para cada uma das perguntas descritas acima, se o objetivo é “Primário (P)” ou “Secundário (S)”. Exemplo: “1.Stakeholder value of business investments”, atende principalmente à necessidade dos stakeholders “Benefits Realisation”, mas também atende ao “Resource Optimization”, só que de forma secundária, adicional.

Define também 17 objetivos para a área de TI alinhados aos da corporação:

Você deve ter notado a coluna “BSC Dimension”. Grandes corporações utilizam uma metodologia de medição e gestão de desempenho, chamada BSC (Balanced Score Card), que busca a maximização dos resultados baseados em quatro dimensões (ou perspectivas) que refletem a visão e estratégia empresarial: financeira, clientes, processos internos e aprendizado e crescimento.

Para maiores informações sobre BSC, comece lendo o Wikipedia: http://pt.wikipedia.org/wiki/Balanced_scorecard

Para uma visão de BSC para a área de TI, caso sua companhia utilize BSC e deseje se aprofundar na gestão de sua área, alinhada ao modelo de gestão de sua corporação, sugiro que leia esse artigo no site do ISACA “The IT Balanced Scorecard – A Roadmap to Effective Governance of a Shared Services IT Organization”:
http://bit.ly/1kSijDn

E se puder, leia também esse livro “Implementing The IT Balanced Scorecard – Aligning IT with Corporate Strategy” de Jessica Keyes. O achei disponível na web no link a seguir:
http://hlp4asp.files.wordpress.com/2011/10/it-scorecard.pdf

O relacionamento completo entre os objetivos da corporação e os da área de TI, você poderá encontrar na página 50 do “COBIT 5: A Business Framework for the Governance and Management of Enterprise IT”. Aqui mostro apenas uma parte da tabela, a título de exemplo:

Um exemplo:

Atingindo o objetivo “09 IT agility”, você contribuirá para o atingimento de diversos objetivos corporativos:

Em uma escala maior (P):

2. Portfolio of competitive products and services
8. Agile responses to a changing business environment
11. Optimisation of business process functionality
17. Product and business innovation culture

Em uma escala menor (S):

1. Stakeholder value of business investments
3. Managed business risk (safeguarding of assets)
6. Customer-oriented service culture
13. Managed business change programmes
14. Operational and staff productivity
16. Skilled and motivated people

Para que um objetivo seja alcançado, devo tomar ações para que o atingimento desse objetivo seja facilitado ou viabilizado. Essas ações estão descritas nos processos do COBIT.

A relação completa de processos x objetivos de TI, você poderá encontrar na página 52 do “COBIT 5: A Business Framework for the Governance and Management of Enterprise IT”. Aqui mostro apenas uma parte da tabela, a título de exemplo:

Por exemplo: para que o objetivo “09 IT agility” possa ser alcançado, a implementação de alguns processos, contribuiriam de forma direta ao atingimento do objetivo:

APO01 Manage the IT Management Framework
APO03 Manage Enterprise Architecture
APO04 Manage Innovation
APO10 Manage Suppliers
BAI08 Manage Knowledge
EDM04 Ensure Resource Optimisation

Alguns processos, caso fossem implantados, contribuiriam de forma indireta para o objetivo:

APO02 Manage Strategy
APO05 Manage Portfolio
APO07 Manage Human Resources
APO09 Manage Service Agreements
APO11 Manage Quality
APO12 Manage Risk
BAI02 Manage Requirements Definition
BAI04 Manage Availability and Capacity
BAI05 Manage Organisational Change Enablement
BAI06 Manage Changes
BAI07 Manage Change Acceptance and Transitioning
BAI09 Manage Assets
BAI10 Manage Configuration
DSS01 Manage Operations
DSS03 Manage Problems
DSS04 Manage Continuity
EDM01 Ensure Governance Framework Setting and Maintenance
MEA01 Monitor, Evaluate and Assess Performance and Conformance

Imagine que você definiu o processo “APO10 Manage Suppliers” para implantar nesse momento. Quais as atividades que deveriam ser desenvolvidas?

Conforme mencionei anteriormente, no toolkit há a planilha “12.COBIT5-Governance-and-Management-Practices-Activities.xls”. Na aba “Processes-Practices” filtrando pelo Domain “Align, Plan and Organize” e pelo Process ID “APO10”, você terá as práticas que compõem o processo.

Defina as práticas a serem implementadas.

Na mesma planilha na aba “Activities” você encontrará todas as atividades a serem desenvolvidas para as práticas escolhidas. Por exemplo: para a prática “APO010.05 Monitor Supplier performance and compliance”, as atividades são:

Ok. Mas se eu tenho que atingir um objetivo, tenho que ter uma forma de medir o desempenho do meu processo. Para isso precisamos definir as métricas que serão utilizadas na medida. Essas métricas você pode encontrar no “COBIT 5 Process Reference Guide”, mencionado no início do post:



Note que nesse documento por ser um draft, com erros, o objetivo está como “S” para o processo, quando na verdade ele é “P”. No documento “COBIT 5 Enabling Processes”, disponível para aquisição no site do ISACA, você encontrará as informações sem os erros. A apresentação da informação é um pouco diferente também, como você pode notar abaixo:

No próximo post, passaremos a implementação.

| Tagged , , ,
1,195 views

Mobile &PhoneGap André Dourado em 21 Feb 2014

PhoneGap (Windows) – Instalando Android SDK sem o Eclipse IDE

Conheça meu novo blog, clicando aqui. Trato de assuntos da área de TI, como COBIT, ITIL, MPSBR, CMMI, Scrum etc, de uma forma prática.

Não sou um amante de IDEs. Prefiro utilizar editores de texto mais leves. Este é o motivo que me leva a escrever este post.

Para que você possa gerar sua aplicação através do PhoneGap, a menos que esteja utilizando o PhoneGap Build, antes é necessário que os SDKs das plataformas a serem geradas, estejam instalados em seu equipamento.

Neste post mostrarei como instalar o Android SDK sem a instalação do Eclipse IDE.

Passo1 – Instalação do JDK

Faça o download do instalador do JDK através dos links:
64 bits: http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-windows-x64.exe.
32 bits: http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-windows-i586.exe.

Instale o JDK e configure o ambiente:

  1. Dê duplo clique sobre o instalador e instale o JDK.
  2. Acrescente no PATH o caminho da pasta “bin” do JDK. Nesse tutorial: “C:\Program Files\Java\jdk1.7.0_51\bin”
  3. Crie a variável “JAVA_HOME” com o caminho do JDK. Nesse tutorial: “C:\Program Files\Java\jdk1.7.0_51″.

Passo 2 – Instalação do ANT

Faça o download do ANT através do link: http://ftp.unicamp.br/pub/apache//ant/binaries/apache-ant-1.9.3-bin.zip.

Descompacte o ANT e configure o ambiente:

  1. Descompacte o ANT em uma pasta, por exemplo na raiz do “c:\ant”.
  2. Acrescente no PATH o caminho da pasta “bin” do ANT. Nesse tutorial: “C:\ant\bin”

Passo 3 – Download do SDK Tools Setup

Faça o download do SDK Tools Setup através do link: http://developer.android.com/sdk/index.html#download.

Clique no link “DOWNLOAD FOR OTHER PLATFORMS” e escolha na seção “SDK Tools Only” o link referente ao Windows “Windows 32 & 64-bit”.

Nesse tutorial utilizei o instalador: “installer_r22.3-windows.exe“.

Passo 4 – Instalação

O Android SDK separa ferramentas, pataformas e outros componentes em pacotes, que podem ser instalados a partir do SDK Manager. O SDK Manager inclui apenas as ferramentas de desenvolvimento (SDK Tools). Para desenvolver uma aplicação para o Android, você precisa da última versão do “SDK Platform-tools” e de pelo menos uma plataforma Android.

  1. Dê duplo clique sobre o instalador
  2. O SDK Manager exibe todos os pacotes disponíveis que podem ser adicionados ao seu Android SDK. Como uma configuração mínima é recomendado que sejam instalados os seguintes:
    • O pacote de ferramentas mais recente. Marque a pasta “Tools”.
    • A última versão do Android. Marque a primeira pasta “Android”.
    • A biblioteca de suporte. Abra a pasta “Extras” e marque “Android Support Library”.
  3. Caso vá desenvolver um aplicativo que possa ser executado por uma versão anterior a mais recente, deverá adicioná-la a sua instalação. Marque a pasta “Android” referente a versão desejada.

Uma vez escolhidos os pacotes desejados, clique no botão “Install XX Packages…”. O Android SDK Manager irá baixar e instalar os pacotes selecionados. Essa operação leva algum tempo para sua conclusão.


Após a instalação, acrescente no PATH o caminho das pastas “tools” e “platform-tools” do SDK. Nesse tutorial: “C:\Users\adourado\AppData\Local\Android\android-sdk\tools;C:\Users\adourado\AppData\Local\Android\android-sdk\platform-tools;”

| Tagged ,
109 views

Gestão &Projetos André Dourado em 02 Aug 2013

O PRINCE2 e os Boks (PMBOK e ICB)

Conheça meu novo blog, clicando aqui. Trato de assuntos da área de TI, como COBIT, ITIL, MPSBR, CMMI, Scrum etc, de uma forma prática.

| Tagged
70 views

Carreira &Costumes André Dourado em 13 Dec 2012

Isso é Ponta Grossa…indústrias

Conheça meu novo blog, clicando aqui. Trato de assuntos da área de TI, como COBIT, ITIL, MPSBR, CMMI, Scrum etc, de uma forma prática.

Quando vim a primeira vez à Ponta Grossa, fiquei impressionado com a quantidade de indústrias na região. Aproveitei que o Google Street View já passou por Ponta Grossa e recriei a descoberta de algumas indústrias, do ponto de vista de quem está chegando à Ponta Grossa.


Louis Dreifuss [Commodities]



Cargill [Soja]



Bunge [Alimentos]



Bunge [Alimentos]



Makita [Ferramentas Elétricas]



Cargill [Soja]



Continental [Automobilistica]



Crown [Embalagens Metálicas]



Beaulieu [Carpetes]



Masisa [MDF / MDP]



Heineken [Bebidas]



Tetra Pak [Embalagens]



Castrolanda [Lacticínios]



Batavo Cooperativa [Lacticínios]



Bunge [Fertlizantes]



Kurashiki [Têxtil]



Sadia / BR Foods [Alimentos]



Hübner [Metalúrgica]



Águia Sistemas [Metalúrgica]



Frísia [Alimentos]


Em Implantação ou Chegando



DAF [Automobilística]



Ambev [Bebidas]


| Tagged , ,
234 views

CEP &Estatística &R-Project &Six Sigma André Dourado em 12 Dec 2012

“Six Sigma” utilizando o software estatístico “R” – Parte 11 (Carta de Controle “x-S”)

Conheça meu novo blog, clicando aqui. Trato de assuntos da área de TI, como COBIT, ITIL, MPSBR, CMMI, Scrum etc, de uma forma prática.

Carta de Controle “x-S”

Package / Library

qcc

Função

qcc

Uso

qcc(data = rowMeans(dados),
type = “xbar.one”,
confidence.level = 0.99999995,
title = “Carta de Controle x-S para Diâmetros de Pinos”,
xlab = “Diâmetros”,
ylab = “Médias”,
label.limits = c(paste(“LCL = “,lclx), paste(“UCL = “,uclx)),
add.stats = FALSE
)

qcc(data = dados,
type = “S”,
title = “”,
xlab = “Diâmetros”,
ylab = “Desvio Padrão”,
label.limits = c(paste(“LCL = “,lcls), paste(“UCL = “,ucls)),
add.stats = FALSE
)

Argumentos

data Vetor numérico com os dados a serem utilizados.
type “xbar.one” – Gráfico pela média
“R” – Gráfico pela amplitude
label.limits Vetor numérico de dois elementos especificando os textos a serem utilizados para os limites de controle.
title Cadeia de caracteres especificando o título do gráfico.
xlab Cadeia de caracteres com o título do eixo dos x.
ylab Cadeia de caracteres com o título do eixo dos y da esquerda.
add.stats Valor lógico que indica se as estatísticas e outras informações devem ser exibidas na parte de baixo do gráfico.
confidence.level Valor numérico entre 0 e 1 especificando o nível de confiança (Intervalo de Confiança) a ser utilizado. Foi utilizado o valor “0.941408″ para os resultados dos limites de controle se assemelharem aos determinados pelo Minitab.

Código Exemplo


library(qcc)

dados <- read.table("c:\\diametros_pinos.txt", sep = "\t", dec=".", header=T) # dados <- read.table("http://adsystemsblog.audits.com.br/sixsigma/diametros_pinos.txt", sep = "\t", dec=".", header=T) ################################################### ### Define parâmetros gerais ################################################### par(bg="#F1ECE2") # Cor do fundo par(family="Arial") # True type font ################################################### ### Pega dados gráfico X ################################################### grafico <- qcc(data = rowMeans(dados), type = "xbar.one", confidence.level = 0.99999995, add.stats = FALSE, plot = FALSE ) box("figure", col="#DDDDDD", lwd=15) uclx <- round(grafico$limits[2], digits = 2) lclx <- round(grafico$limits[1], digits = 2) clx <- round(grafico$center, digits = 2) ################################################### ### Pega dados gráfico S ################################################### grafico <- qcc(data = dados, type = "S", plot = FALSE ) ucls <- round(grafico$limits[2], digits = 2) lcls <- round(grafico$limits[1], digits = 2) cls <- round(grafico$center, digits = 2) ################################################### ### Define area para os dois graficos ################################################### par(mfrow=c(2,1)) ################################################### ### Plota grafico X ################################################### # bottom, left, top, right par(mar=c(5, 5, 3, 7)) # Margens do gráfico qcc(data = rowMeans(dados), type = "xbar.one", confidence.level = 0.99999995, title = "Carta de Controle x-S para Diâmetros de Pinos", xlab = "Diâmetros", ylab = "Médias", label.limits = c(paste("LCL = ",lclx), paste("UCL = ",uclx)), add.stats = FALSE ) mtext(paste("( x =",clx,")"),4, las=1, adj=-0.4, padj=0.45) mtext("_", 4, las=1, adj = -4.5, padj=-0.7) box("figure", col="#DDDDDD", lwd=15) ################################################### ### Plota gráfico S ################################################### # bottom, left, top, right par(mar=c(5, 5, 3, 7)) # Margens do gráfico qcc(data = dados, type = "S", title = "", xlab = "Diâmetros", ylab = "Desvio Padrão", label.limits = c(paste("LCL = ",lcls), paste("UCL = ",ucls)), add.stats = FALSE ) mtext(paste("( S =",cls,")"),4, las=1, adj=-0.4, padj=0.65) mtext("_", 4, las=1, adj = -4.1, padj=-0.7) box("figure", col="#DDDDDD", lwd=15)

Resultado

| Tagged , , ,
92 views

CEP &Estatística &R-Project &Six Sigma André Dourado em 12 Dec 2012

“Six Sigma” utilizando o software estatístico “R” – Parte 10 (Carta de Controle “x-R”)

Conheça meu novo blog, clicando aqui. Trato de assuntos da área de TI, como COBIT, ITIL, MPSBR, CMMI, Scrum etc, de uma forma prática.

Carta de Controle “x-R”

Package / Library

qcc

Função

qcc

Uso

qcc(data = consumo[1,1:m],
type = “xbar.one”,
title = “Carta de Controle x-R para Consumo Semanal”,
xlab = “Semanas”,
ylab = “Médias”,
label.limits = c(paste(“LCL = “,lclx), paste(“UCL = “,uclx)),
confidence.level = 0.941408,
add.stats = FALSE
)

qcc(data = dados[,2:6],
type = “R”,
title = “”,
xlab = “Semanas”,
ylab = “Amplitude”,
label.limits = c(paste(“LCL = “,lclr), paste(“UCL = “,uclr)),
add.stats = FALSE
)

Argumentos

data Vetor numérico com os dados a serem utilizados.
type “xbar.one” – Gráfico pela média
“R” – Gráfico pela amplitude
label.limits Vetor numérico de dois elementos especificando os textos a serem utilizados para os limites de controle.
title Cadeia de caracteres especificando o título do gráfico.
xlab Cadeia de caracteres com o título do eixo dos x.
ylab Cadeia de caracteres com o título do eixo dos y da esquerda.
add.stats Valor lógico que indica se as estatísticas e outras informações devem ser exibidas na parte de baixo do gráfico.
confidence.level Valor numérico entre 0 e 1 especificando o nível de confiança (Intervalo de Confiança) a ser utilizado. Foi utilizado o valor “0.941408″ para os resultados dos limites de controle se assemelharem aos determinados pelo Minitab.

Código Exemplo


library(qcc)

#dados <- read.table("c:\\consumo_semanal.txt", sep = "\t", dec=".", header=T) dados <- read.table("http://adsystemsblog.audits.com.br/sixsigma/consumo_semanal.txt", sep = "\t", dec=".", header=T) ################################################### ### Define parâmetros gerais ################################################### par(bg="#F1ECE2") # Cor do fundo par(family="Arial") # True type font ################################################### ### Pega dados gráfico X ################################################### grafico <- qcc(data = rowMeans(dados), type = "xbar.one", confidence.level = 0.941408, add.stats = FALSE, plot = FALSE ) box("figure", col="#DDDDDD", lwd=15) uclx <- round(grafico$limits[2], digits = 2) lclx <- round(grafico$limits[1], digits = 2) clx <- round(grafico$center, digits = 2) ################################################### ### Pega dados gráfico R ################################################### grafico <- qcc(data = dados, type = "R", plot = FALSE ) uclr <- round(grafico$limits[2], digits = 2) lclr <- round(grafico$limits[1], digits = 2) clr <- round(grafico$center, digits = 2) ################################################### ### Define area para os dois graficos ################################################### par(mfrow=c(2,1)) ################################################### ### Plota grafico X ################################################### # bottom, left, top, right par(mar=c(5, 5, 3, 7)) # Margens do gráfico qcc(data = rowMeans(dados), type = "xbar.one", title = "Carta de Controle x-R para Consumo Semanal", xlab = "Semanas", ylab = "Médias", label.limits = c(paste("LCL = ",lclx), paste("UCL = ",uclx)), confidence.level = 0.941408, add.stats = FALSE ) mtext(paste("( x =",clx,")"),4, las=1, adj=-0.4, padj=0.45) mtext("_", 4, las=1, adj = -4.5, padj=-0.7) box("figure", col="#DDDDDD", lwd=15) ################################################### ### Plota gráfico R ################################################### # bottom, left, top, right par(mar=c(5, 5, 3, 7)) # Margens do gráfico qcc(data = dados, type = "R", title = "", xlab = "Semanas", ylab = "Amplitude", label.limits = c(paste("LCL = ",lclr), paste("UCL = ",uclr)), add.stats = FALSE ) mtext(paste("( R =",clr,")"),4, las=1, adj=-0.4, padj=0.65) mtext("_", 4, las=1, adj = -4.5, padj=-0.7) box("figure", col="#DDDDDD", lwd=15)

Resultado

| Tagged , , ,
316 views

Estatística &R-Project &Six Sigma André Dourado em 04 Dec 2012

“Six Sigma” utilizando o software estatístico “R” – Parte 9 (Tutorial de instalação do “R-Project”)

Conheça meu novo blog, clicando aqui. Trato de assuntos da área de TI, como COBIT, ITIL, MPSBR, CMMI, Scrum etc, de uma forma prática.

Inicialmente pensei em não descrever o processo de instalação do “R”, pois o meu objetivo inicial foi de atingir usuários de “R”, mas como o assunto tratado até o momento foi o “Six Sigma”, decidi que seria melhor explicar como instalá-lo, para que mais pessoas pudessem começar a utilizar a ferramenta. Este post tem a finalidade de descrever o processo, passo a passo.

Requisitos

Windows: este tutorial foi feito utilizando um XP SP3 em uma máquina virtual. Provavelmente funcionará sem problemas em outras versões de Windows.

Binários do “R-Project” para Windows: podem ser obtidos no endereço: http://cran-r.c3sl.ufpr.br/bin/windows/base/R-2.15.2-win.exe/

Pacotes para o “R”: são os pacotes necessários para executar os comandos descritos nos posts: http://adsystemsblog.audits.com.br/sixsigma/rproject_sixsigma.zip

Download do “R-Project”

1.Acesse pelo browser o endereço: “http://cran-r.c3sl.ufpr.br”. Clique sobre o link “Download R for Windows”.

2.Clique sobre o link “base”.

3.Clique sobre o link “Download R.X.XX.X for Windows”.

4.Salve o arquivo em um local em que você lembre, pois terá que executá-lo, para continuar a instalação.

Instalação do “R-Project”

1.Execute o instalador do “R-Project”, que você já deve ter feito o download. No nosso caso, clique sobre o arquivo “R-2.15.2-win.exe” a partir do Windows Explorer. Selecione o idioma desejado. Clique então sobre o botão “Ok”.

2.Clique em “Avançar”.

3.Clique em “Avançar”.

4.Clique em “Avançar”.

5.Clique em “Avançar”.

6.Clique em “Avançar”.

7.Clique em “Avançar”.

8.Clique em “Avançar”.

9.Aguarde finalizar a instalação.

10.Clique em “Concluir”.

11.Descompacte o arquivo “rproject_sixsigma.zip” no diretório “library” no local de instalação do “R”. Em nosso caso no diretório: “C:\Arquivos de programas\R\R-2.15.2\library”.

Teste de uso dos códigos dos posts

1.Execute o “R” através do ícone na área de trabalho.

2.Selecione o código do post. Copie utilizando “CTRL+C” ou no menu de contexto, usando a opção “Copiar”.

3.Na janela “Console” cole o código copiado ao lado do prompt “> “. Ao finalizar a colagem, o script será executado e a imagem final será exibida.


| Tagged , ,
76 views

Estatística &R-Project &Six Sigma André Dourado em 03 Dec 2012

“Six Sigma” utilizando o software estatístico “R” – Parte 8 (Diagrama Causa e Efeito – Ishikawa)

Conheça meu novo blog, clicando aqui. Trato de assuntos da área de TI, como COBIT, ITIL, MPSBR, CMMI, Scrum etc, de uma forma prática.

Diagrama Causa e Efeito – Ishikawa

Package / Library

qcc

Função

cause.and.effect

Uso

cause.and.effect.ad(title = “Diagrama Causa e Efeito\n(Ishikawa)”, cause=list(MeioAmbiente=c(“Poluição salina”, “Ruído excessivo”),
Material=c(“Bibliografia”, “Sobressalentes”),
Maquina=c(“Vazamento de óleo”, “Vibração”),
Medida=c(“Excesso de reuniões”, “Tempo de pesquisa”),
MaoDeObra=c(“Baixa motivação”, “Treinamento”),
Metodo=c(“Padrões inadequados”, “Tempo de execução”, “Procedimentos desatualizados”)),
effect=”Falha de\nEquipamento”, labels=c(“Meio Ambiente”, “Material”, “Máquina”, “Medida”, “Mão de Obra”, “Método”))

Argumentos

cause Vetor de caracteres, com a lista de causas e seus ramos.
effect Cadeia de caracteres com o título do efeito.
title Cadeia de caracteres especificando o título do gráfico.
cex Vetor numérico, com os valores de expansão do font dos labels. Respectivamente: Ramos, Causas e Efeito.
font Vetor numérico, com os fonts dos labels. Respectivamente: Ramos, Causas e Efeito.
labels Vetor de caracteres, com os labels para as causas.

Comentários

Aqui fiz algumas alterações na função “cause.and.effect” para:
- Possibilitar adicionar textos customizados para os grupos de causas.

Código Exemplo


library("qcc")

cause.and.effect.ad <- function (cause, effect, title = "Cause-and-Effect diagram", cex = c(1, 0.9, 1), font = c(2, 3, 2), labels) { mean2 <- function(x) { m <- rep(NA, length(x) - 1) for (i in 1:(length(x) - 1)) m[i] <- mean(x[c(i, i + 1)]) return(m) } nc <- length(cause) ncup <- nc - round(nc/2) nclo <- nc - ncup ncc <- max(sapply(cause, length)) oldpar <- par(mar = c(1, 1, 3, 1), no.readonly = TRUE) on.exit(par(oldpar)) plot(0:100, 0:100, type = "n", xlab = "", ylab = "", axes = FALSE, main = title) usr <- par("usr") we <- strwidth(effect, units = "user") * 1.1 wc <- max(unlist(sapply(cause, strwidth, units = "user"))) hc <- max(strheight(effect, units = "user"), unlist(sapply(cause, strheight, units = "user"))) arrows(0, 50, usr[2] - we - 1, 50, code = 2, length = 0.1, angle = 20) text(usr[2] - we, 50, effect, adj = c(0, 0.5), cex = cex[3], font = font[3]) a <- (usr[2] - we)/(max(ncup, nclo) + 1) ac <- a * (0:(max(ncup, nclo))) for (i in 1:(length(ac) - 1)) { segments(mean2(ac)[i], 95, ac[i + 1], 50) # Labels superiores if (missing(labels)) { saida <- names(cause)[i] } else { saida <- labels[i] } text(mean2(ac)[i], 96, saida, pos = 3, offset = 0.5, cex = cex[1], font = font[1]) if (i <= nclo) { # Labels inferiores if (missing(labels)) { saida <- names(cause)[[ncup + i]] } else { saida <- labels[ncup + i] } segments(mean2(ac)[i], 5, ac[i + 1], 50) text(mean2(ac)[i], 4, saida, pos = 1, offset = 0.5, cex = cex[1], font = font[1]) } } for (j in 1:ncup) { b <- (50 - 95)/(ac[j + 1] - mean2(ac)[j]) a <- 95 - b * mean2(ac)[j] y <- rev(50 + cumsum((95 - 50)/(ncc + 1)) * (1:(ncc))) x <- (y - a)/b for (i in 1:length(y)) { label <- cause[[j]][i] if (!is.na(label)) text(x[i], y[i], label, pos = 4, offset = 0.4, cex = cex[2], font = font[2]) } } for (j in 1:ncup) { b <- (50 - 5)/(ac[j + 1] - mean2(ac)[j]) a <- 5 - b * mean2(ac)[j] y <- cumsum((95 - 50)/(ncc + 1)) * (1:(ncc)) x <- (y - a)/b if (j <= nclo) for (i in 1:length(y)) { label <- cause[[ncup + j]][i] if (!is.na(label)) text(x[i], y[i], label, pos = 4, offset = 0.4, cex = cex[2], font = font[2]) } } invisible() } ################################################### ### Define parâmetros gerais ################################################### par(bg="white") # Cor do fundo par(family="Arial") # True type font ################################################### ### Plota gráfico ################################################### cause.and.effect.ad(title = "Diagrama Causa e Efeito\n(Ishikawa)", cause=list(MeioAmbiente=c("Poluição salina", "Ruído excessivo"), Material=c("Bibliografia", "Sobressalentes"), Maquina=c("Vazamento de óleo", "Vibração"), Medida=c("Excesso de reuniões", "Tempo de pesquisa"), MaoDeObra=c("Baixa motivação", "Treinamento"), Metodo=c("Padrões inadequados", "Tempo de execução", "Procedimentos desatualizados")), effect="Falha de\nEquipamento", labels=c("Meio Ambiente", "Material", "Máquina", "Medida", "Mão de Obra", "Método")) ################################################### ### Caixa cinza em torno do gráfico ################################################### box("figure", col="#DDDDDD", lwd=15)

Resultado

| Tagged , ,
631 views

CEP &Estatística &R-Project &Six Sigma André Dourado em 30 Nov 2012

“Six Sigma” utilizando o software estatístico “R” – Parte 7 (Carta de Controle “x”)

Conheça meu novo blog, clicando aqui. Trato de assuntos da área de TI, como COBIT, ITIL, MPSBR, CMMI, Scrum etc, de uma forma prática.

Carta de Controle “x”

Package / Library

qcc

Função

qcc

Uso

qcc(data = dados$diametro, type = “xbar.one”, center = 10, limits=c(9.83,10.23), label.limits=c(“LIE”,”LSE”), title = “Carta de Controle\nDiâmetros parafusos 10mm”, xlab = “Amostras”, ylab = “Diâmetro”)

Argumentos

data Vetor numérico com os dados a serem utilizados.
type “xbar.one” – Gráfico pela média
center Valor especificando o valor alvo central do processo.
limits Vetor numérico de dois elementos especificando os limites de controle.
label.limits Vetor numérico de dois elementos especificando os textos a serem utilizados para os limites de controle.
title Cadeia de caracteres especificando o título do gráfico.
xlab Cadeia de caracteres com o título do eixo dos x.
ylab Cadeia de caracteres com o título do eixo dos y da esquerda.

Código Exemplo


library("qcc")

###################################################
### Le dados dos arquivos
###################################################
# dados <- read.table("c:\\diametros.txt", sep = "\t", dec=".", header=T) # Arquivo local dados <- read.table("http://adsystemsblog.audits.com.br/sixsigma/diametros.txt", sep = "", dec=".", header=T) ################################################### ### Define parâmetros gerais ################################################### par(mar=c(7, 5, 5, 3)) # Margens do gráfico par(bg="#F1ECE2") # Cor do fundo par(family="Arial") # True type font ################################################### ### Plota gráfico ################################################### qcc(data = dados$diametro, type = "xbar.one", center = 10, limits=c(9.83,10.23), label.limits=c("LIE","LSE"), title = "Carta de Controle\nDiâmetros parafusos 10mm", xlab = "Amostras", ylab = "Diâmetro" ) ################################################### ### Caixa cinza em torno do gráfico ################################################### box("figure", col="#DDDDDD", lwd=15)

Resultado

| Tagged , , ,
256 views

Estatística &R-Project &Six Sigma André Dourado em 27 Nov 2012

“Six Sigma” utilizando o software estatístico “R” – Parte 6 (Histograma)

Conheça meu novo blog, clicando aqui. Trato de assuntos da área de TI, como COBIT, ITIL, MPSBR, CMMI, Scrum etc, de uma forma prática.

Histograma

Código Exemplo


###################################################
### Le dados dos arquivos
###################################################
# dados <- read.table("c:\\expressoes.txt", sep = "\t", dec=".", header=T) # Arquivo local dados <- read.table("http://adsystemsblog.audits.com.br/sixsigma/expressoes.txt", sep = "\t", dec=".", header=T) ################################################### ### Dados ################################################### dados <- t(dados) dadosx <- as.numeric(dados[2,1:ncol(dados)]) ################################################### ### Define parâmetros gerais ################################################### par(mar=c(5, 5, 5, 3)) # Margens do gráfico par(bg="#F1ECE2") # Cor do fundo par(family="Arial") # True type font ################################################### ### Plota gráfico ################################################### hist(dadosx,br=20,xlab="Expressão",ylab="Frequência",freq=FALSE,main="Histograma da Expressão") ################################################### ### Muda a cor do fundo do gráfico para branco ### e volta a imprimir o gráfico e demais linhas ################################################### x<-par("usr") rect(x[1],x[3],x[2],x[4],col="white") hist(dadosx, br=20, freq=FALSE, add = TRUE, col="blue") lines(density(dadosx),col="red", lwd=3) box("figure", col="#DDDDDD", lwd=15)

Resultado


| Tagged , ,
66 views

Próxima Página »»