terça-feira, maio 10, 2022

10 livros imperdíveis para Product Owners




Livros para Product Owners

1. A Startup Enxuta (Eric Ries) O Lean Startup revolucionou a maneira de construir um negócio, tornando muito mais barato e rápido, através de validação de hipóteses. O autor descreve um plano para que cada um possa executar os princípios fundamentais de Lean Startup em qualquer ambiente. 2. Running Lean (Ash Maurya) Descubra como criar um processo sistêmico para validar rapidamente as novas ideias de produtos e aumentar as suas chances de ter sucesso. 3. How to measure anything (Douglas W. Hubbard) Como medir coisas em seu negócio, que até agora, você considerava como “imensurável”, incluído satisfação do cliente, flexibilidade organizacional, risco e ROI de tecnologia. 4. Value Proposition Design (Osterwalder Alex, Pigneur Yves e Bernarda Greg) Os autores explicam como aproveitar o “Canvas da Proposta de Valor” para desenvolver, testar, lançar e gerenciar os produtos e serviços que se adaptam às necessidades dos clientes. 5. The Lean Product Playbook (Dan Olsen) Um guia passo-a-passo, utilizando princípios do Lean Startup para ajudá-lo a desenvolver o produto certo. 6. Strategize (Roman Pichler) Pichler fornece orientações essenciais para criar estratégias e roadmaps para aumentar suas chances de criar produtos bem sucedidos na era digital. 7. Lean Customer Development (Cindy Alvarez) Evite perder tempo e dinheiro desenvolvendo um produto ou serviço que ninguém precisa, através de entrevistas abertas e técnicas de pesquisas rápidas. 8. Lean Analytics (Alistair Croll e Benjamin Yoskovitz) O maior risco que você pode ter é construir algo que ninguém quer. Neste livro, os autores trazem uma abordagem prática para validar se um problema é real, encontrar os clientes certos e decidir o que construir. 9. Do sonho a realização em 4 passos (Steven G. Blank) O autor escreve passo a passo uma estratégia amplamente testada por empreendedores em diversos países para estruturar vendas, marketing e o desenvolvimento de negócios de um novo produto ou empresa. 10. Scrum – Gestão Ágil para Projetos de Sucesso (Rafael Sabbagh) Rafael Sabbagh descreve diversas práticas de Scrum que podem ajudar as organizações a entregar valor frequentemente para seus clientes, reduzindo desperdício e aumentando a qualidade, visibilidade e produtividade.
Como você pode perceber, esses livros são essenciais para tornar o seu trabalho de gestão de produtos ainda mais estratégico, efetivo e bem-sucedido. São leituras repletas de dicas e insights valiosos, que certamente trarão conhecimentos úteis para o trabalho de Product Owners.

Livro bônus para PO trabalhar com time Home Office --> Effective Remote Work: For Yourself, Your Team, and Your Company

segunda-feira, março 14, 2022

Changing default load balance settings nginx in elastic beanstalk


Scenario

imagine a .net core api hosted on linux that needs to upload files from 6 to 10 Mb (considering the resolution of the cell phone cameras is still very little).

You prepare your beanstalk environment, connect to the instance via terminal and adjust the nginx.conf to support files larger than 10 megs from the client-max-body-size property to the size you see fit.

However, with each new deployment of your API, the nginx settings go back to the initial default, losing its configuration.

The solution is to create a structure within your api project and create a configuration file with just the parameters you need to adjust, the structure should look like this:

-->.ApiProject\.platform\nginx\conf.d\elasticbeanstalk\proxy.conf



Don't forget to configure so that this file is always present in the release:



terça-feira, novembro 23, 2021

NLOG - Archieve - Changing the name of the file to be compressed

In a given scenario I needed to keep the log name, however, when compressing I needed to change the file name. The easiest way to do this is to change NLog.Targets.FileTarget.FileCompressor, remembering that it is a static attribute and will affect all other logs. 1. Create a class with IFileCompresso interface with you logic, in my case I set the name iquals to zip file but .txt at the end. 

using NLog.Targets;
using System.IO;
using System.IO.Compression;

namespace LogManager
{
    internal class MyZipFileCompressor : IFileCompressor
    {        
        internal MyZipFileCompressor () { }

        public void CompressFile(string fileName, string archiveFileName)
        {
           
            string entryName =  Path.GetFileNameWithoutExtension(archiveFileName) +".txt";
            using (var archiveStream = new FileStream(archiveFileName, FileMode.Create))
            using (var archive = new ZipArchive(archiveStream, ZipArchiveMode.Create))
            using (var originalFileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
            {
                var zipArchiveEntry = archive.CreateEntry(entryName);
                using (var destination = zipArchiveEntry.Open())
                {
                    originalFileStream.CopyTo(destination);
                }
            }

        }
    }

}

//when you start your Target juset set your compressor
 _logFileTarget.FileCompressor = new MyZipFileCompressor ();

quarta-feira, maio 12, 2021

Sua reunião vai começar logo mais!
























Aquele barulhinho que sempre te deixa preocupado para terminar o que está fazendo e se preparar para mais "outra" reunião!

segunda-feira, março 29, 2021

Empatia versus Indiferença: Como se conectar com alguém de forma autêntica



 A palavra "empatia" vem da palavra alemã "einfühlung" e significa "sentimento" ou, quando traduzido de forma mais livre, "sentimento nos outros". Examinar a origem dessa palavra é um ótimo ponto de partida para uma discussão sobre como se conectar de forma mais autêntica com outras pessoas e estabelecer relacionamentos mais íntimos. Ter empatia sugere um movimento para longe de si mesmo e em direção aos outros. Refere-se a um traço ou habilidade que requer a compreensão das emoções de outras pessoas ou se colocar no lugar de outra pessoa. Algumas pessoas precisarão fazer mais esforço mental do que outras para serem empáticas. Para aqueles que suspeitam que não têm empatia, a chave para melhorar é cuidar. 
É por isso que a indiferença é o outro lado da moeda da empatia.


O gatilho da infelicidade da indiferença

A indiferença está perto da apatia, a sensação de não estar interessado. Se você é indiferente, você não se importa de qualquer maneira. Uma tendência moderna para o egoísmo, telas e mídias sociais narcisistas exacerbou esse gatilho de infelicidade. Ao ignorar, bloquear, envergonhar ou dispensar pessoas com pontos de vista diferentes dos nossos, diminuímos nossa capacidade de ver as pessoas inteiras e nos conectar com elas. Limitamos o quanto podemos aprender com eles.


Empatia vs. Simpatia

Empatia não deve ser confundida com simpatia, que é semelhante, mas tende a envolver pena de alguém. A empatia não julga. Quer você seja um líder ou esteja procurando melhorar seus relacionamentos pessoais, ser capaz de compreender os outros sem julgamento é útil.


O poder da empatia

Um dos principais benefícios de ser empático é que você terá menos probabilidade de demitir pessoas. Se alguém tem um ponto de vista com o qual você discorda - digamos, você tem um chefe pratica com ênfase o microgerenciamento de todas as suas atividades, e isso o deixa louco - ser empático pode ajudá-lo a vê-lo como uma pessoa completa, com experiências de vida que podem ter moldado seus hábitos. Essa capacidade de ver uma pessoa inteira permite que você se envolva de maneira mais eficaz, de modo que possa ter relacionamentos mais significativos e honestos e uma comunicação clara.

Com empatia, você valoriza as outras pessoas e suas opiniões sem precisar concordar. É uma atitude construtiva e positiva sobre a qual você pode construir acordos, negócios e relacionamentos.

O exercício de agir com inteligência emocional irá melhorar suas principais habilidades empáticas, que são:

• Evitar julgar os outros.

• Buscar as perspectivas dos outros.

• Comunicar o que você entende que os outros estão sentindo.

O aprimoramento de suas habilidades empáticas requer prática. Ninguém acerta todas as vezes. Como outros tipos de educação e treinamento, aprender a ser mais empático exige esforço e leva a recompensas.


Desenvolvendo Empatia

Você não precisa ter tido as mesmas experiências que outra pessoa para ter empatia por ela. Em vez disso, use suas emoções. A maioria das pessoas experimentou alegria, medo, dor, tristeza e desespero. Se pudermos voltar para dentro de nós mesmos até o momento em que sentimos emoções específicas, podemos usar esses sentimentos para compreender melhor os outros e nos conectar com eles. Podemos preencher a lacuna às vezes artificial entre nós e os outros, estando cientes de nossas emoções.


Passos práticos para melhorar a empatia

Falar com estranhos. Adquira o hábito de falar com pessoas que você não conhece. Isso ajudará a expô-lo a novas experiências de vida e pontos de vista menos familiares. As melhores conversas serão com pessoas com quem você normalmente não se associa. Isso tornará a empatia mais desafiadora. Assim como acontece com o exercício de um músculo, sua capacidade de empatia melhorará, mesmo se você não tiver sucesso no início.

Experimente ouvir com empatia. Isso significa sair do caminho e permitir que alguém fale. É um equilíbrio entre ouvir atentamente e responder apenas o suficiente para mostrar que você está interessado e deseja que continuem. O segredo é fazer pequenas perguntas e deixar a outra pessoa se abrir. Se você estiver sendo empático, verá a luz nos olhos da outra pessoa ao receber suas histórias.

Para ouvir verdadeiramente desta forma, você precisa fazê-lo sem preconceitos, noções preconcebidas ou desenvolver opiniões. Se você concordar, discordar, persuadir, debater ou compartilhar suas próprias histórias, não estará mais ouvindo com empatia. Enquanto você escuta, não julgue. Em vez disso, considere como seria ser a outra pessoa. Um mantra para desenvolver empatia poderia ser: "Não se trata de você."

Pratique a humildade. Por ser humilde, você se concentrará no exterior, o que o tornará menos propenso a colorir o que ouve e vê com noções preconcebidas. Você terá a oportunidade de obter uma imagem precisa do que está acontecendo porque está totalmente engajado com a outra pessoa.

Seja honesto. Se você descobrir que não consegue compreender o que outra pessoa está sentindo, não há problema em dizer isso. É melhor dizer que você não consegue entender o que eles estão sentindo do que fingir ou oferecer um chavão.

A menos que haja um problema psiquiátrico ou doença envolvida, empatia e indiferença são escolhas. A indiferença é a escolha que limita. Fecha as portas que a vida tenta abrir. Não se importar pode proteger as pessoas de uma dor potencial, mas também as afasta de oportunidades. O desenvolvimento pessoal requer investimento emocional no processo e em outros.

Recorra à empatia como uma força positiva e poderosa. A empatia ajuda as pessoas a se sentirem compreendidas, o que é uma necessidade humana básica, permitindo que nos conectemos sem julgamento. Isso cria um ciclo de feedback positivo que transformará sua vida. Por sua vez, também pode transformar a vida de seus colegas, amigos e familiares. 


Tradução livre da matéria da Forbes https://www.forbes.com/sites/forbescoachescouncil/2021/03/16/empathy-vs-indifference-how-to-attract-opportunities-and-connect-with-others-authentically/?sh=258e12f8723d


quarta-feira, março 24, 2021

Computadores vão ler o seu cérebro enquanto você lê isso


O que está acontecendo em seu cérebro enquanto você rola por esta página? Em outras palavras, quais áreas de seu cérebro estão ativas, quais neurônios estão falando com quais outros e que sinais eles estão enviando para seus músculos?

Mapear a atividade neural para comportamentos correspondentes é um objetivo principal para os neurocientistas que desenvolvem interfaces cérebro-máquina (IMC): dispositivos que leem e interpretam a atividade cerebral e transmitem instruções para um computador ou máquina. Embora isso possa parecer ficção científica, os IMC existentes podem, por exemplo, conectar uma pessoa paralisada com um braço robótico; o dispositivo interpreta a atividade neural e as intenções da pessoa e move o braço robótico de maneira correspondente.

Uma das principais limitações para o desenvolvimento de IMC é que os dispositivos requerem cirurgia invasiva do cérebro para ler a atividade neural. Mas agora, uma colaboração na Caltech desenvolveu um novo tipo de IMC minimamente invasivo para ler a atividade cerebral correspondente ao planejamento do movimento. Usando a tecnologia de ultrassom funcional (fUS), ele pode mapear com precisão a atividade cerebral de regiões precisas dentro do cérebro com uma resolução de 100 micrômetros (o tamanho de um único neurônio é de aproximadamente 10 micrômetros).

A nova tecnologia fUS é um passo importante na criação de IMCs menos invasivos, mas ainda assim altamente capazes.

"Formas invasivas de interfaces cérebro-máquina já podem devolver o movimento àqueles que o perderam devido a lesões neurológicas ou doenças", disse Sumner Norman, pós-doutorado no laboratório Andersen e co-autor do novo estudo. "Infelizmente, apenas alguns selecionados com paralisia mais grave são elegíveis e desejam ter eletrodos implantados em seus cérebros. O ultrassom funcional é um novo método incrivelmente empolgante para registrar a atividade cerebral detalhada sem danificar o tecido cerebral. Nós ultrapassamos os limites da neuroimagem por ultrassom e Ficamos entusiasmados por poder prever o movimento. O mais empolgante é que a FUS é uma técnica jovem com enorme potencial - este é apenas nosso primeiro passo para levar um IMC de alto desempenho e menos invasivo para mais pessoas. "

O novo estudo é uma colaboração entre os laboratórios de Richard Andersen, James G. Boswell Professor de Neurociência e Cadeira de Liderança e diretor do Tianqiao e Chrissy Chen Brain-Machine Interface Center no Tianqiao e Chrissy Chen Institute for Neuroscience em Caltech; e de Mikhail Shapiro, professor de engenharia química e Investigador do Heritage Medical Research Institute. Shapiro é um membro do corpo docente afiliado ao Instituto Chen.

Um artigo descrevendo o trabalho foi publicado na revista Neuron em 22 de março.

Em geral, todas as ferramentas para medir a atividade cerebral têm desvantagens. Eletrodos implantados (eletrofisiologia) podem medir com muita precisão a atividade no nível de neurônios individuais, mas, é claro, exigem o implante desses eletrodos no cérebro. As técnicas não invasivas, como a imagem por ressonância magnética funcional (fMRI), podem gerar imagens de todo o cérebro, mas requerem maquinários volumosos e caros. A eletroencefalografia (EEGs) não requer cirurgia, mas só pode medir a atividade em baixa resolução espacial.

O ultrassom funciona emitindo pulsos de som de alta frequência e medindo como essas vibrações sonoras ecoam em uma substância, como em vários tecidos do corpo humano. O som viaja em velocidades diferentes através desses tipos de tecido e se reflete nas fronteiras entre eles. Essa técnica é comumente usada para obter imagens de um feto no útero e para outros diagnósticos por imagem.

O ultrassom também pode "ouvir" o movimento interno dos órgãos. Por exemplo, os glóbulos vermelhos, como uma ambulância que passa, aumentam de intensidade à medida que se aproximam da fonte das ondas de ultrassom e diminuem à medida que desaparecem. Medir esse fenômeno permitiu aos pesquisadores registrar pequenas mudanças no fluxo sanguíneo do cérebro até 100 micrômetros (na escala da largura de um cabelo humano).

“Quando uma parte do cérebro se torna mais ativa, há um aumento no fluxo sanguíneo para a área. Uma questão-chave neste trabalho era: se tivéssemos uma técnica como o ultrassom funcional que nos fornecesse imagens de alta resolução da dinâmica do fluxo sanguíneo do cérebro no espaço e ao longo do tempo, há informações suficientes dessa imagem para decodificar algo útil sobre o comportamento? " Shapiro diz. "A resposta é sim. Essa técnica produziu imagens detalhadas da dinâmica dos sinais neurais em nossa região-alvo que não podiam ser vistas com outras técnicas não invasivas como fMRI. Produzimos um nível de detalhe que se aproxima da eletrofisiologia, mas com uma abordagem muito menos invasiva procedimento."

A colaboração começou quando Shapiro convidou Mickael Tanter, um pioneiro em ultrassom funcional e diretor da Física para a Medicina de Paris (ESPCI Paris Sciences et Lettres University, Inserm, CNRS), para dar um seminário no Caltech em 2015. Vasileios Christopoulos, um antigo laboratório de Andersen bolsista de pós-doutorado (agora professor assistente na UC Riverside), participou da palestra e propôs uma colaboração. Shapiro, Andersen e Tanter então receberam uma bolsa da Iniciativa NIH BRAIN para prosseguir com a pesquisa. O trabalho na Caltech foi liderado por Norman, ex-colega de pós-doutorado do Shapiro lab David Maresca (agora professor assistente na Delft University of Technology), e Christopoulos. Junto com Norman, Maresca e Christopoulos são os co-autores do novo estudo.

A tecnologia foi desenvolvida com a ajuda de primatas não humanos, que foram ensinados a fazer tarefas simples que envolviam mover os olhos ou os braços em certas direções quando apresentados a certas pistas. À medida que os primatas completavam as tarefas, o fUS mediu a atividade cerebral no córtex parietal posterior (PPC), uma região do cérebro envolvida no planejamento do movimento. O laboratório Andersen estudou o PPC por décadas e já havia criado mapas da atividade cerebral na região usando eletrofisiologia. Para validar a precisão do fUS, os pesquisadores compararam a atividade de imagens cerebrais do fUS com dados eletrofisiológicos detalhados obtidos anteriormente.

Em seguida, com o apoio do Centro de Interface Cérebro-Máquina T&C Chen da Caltech, a equipe teve como objetivo ver se as mudanças dependentes da atividade nas imagens fUS poderiam ser usadas para decodificar as intenções do primata não humano, mesmo antes de iniciar um movimento. Os dados de imagem de ultrassom e as tarefas correspondentes foram então processados ​​por um algoritmo de aprendizado de máquina, que aprendeu quais padrões de atividade cerebral se correlacionam com quais tarefas. Depois que o algoritmo foi treinado, foram apresentados dados de ultrassom coletados em tempo real dos primatas não humanos.

O algoritmo previu, em poucos segundos, que comportamento o primata não humano iria realizar (movimento ou alcance dos olhos), direção do movimento (esquerda ou direita) e quando planejava fazer o movimento.

“O primeiro marco foi mostrar que o ultrassom pode captar sinais cerebrais relacionados à ideia de planejar um movimento físico”, diz Maresca, que tem expertise em ultrassom. "A imagem de ultrassom funcional consegue registrar esses sinais com 10 vezes mais sensibilidade e melhor resolução do que a ressonância magnética funcional. Esta descoberta está no cerne do sucesso da interface cérebro-máquina com base no ultrassom funcional."

"As atuais interfaces cérebro-máquina de alta resolução usam matrizes de eletrodos que requerem cirurgia cerebral, que inclui a abertura da dura-máter, a forte membrana fibrosa entre o crânio e o cérebro, e a implantação de eletrodos diretamente no cérebro. Mas os sinais de ultrassom podem passar pelo dura e cérebro de forma não invasiva. Apenas uma pequena janela transparente para o ultrassom precisa ser implantada no crânio; esta cirurgia é significativamente menos invasiva do que a necessária para implantar eletrodos ", diz Andersen.

Embora esta pesquisa tenha sido realizada em primatas não humanos, uma colaboração está em andamento com o Dr. Charles Liu, um neurocirurgião da USC, para estudar a tecnologia com voluntários humanos que, por causa de lesões cerebrais traumáticas, tiveram um pedaço de crânio removido. Como as ondas de ultrassom podem passar sem ser afetadas por essas "janelas acústicas", será possível estudar como o ultrassom funcional pode medir e decodificar a atividade cerebral nesses indivíduos.

O artigo é intitulado "Decodificação de tentativa única de intenções de movimento usando neuroimagem de ultrassom funcional." Outros co-autores são o estudante de graduação da Caltech Whitney Griggs e Charlie Demene da Universidade de Paris Sciences et Lettres e o INSERM Technology Research Accelerator in Biomedical Ultrasound em Paris, França. O financiamento foi fornecido por uma bolsa de pós-doutorado Della Martin, uma bolsa de pós-doutorado interdisciplinar do Human Frontiers Science Program, o UCLA – Caltech Medical Science Training Program, o National Institutes of Health BRAIN Initiative, o Tianqiao e Chrissy Chen Brain-Machine Interface Center, o Fundação Boswell e Instituto de Pesquisa Médica Heritage.


Tradução livre do artigo: https://www.caltech.edu/about/news/reading-minds-with-ultrasound-a-less-invasive-technique-to-decode-the-brains-intentions


segunda-feira, janeiro 04, 2021

Fale com os mortos, ou a simulação deles!



O jeitão como a IA aprende é semelhante a como os humanos aprendem - alimente-a com informações e ela pegará essas informações e tomará decisões com base nelas. 

É útil porque os computadores podem trabalhar mais rápido do que os humanos e conseguem ser mais objetivos nas informações, mas também é um pouco assustador quando você pensa sobre para que mais eles podem ser usados. 

Na verdade, a Microsoft está apostando que a IA posa ser usada para imitar uma pessoa específica, a empresa comprou uma patente que se propõe a fazer um chatbot que poderia falar como um morto por exemplo, ou com um vivo clonado mesmo.

De acordo com a descrição da patente, “Em alguns aspectos, dados sociais (por exemplo, imagens, dados de voz, postagens em mídias sociais, mensagens eletrônicas, cartas escritas, etc.) sobre a pessoa específica podem ser acessados. Os dados sociais podem ser usados ​​para criar ou modificar um índice especial no tema da personalidade de uma pessoa específica. ”

Já nos deparamos com vários casos no passado em que contas de mídia social foram hackeadas e usadas para enviar spam ou links maliciosos, mas às vezes é bastante óbvio que a pessoa não é quem diz ser. No entanto, usando IA e alimentando-a com informações, isso pode levar a níveis de roubo de identidade da próxima geração.

Pode ser um pouco nostálgico poder “falar” com um ente querido morto online, onde o chatbot pode imitar essa pessoa de forma realista, mas ainda parece meio estranho e um pouco errado. Mas... para os incuráveis de um luto, pode amenizar a saudade. 

As informações são do site Inputmag.


quarta-feira, dezembro 02, 2020

Impressão 3D de ossos e outras coisas

 Preocupados com as consequências do efeito de longa exposição no espaço em uma viagem a Marte, cientistas apostam na impressão 3D de ossos, pele outros tecidos!



Fonte: Singularity Hub

sexta-feira, novembro 06, 2020

Cache simples de 12h .net core

Declare um semáforo

static SemaphoreSlim _semaphoreSlim = new SemaphoreSlim(1, 1);

Busque a informação no cache

var users = _memoryCache.Get<IEnumerable<UserModel>>("_Users");

Se não achar no cache, consuma o serviço e armazene no cache

if (users == null)

{

await _semaphoreSlim.WaitAsync();

var response = await _httpClient.GetAsync($"/api/v2/user/");

var stringResponse = await response.Content.ReadAsStringAsync();

if (response.IsSuccessStatusCode)

{

users = JsonConvert.DeserializeObject<IEnumerable<UserModel>>(stringResponse);

var cacheOptions = new MemoryCacheEntryOptions()

.SetSlidingExpiration(TimeSpan.FromHours(12));

_memoryCache.Set("_Users", users, cacheOptions);

}

_semaphoreSlim.Release();

}


Para reload basta refazer o cache

var users = JsonConvert.DeserializeObject<IEnumerable<UserModel>>(stringResponse);
var cacheOptions = new MemoryCacheEntryOptions()
.SetSlidingExpiration(TimeSpan.FromHours(12));
_memoryCache.Set("_Users", users, cacheOptions);



sábado, julho 27, 2019

Empresas movidas por IA


Empresas movidas por IA



IA está remodelando negócios em ritmo modesto
IA já orienta decisões dos seus concorrentes
Tecnologias que possibilitam IA avançam a passos largos
Estimativa de alto investimento na próxima década
Mesmo assim apenas 8% das empresas adotam de forma generalizada IA e analytics. Focam apenas em projetos-pilotos ad hoc ou em apenas um único processo de negócio. Geralmente por barreiras culturais e organizacionais.
How to:

Para escalar a IA, as empresas devem promover três mudanças:




  1. Do trabalho em silos à colaboração interdisciplinar.
    Impacto maior quando desenvolvida por equipes multifuncionais com ampla variedade de habilidades e perspectivas. Comercial e operação tem que trabalhar lado a lado com especialistas de analytics. Quando equipes de desenvolvimento envolvem os usuários finais no projeto de aplicativos, as chances de adoção de IA aumentam drasticamente.
  2. Da tomada de decisão conduzida pelo líder com base na experiência à tomada de decisão na linha de frente com base em dados.
    Pessoas de todos os níveis precisam confiar nas sugestões dos algorítimos e se sentir fortalecidas para tomada de decisão, nada de top-down. Se os funcionários tiverem de consultar um superior antes de agir, isso inibirá o uso de IA.
  3. Da rigidez e aversão ao risco para a mentalidade ágil, experimental e adaptável.
    Não espere que uma ideia esteja 100% elaborada com todos os detalhes prontos antes de ser aplicada. Reduza o medo do fracasso, veja os erros como fontes de descobertas, obtenha feedbacks antecipados dos usuários e incorpore a próxima versão, isso reduz o risco de problemas futuros e financeiramente dispendiosos. Essa mentalidade vai permitir que pequenas equipes de IA criem MVPs em questões de semanas, em vez de meses.

Preparando o terreno


Como nem todas as empresas nascem digitais, é preciso remover algumas objeções comuns quando falamos de automação e inteligencia artificial, pois o medo de que a IA roube empregos aumenta a resistência dos funcionários a ela.

Como remover as principais objeções

  1. Apresentar uma visão que una todos a um objetivo comum e como eles se encaixam em uma nova cultura orientada pela IA, se adaptando ao uso e não serem substituídos por ela.
  2. Mostrando que existe uma ameaça com a transformação digital dos concorrentes e como a IA pode ajudá-los a se defender, melhorando a eficiência operacional e a capacidade de resposta da empresa — um grito de guerra na luta pela sobrevivência e o papel fundamental dos funcionários.
  3. Compartilhar visão, destacar os funcionários que pilotarem ferramentas novas de IA que ajudam a otimizar os resultados e aumento de receita. Isso inspira outros funcionários a imaginar como aumentar e elevar seus desempenhos.
  4. Antecipe barreiras à mudança. Alguns obstáculos, como o medo dos funcionários de se tornarem obsoletos, são comuns nas empresas. Mas a cultura de determinada empresa pode ter características peculiares que aumentam a resistência. Por exemplo, se os gestores de relacionamento de uma empresa se orgulham de estar sintonizados com o cliente, podem rejeitar a noção de que uma máquina tenha ideias melhores do que eles e ignorar as recomendações personalizadas de produtos da ferramenta de IA. E gestores em grandes empresas que acreditam que seu status é baseado no número de pessoas que eles supervisionam podem se opor à tomada de decisão descentralizada ou à redução de subordinados permitidos pela IA.
  5. Usar especialistas, os tradutores de analytics para ajudar na identificação de obstáculos. Essas pessoas fazem a ponte entre o pessoal dos negócios — marketing, cadeia de suprimentos, manufatura, riscos e assim por diante — e os engenheiros de dados e cientistas da área técnica. Os tradutores ajudam a garantir que os aplicativos de IA desenvolvidos atendam às necessidades comerciais e que a adoção ocorra sem problemas. No início do processo de implementação, eles podem pesquisar usuários finais, observar seus hábitos e estudar workflows para diagnosticar e corrigir problemas.

Segundo pesquisa realizada pelo McKinsey, quase 90% das empresas que adotaram práticas bem-sucedidas de aumento de escala gastaram mais de metade de seus orçamentos de analytics em atividades que impulsionaram a adoção, como reelaboração do workflow, comunicação e treinamento.



Fiz essa resenha baseada na matéria “Como construir uma empresa movida pela IA” da edição de julho da revista HBR, escrita por Tim Fountaine, Brian McCarthy e Tamim Saleh, se quiserem aprofundar mais no assunto de como organizar sua empresa por IA entre em contato!

terça-feira, novembro 28, 2017

Validar Contas Bancárias

Pra quem tem problemas para validar contas bancárias, ai vai uma boa dica em C#

 https://github.com/neperz/ValidarContaBancariaBR
  [TestMethod()]
        public void BancoDoBrasilCheckNumberCalculatorTest()
        {
            var nCodBanco = "070";

            var nAgencia = "057";
            var dvAgencia = "";

            var nConta = "032830";
            var dvConta = "6";

            var ValidadorDeConta = new BankAccount();
            ContaBanco contaBanco = new ContaBanco
            {
                accountCheckNumber = dvConta,
                accountNumber = nConta,
                agencyCheckNumber = dvAgencia,
                agencyNumber = nAgencia,
                bankNumber = nCodBanco
            };
            var nb = ValidadorDeConta.validate(contaBanco);

         
            Assert.AreEqual(true, nb.valido);

        }

terça-feira, outubro 11, 2016

High stakes

High stakes, esse termo reflete bem o que tenho passado nessa fase da minha vida.

Virei vegano, mudei completamente minha alimentação e a forma como encaro tudo que como.

Criei rituais matinais como sorrir no espelho de cócoras, tomar suco de limão com casca e sal do Himalaia e tomo café com óleo de coco e uma colher de sopa de manteiga!

Comecei a meditar todo dia pela manhã e estou começando a escrever sobre a fases da minha própria vida com técnicas de storytelling de 3 atos, tramas, clímax, viradas de jogo, desfechos etc.


Não sou totalmente responsável pelas minhas atuais experiências, confesso que escolhi algumas pessoas como mentores e estou provando de cada técnica para tentar chegar na opção mais adequada com a estrada que estou criando.
Não sei aonde vai terminar essa jornada mas sei que me sinto melhor do que eu era antes.



terça-feira, fevereiro 24, 2015

Termo de abertura do projeto – Ferramentas,Técnicas e Saídas

De posse dos documentos e informações listadas no post anterior sobre o termo de abertura, podemos partir para as ferramentas e técnicas para desenvolver o termo de abertura.
Uma das ferramentas indicadas neste processo é chamada de “Opinião Especializada”, esta ferramenta é citada em 28 dos 47 processos e basicamente se trata do resultado de consultas individuais ou em formato de painel por meio de discursões de grupo, pesquisa de opinião e ou contratação de consultoria externa para ajuda no desenvolvimento do termo, ou seja, faça o que você faz de melhor, terceirize o resto.
A segunda ferramenta indicada pelo PMI para composição do termo de abertura são as Técnicas de facilitação, são as técnicas usadas para tornar as reuniões mais eficientes, deixando claro o objetivo da reunião, mantendo o foco para atender o objetivo, estimulando a participação e garantindo que as decisões tomadas estejam coerentemente documentadas e executadas.
O Básico da estrutura do Termo de Abertura seria:
  • Título do projeto;
  • Resumo das condições que definem o projeto (introdução);
  • Nome do gerente do projeto e suas responsabilidades e autoridades;
  • Necessidades básicas do trabalho a ser realizado;
  • Descrição do produto do projeto;
  • Cronograma Básico do Projeto;
  • Estimativas iniciais de custo;
  • Necessidades iniciais de recursos;
  • Necessidade de suporte pela organização;
  • Controle e gerenciamento das informações do projeto;
  • Aprovações com assinatura do executivo responsável pelo documento (elemento externo ao projeto)
Modelo de Termo de abertura:

segunda-feira, fevereiro 23, 2015

Integração – 4.1 Desenvolver o termo de abertura do projeto - Entradas

O termo de abertura do projeto é na minha visão é o documento que autoriza o projeto, é um documento que basicamente vai conter um conjunto de dúvidas, questões e colocações, desejos do patrocinador sobre o projeto e que só vão ser detalhadas/respondidas pela equipe e pelo gerente de projeto na declaração do escopo. No decorrer do projeto muitas fases começam a depender uma da outra e a ordem em que isso ocorre pode não ter uma regra forte, como a mudança de um plano durante a execução por meio dos controles e monitoramento, porem o termo de abertura é único e não costuma se alterado durante as outras fases, é dado como o primeiro passo para o início do projeto.
Neste resumo vou falar um pouco sobre as principais fontes de informação para a confecção do termo de abertura ou seja, a Especificação do trabalho do projeto, Business case, regras e restrições Contratuais, fatores ambientais da empresa e os ativos de processos organizacionais.
A Especificação do trabalho do projeto é a descrição dos produtos ou serviços que serão fornecidos pelo projeto. Para projetos internos, o indicador ou patrocinador do projeto fornece esse documento com base nas necessidades de negócios e requisitos. Para projetos externos a especificação do trabalho do projeto pode ser recebida do cliente como parte de um documento de licitação. Deve constar no documento “Necessidade de negócios” e “Descrição do escopo”. Este documento deve fornecer informação suficiente para o vendedor criar e especificar uma proposta comercial.
Modelo do documento de Especificação do trabalho do projeto: http://escritoriodeprojetos.com.br/SharedFiles/Download.aspx?pageid=18&mid=24&fileid=73
Outra entrada para a construção do termo de abertura é um documento chamado Business case, este documento deve fornecer as informações necessárias do ponto de vista de um negócio, para determinar se o projeto justifica ou não o investimento. Deve conter a necessidade de negócios e a análise de custo benefício para justificar o projeto.
Modelo: http://escritoriodeprojetos.com.br/SharedFiles/Download.aspx?pageid=18&mid=24&fileid=17
Acordos/contratos, se aplica quando o projeto está atrelado a algum acordo contratual existente, são requisitos, termos e condições que devem ser acatadas no projeto.
Fatores Ambientas, estrutura organizacional, capacidade de recursos humanos, e as próprias políticas estabelecidas por um eventual Escritório de Projetos, bases de riscos, concorrentes, regulamentações, padrões de indústria, políticas governamentais, marketing e qual quer outro item que esteja atrelado ao ambiente onde o projeto deve se desenvolver.
Ativos de processos organizacionais, são políticas, procedimentos, modelos, principais projetos, portais de intranet, documentos de projetos anteriores, lições aprendidas e todo e qual quer documento existente na empresa que tenha alguma utilidade no projeto.
O termo de abertura do projeto é apenas a ponta do iceberg no guia do PMI, ao todo são 47 processos, cada um com suas entradas ferramentas e saídas, no próximo post vou dissecar as ferramentas para construção do termo de abertura e comentar um pouco sobre a estrutura do documento. Até breve.
*Os links contidos neste post são de autoria do site http://escritoriodeprojetos.com.br uma boa fonte de estudo sobre o tema!

sexta-feira, fevereiro 13, 2015

Gerenciamento de Projetos

Sobre o Gerenciamento de Projetos




Estou as voltas com uma matéria de muito apreço que pude ter contato em meu curso de pós graduação e em alguns anos conduzindo projetos de TI, o Gerenciamento de Projetos.
Durante este ano de 2015 muito provavelmente terei novos desafios envolvendo o tema. Aproveito o momento oportuno para usar este espaço para criar algumas postagens sobre esse assunto tão importante para a maioria das empresas, sejam públicas ou privadas.

Este primeiro post vou tentar resumir de forma bem geral o que entendo como Gerencia de Projetos, como guia uso as referências do livro de boas práticas, o principal livro de referência do PMI o PMBook versão 5.

A necessidade da gerencia de projeto nasce justamente da premissa do controle, da gestão, do acompanhamento, da estruturação de um plano e do que acontece durante sua execução, monitorando sistematicamente cada fase e em fim registrando o seu encerramento.
Ou seja, basicamente 5 grandes grupos de atividades:
1 – Iniciação
Onde o projeto é posto à prova, sobre o ponto de vista de viabilidade, descrevendo em um documento chamado Termo de Abertura os objetivos do projeto, um cronograma inicial e principais fontes motivadoras de sua existência, nesta fase também são identificados todos os envolvidos ou interessados no projeto.
2 – Planejamento
A fase de planejamento é basicamente onde o projeto será idealizado, onde nasce o plano de gerenciamento do escopo, cronograma, EAP etc., é onde se define todas as regras para serem usadas durante a execução do projeto, é definido como será tocado o projeto dos pontos de vista de Escopo, Tempo, Custos, Riscos, Qualidade, Recursos humanos e Comunicações.
3 – Execução
A fase de Execução é como o nome diz, pôr em prática tudo o que foi planejado. As equipes são mobilizadas, a qualidade é apurada, as aquisições são conduzidas, a equipe se desenvolve, a comunicação acontece de forma frequente e o próprio planejamento pode ser ajustado com base no andamento da execução.
4 – Monitoramento e Controle
Esta fase basicamente acompanha a execução e define se uma mudança no planejamento pode acontece e como vai acontecer, controlando o cronograma, o escopo, o trabalho, controla a comunicação, controla os riscos, aquisições e até mesmo o engajamento das partes interessadas.
5- Encerramento

Muitas vezes é onde a grande engrenagem é iniciada, pois como todo projeto se compõe de início, meio e fim, ao final do projeto podemos ter um produto finalizado ou transição para o início das atividades de um serviço de produção. Na fase de encerramento também se documentada as lições aprendidas e a conclusão de serviços contratados nas fases de aquisição.

quinta-feira, setembro 26, 2013

PLANO DE COMUNICAÇÃO COMO CHAVE PARA O SUCESSO

PLANO DE COMUNICAÇÃO COMO CHAVE PARA O SUCESSO

A comunicação é peça chave no desenvolvimento pessoal e empresarial, o plano de comunicação mostra de forma sistemática como aplicar regras ás necessidades de comunicação.


No meu breve estudo sobre comunicação, ficou bem clara a percepção de que
comunicação é realmente algo muito importante em empresas e na própria vida.
Levando o conhecimento direcionado a área empresarial, nada mais prática do
que um plano de comunicação. Sem muita experiência qual quer um diria que o plano
de comunicação já está implícito no próprio cronograma do projeto, mais mesmo o mais
ricos dos guias sobre projetos, o PMBOK, trata da comunicação como processos bem
definidos e fundamentais para outros processos do guia. O plano de comunicação nada
mais é do que um projeto para planejar a forma com vai ser fundamentada a
comunicação do projeto.
Como escreveu em seu famoso livro Gerenciando Pessoas, o guru Idalberto
Chiavenato deixa bem claro que nas organizações mais bem-sucedidas do mundo, a
comunicação recebe a máxima prioridade. E sem sombra de duvidas, todos nos já
passamos por problemas relacionados a falha de comunicação em nossos ambientes de
trabalho, e quantos milhões são perdidos, sejam em mal aproveitamento de tempo seja
em perdas financeiras pela falha no processo de comunicação?
O plano de comunicação visa aplicar uma sistemática, que deve ser cumprida a
risca, para o processo de comunicação, sendo formalmente elaborado por uma comissão
composta pelos responsáveis pelo projeto ou pela área da organização que não tenha um
processo de comunicação bem definido. Os ganhos com a aplicação da metodologia são
visíveis e imediatos, há que ser dada a devida importância à comunicação, pois ela é a
chave para o sucesso. 

sábado, maio 04, 2013

APF x Ágil

Texto de Célio Junior

Como quase tudo que envolve métodos ágeis a questão não é técnica e sim conceitual.

O principal objetivo das metodologias ágeis é entregar valor para o cliente. E como isso ocorre? Cliente e Time (ágil) irão colaborar para entregar o máximo de "software" possível que implique ao cliente o maior retorno de investimento (ROI) possível.

O que é PF? É o tamanho funcional de um sistema.
PF mede valor de negócio? Não (só se for indiretamente e olhe lá).
Então por que um time/cliente ágil vai utilizar PF em um projeto ágil? Não faz sentido...

Quero dizer, o cliente pode pagar por 10PF hoje e ter um ROI imenso, e pagar por 10PF amanhã e não ter ROI nenhum. Ou seja, PF não pode ser usado como uma métrica útil para times ágeis a não ser para ser usada como ela é hoje, para "precificar" o software. Ai é que conceitualmente mora o perigo pois da forma como PF é usada estaremos agora observando preço ao invés de valor.

Nessa visão de preço o time e o cliente não mais colaboram e sim concorrem, afinal o cliente quer ter o minimo de PFs com o máximo de software (pagando menos), enquanto o time quer ter o mínimo software com o máximo de PFs (recebendo mais) e o foco da minha negociação deixa de ser vantagem competitiva do cliente para ser preço de PF e detalhamento de requisitos (histórias do usuário...) e isso não tem mais nada a ver com agilidade.

Por isso que métodos ágeis funcionam melhor com contrato de custo fixo (pagando por mês por exemplo) e escopo variável, enquanto que na conjectura atual, PF + escopo variável = preço variável e nesse cenário negociação de contratos é mais importante do que colaborar com o cliente (O contrário disto está na 3ª declaração do manifesto ágil).

E pra variar, PF não tem culpa disso ;)

sexta-feira, janeiro 27, 2012

Resumo do livro Clean Code

Resumo de alguns tópicos do livro Clean Code do Uncle Bob, recomendadíssimo!
programador profissional é aquele que produz código limpo e testado!
 Regra de escoteiro: “você deve sempre deixar o lugar mais limpo do que encontrou” 

Nomes significativos

Nomes de classes, variáveis, métodos, etc, devem ser significativos, indicando claramente o que um método faz ou o que um atributo representa. A intenção deve ser visível através dos nomes. Crie nomes pronunciáveis para facilitar a comunicação, evite acrônimos e siglas.
Evite nomes confusos, os quais podem levar quem lê o código a conclusões erradas.
Use nomes que refletem o domínio do sistema, o contexto e os problemas que devem ser resolvidos.

Funções

Funções devem ser pequenas. Aliás, elas devem ser ainda menores. Deve haver apenas um nível de abstração por função.
Funções devem fazer uma coisa, e apenas uma. Novamente, utilize um nome que descreva bem o que a função faz. Utilize o menor número de argumentos possível, fazendo o máximo para que não passem de três.
Cuidado com “efeitos colaterais”, funções não podem fazer nada “escondido”. Use exceções ao invés de códigos de erro, e considere que tratar exceções é uma coisa.

Comentários

Comentários não salvam um código ruim. Procure explicar o que o código faz COM CÓDIGO.
Crie nomes de métodos e de variáveis informativos, ao invés de explicar com um comentário o que um método com um nome ruim faz. Use comentários para deixar uma expressão complexa mais clara, para avisar sobre as possíveis conseqüências de uma alteração, ou para ressaltar a importância de certo ponto do código.
Comentários ruins também poluem o código. Não escreva comentários redundantes, inúteis, ou pior, com falsas informações. Também não deve ser usado para indicar quando ou por quem foi alterado, para isso temos ferramentas de controle de versão. Não escreva comentários confusos ou grandes demais.
Não comente código que não será mais usado, simplesmente remova-o.

Objetos e estruturas de dados

Siga a Lei de Demeter. Faça boa abstração e encapsulamento. Não crie objetos burros.

Tratamento de erro

Use exceções ao invés de códigos de erro. Use exceções não checadas, e utilize mensagens de erro informativas.
Não retorne e nem passe null.

Testes

Siga as 3 leis do TDD.
Use uma assertiva por teste, e teste um conceito por vez.
Os testes devem ser rápidos, independentes, reprodutíveis em qualquer ambiente, auto-validáveis e escritos no momento certo. Mantenha o código de seus testes limpo.

Classes

Classes devem ser pequenas e seguir o princípio da responsabilidade única. Devem ser coesas,  essa coesão resulta em classes pequenas. Classes devem ser criadas visando a mudança, então programe orientado à interface.
Outros pontos que não posso deixar de citar são: Todos os testes devem estar passando; refatoração deve ser feita constantemente, visando à melhoria contínua; código duplicado deve ser evitado a todo custo; classes e métodos devem ser pequenos; o código deve ser o mais expressivo possível.
Esse resumo é um levantamento de alguns pontos importantes, tanto que aqui é mostrado o que deve ser feito, não o porquê ou o como, isso pode ser encontrado no livro. Esse post é o primeiro passo, espero que todos dêem continuidade lendo esse livro e muitos outros, buscando criar um código melhor. Eu não quero mais código sujo atrapalhando a minha vida. E você?
(Resumo feito  por Juliano Alves)