A matriz RACI e um conceito que e utilizado no PMBOK e COBIT que a ITIL tambem adotou como melhores praticas, porque e uma ferramenta simples e util para formalizar os papeis e responsabilidades durante um projeto.Essa matriz serve para definir as responsabilidades e os papeis envolvidos no processo. RACI e um acronimo para Responsible, Accountable, Consulted e Informed. Ou seja, ela permite identificar quem e executor, responsavel, consultado e informado para cada tarefa que precisar ser realizada.Antes de fazer a matriz e preciso identificar os papeis envolvidos nas atividades, identificar os Accountable que tera por atividade, pois so pode ter um por tarefa.Segundo o modelo RACI, podem ter quatro responsabilidades a serem delegadas, sao elas:Responsible: sera cobrado pela execucao da tarefa, garantindo que a tarefa foi feita;Accountable: tera prioridade sobre a atividade e responde pelos resultados. Deve existir apenas um por processo;Consulted: sera consultado para fornecer conselhos e autorizacao em determinadas tarefas;Informed: sera informado sobre o progresso. Diretor Gerente Analista Testador Definicao C R/A I I Projetar I R/A R I Desenvolver I R A I Testar I R I A No simples exemplo acima, foi construida uma matriz RACI com as responsabilidades de uma pequena equipe que vai desenvolver um novo produto de software. O operador yield existe desde o framework 2.0 e ate hoje e um pouco desconhecidos entre os desenvolvedores C#. Sua utilizacao e basicamente nos metodos que retornam tipos IEnumerable sendo generico ou nao, ajudando no preenchimento das colecoes de forma rapida e economizando recurso. Utilizando o yield, voce nao precisa criar uma lista para preenchimento e depois retorna-la.Voce pode preencher uma colecao criando uma variavel no metodo e adicionando valor a ela dentro do loop: private List<Int32> retornaColecaoInteiros() { List<Int32> minhaLista = new List<int>(); for (int i = 0; i < 10; i++) { minhaLista.Add(i); } return minhaLista; }Ou simplesmente com a ajuda do yield preencher sua colecao, podendo ser generico ou nao: private IEnumerable<Int32> retornaColecaoInteiros() { for (int i = 0; i < 10; i++) yield return i; } private IEnumerable retornaColecaoInteiros() { for (int i = 0; i < 10; i++) yield return i; }O modo generico do IEnumerable permiti voce retornar uma colecao de qualquer tipo, de qualquer objeto. Classe base: public class Table { public String Descricao { get; set; } }Preenchendo com yield: /// /// Preenche a Colecao de Tabelas /// /// /// private IEnumerable<Table> fillTables(Int32 quantidade) { for (int i = 0; i < quantidade; i++) { Table tables = new Table(); tables.Descricao = "MinhaTabela " + i.ToString() ; yield return tables; } } O nosso cliente nao quer um servico ou um produto, ele quer uma solucao para resolver uma necessidade especifica. Pensando dessa forma, precisamos saber qual sera a melhor solucao para o nosso cliente, porque o servico serve como meio para que o cliente satisfaca a sua necessidade, logo precisamos saber o que ele necessita para prestar a melhor solucao. A unica forma de fazer isso e com recursos suficientes somado a boas habilidades para gerar valor ao servico, entregando servicos adequados.Para trabalhar com a estrategia e