GRASP – Breve Introdução e Referência Rápida

Esse é um assunto antigo, publicado em 1997 por Craig Larman em seu livro “Applying UML and Patterns”. Porém, é de grande relevância no contexto do desenvolvimento de software e, por isso, vale a pena relembrar. Por haver bastante material na internet a respeito do GRASP, vou tentar contribuir apenas com um resumo que serve tanto como referência rápida quanto breve introdução para quem ainda não conhece.

GRASP significa General Responsibility Assignment Software Patterns (ou Principles) e trata-se de um conjunto de nove princípios fundamentais em design orientado a objetos que estão relacionados com a atribuição de responsabilidades entre os elementos do software, tais como módulos, classes e métodos. Quando falamos de “responsabilidades”, nesse contexto, estamos nos referindo a distribuição das ações que serão realizadas pelos elementos do software.

O que os princípios do GRASP nos oferece é uma forma de distribuir essas responsabilidades da melhor maneira possível, visando a qualidade do código com relação a torná-lo mais legível, desacoplado e fácil de manter – tanto manutenção corretiva quanto evolutiva.

A seguir, serão apresentados de forma resumida os nove princípios do GRASP:

1. Information Expert oy Expert Principle: A melhor classe para assumir uma responsabilidade é aquela que possui todos os dados necessários para realizá-la. Se uma classe não possui todos os dados necessários, ela não pode realizar aquilo que precisa, logo, essa classe não é o melhor elemento para receber a responsabilidade.

2. Creator: Atribua a classe B a responsabilidade de criar uma classe A quando:

  • B contém ou agrega de forma composta A
  • B registra A
  • B usa de perto A
  • B tem os dados de inicialização para A

3. Controller: É o primeiro objeto, depois da camada de interface com o usuário, a receber e coordenar uma operação do sistema. O objeto deve receber essa responsabilidade quando se enquadrar nos cenários a seguir:

  • O objeto representa todo o sistema, a raiz do sistema, o dispositivo onde o software executa ou o subsistema.
  • O objeto representa um cenário de caso de uso onde a operação funciona.

4. Low Coupling: Ao atribuir uma responsabilidade, tenha certeza de estar reduzindo ao máximo a dependência com outros elementos do sistema. Quanto mais isolado e independente for o elemento, menos acoplado ele está. Essa medida reduz o impacto de mudanças e promove o reuso de componentes.

5. High Cohesion: Atribuir uma responsabilidade de modo que o elemento torne-se o mais focado, inteligível e fácil de manter possível. Quanto maior a coesão menor será o acoplamento.

6. Indirection: Consiste em criar um componente para servir como mediador (Mediator Pattern) entre dois ou mais componentes que estão relacionados. Essa medida evita o acoplamento direto entre esses componentes que precisam se relacionar.

7. Polymorphism: Quando um comportamento varia conforme o tipo do objeto (sua classe), atribua a responsabilidade ao método que representa tal comportamento. Dessa maneira, usando polimorfismo, podemos evitar sentenças condicionais no código para saber qual comportamento adotar. Esses comportamentos serão acionados de acordo com o tipo de cada objejeto.

8. Pure Fabrication: Quando os demais princípios não forem suficientes para atribuir uma responsabilidade sem causar baixa coesão e alto acoplamento, crie uma classe para assumir essa responsabilidade. Um exemplo desse princípio é o padrão Domain Service usado no DDD, ele contém a lógica que não pertence a uma entidade específica.

9. Protected Variations: Consiste em identificar pontos de variações e instabilidades nos elementos do sistema para criar uma interface estável em torno deles. Com essa medida, protegemos o resto do sistema das variações e da instabilidade desses elementos.

Se você for familiarizado com o assunto, esse resumo vai ajudar a lembrar de algumas coisas pontuais, quando necessárias. Mas se o assunto for novo para você, recomendo procurar outras fontes e continuar se aprofundando nele. Os ganhos pela aplicação desses princípios em projetos de software são significativos e aumentam a qualidade do produto final.

Python Flask com Heroku

O Flask é um framework leve e simplificado em Python para criar aplicações Web. E o Heroku é uma plataforma em nuvem onde você pode publicar suas aplicações ou serviços com planos grátis para iniciantes e estudantes.

Esse é um tutorial para criar um projeto Python com Flask e Gunicorn do zero, fazendo deploy na plataforma em nuvem Heroku.

O Flask será usado para criar um serviço que irá atender uma requisição HTTP. O Gunicorn é um HTTP Server que subirá o serviço do Flask. O Gunicorn será usado porque o HTTP Server interno do Flask é somente para desenvolvimento e testes, não deve ser utilizado em produção.

O código completo desse exemplo pode ser clonado a partir do Git em https://github.com/edprata/python-flask-on-heroku

Preparação no Heroku:

  1. Acesse o Github e crie um repositório novo para o seu projeto.
  2. Acesse o Heroku e crie uma conta gratuita. Ele utiliza autenticação em duas etapas. Você pode usar o Google Authenticator no seu celular para esse fim.
  3. Na home do Heroku, clique no botão “New” no canto superior direito e selecione “Create new app”.
  4. Em “App name” coloque o nome do seu projeto, pode ser o mesmo do Github.
  5. Clique em “Add Pipeline”.
  6. Em “Choose a pipeline” escolha “Create new pipeline”.
  7. Em “Name the pipeline” pode usar o mesmo nome do App. Se for usar staging (um ambiente de homologação) pode acrescentar “-stage” no final do nome para diferenciar da pipeline de produção (production). É recomendado usar pelo menos dois ambientes, em sendo pré produção.
  8. Em “Choose a stage to add this app to” escolha “staging”.
  9. Clique em “Create app”.
  10. Abra a aba “Deploy” e desça até “Deploy method”.
  11. Clique em “GitHub”, informe o nome do repositório e clique no botão “Search”.
  12. Agora seu App Heroku está conectado ao repositório Github e pronto para receber seu código.

Clone e Criação do Projeto:

Em um diretório da sua máquina a sua escolha faça a clonagem do projeto Github:

git clone https://github.com/<seu_usuario>/<seu_projeto>.git

O projeto estará vazio, acesse sua IDE preferida, como o PyCharm, e crie um projeto Python nesse diretório.

Preparação do Projeto Python para o Heroku:

1. Crie um arquivo chamado “requirements.txt”, no raiz do projeto, com as dependências (bibliotecas). Esse arquivo é lido pelo Heroku durante o deploy e essas dependências serão instaladas automaticamente. O conteúdo deve ficar conforme abaixo, cada dependência em uma linha. Em nosso exemplo o conteúdo deve ser:

flask
gunicorn

2. Crie um arquivo chamado “Procfile” (desse jeito, sem extensão) com o seguinte conteúdo:

web: gunicorn service

3. Esse arquivo é lido pelo Heroku após o deploy e o comando dentro dele é executado. No nosso caso o comando acima subirá o HTTP Server Gunicorn executando um arquivo Python chamado “service”. Note que não será chamado o Flask diretamente, pois é o Gunicorn que fará esse trabalho.

Código Python com o Flask:

Para nosso Hello World escreva num arquivo chamado “service.py” o seguinte código:

# Lib do Flask.
from flask import Flask

# Lib que permite ler variáveis de ambiente.
from os import environ

# Lê a variável de ambiente HOST e na sua ausência usa o endereço '0.0.0.0'.
# Esse endereço com zeros indica ao Flask para aceitar requisições de outras origens.
# Por default o Flask só aceita requisições da máquina local.
host = environ.get("HOST", '0.0.0.0')

# Lê a variável de ambiente PORT, pois no servidor é um dado dinâmico.
port = environ.get("PORT", 5000)

# Imprime os dados para aparecer no log do Heroku.
print("HOST={} PORT={}".format(host, port))

# Cria um objeto Flask para subir no servidor.
app = Flask(__name__, static_folder='static')

# Essa variável "application" será usada pelo Gunicorn para subir o Flask.
application = app.wsgi_app

# Médoto que irá atender uma requisição HTTP tipo GET na raiz do domínio.
@app.route("/")
def hello_world():
    return "<p>Hello, World!</p>"

if __name__ == '__main__':
    # Sobe o Flask no host e porta do ambiente em que está rodando.
    app.run(debug=False, host=host, port=port)

OBS: O nome do arquivo não é importante, mas deve ser o mesmo referenciado no arquivo “Procfile”.

Commit do código:

No console, faça commit no GitHub conforme abaixo:

git add *
git commit -m "Commit inicial do projeto"
git push

Conectando o Pipeline do Heroku ao Github:

  1. Retorne ao Heroku, acesse o pipeline criado por você e em seguida a aba “Settings”.
  2. Desça até “Connect to GitHub”.
  3. Informe o nome do repositório no GitHub e clique em “Search”.
  4. Clique no botão “Connect”.
  5. Acesse a página de configurações do App criado por você (na tela “Pipeline” tem o atalho).
  6. Acesse a aba “Deploy” e desça até “Automatic deploys”.
  7. Clique no botão “Enable Automatic Deploys” para que nos próximos commits o deploy ocorra automaticamente.
  8. Desça até “Manual deploy” e clique no botão “Deploy Branch”, já que essa é a primeira vez e você já fez commit.
  9. Aguarde até que o deploy termine e apareça a mensagem “Your app was successfully deployed.”.
  10. No canto superior direito no topo da tela há o botão “Open app”, clique nele e veja o resultado.

Dicas:

  • Se houver erro no deploy você pode consultar o log no Heroky. Utilize o botão “More” e em seguida “View Logs” no canto superior direito da tela.
  • Se ocorrer erro nas primeiras tentativas de deploy ou se ficar muito tempo inativo o serviço pode cair e você pode ter que ir até a página do seu App, aba “Overview”, quadro “Dyno information” e verificar se está “ON”. Se não estiver clique em “Configure dynos” e no quadro “Free Dynos” clique no lápis (lado direito). Coloque em “ON” e confirme.
  • Você pode criar um segundo pipeline de production para ter dois ambientes e trabalhar com promoção de código. Cada pipeline pode receber o código de um branch diferente do GitHub, por exemplo branch “homolog” e “master”.

Referências:

Se quiser conhecer mais sobre os assuntos abordados aqui pode consultar os endereços abaixo:

O Dilema de Escolher Cursos Extracurriculares

Este é mais um artigo voltado à educação de nível superior. Utilizarei nos exemplos tópicos ligados ao mercado de Tecnologia da Informação, pois é a minha área de especialização. Porém, os critérios que serão apresentados servem também para outras áreas. Basta usar a imaginação e substituir os nomes técnicos para os da sua área (se você não for de TI) e os conselhos continuarão valendo.

A motivação do artigo, obviamente, é apoiar e orientar estudantes, recém-formados e profissionais com pouca experiência. E, por favor, vamos começar assumindo que cursos extracurriculares são importantes, ok? Não é objetivo deste artigo colocar a importância deles em discussão, mas sim os critérios para escolher e investir. Afinal, trata-se de trocar tempo e dinheiro por conhecimento. É preciso saber escolher para evitar desperdício destes recursos tão preciosos.

Alinhados quanto à motivação e objetivo do artigo, lhe pedirei que pense por um minuto em quantos cursos você acha interessante e/ou gostaria de fazer nos próximos meses. Considere, por exemplo, cursos de tecnologias específicas (Java, .Net, Android, Swift, SAP, AWS), métodos e processos (Scrum, XP, TDD, RUP) e também técnicas, frameworks e boas práticas (User Experience, PMI, ITIL, COBIT).

 Já pensou nos cursos que gostaria? Quem sabe você queira fazer tudo que eu citei e ainda muito mais, não é? Se você pensar pelo trabalho que isso irá lhe dar, poderá não querer fazer nenhum. Mas se pensar no possível retorno profissional e financeiro, aí as coisas mudam e o interesse surge.

 Lembro que quando eu estava na faculdade queria fazer quase todos os cursos de que ouvia falar. Mais tarde, quando me tornei professor, pude ver alguns alunos enfrenando o mesmo dilema que eu tive. Os alunos mais interessados, claro. O dilema de ter muito a aprender, mas não ter muito tempo nem muito dinheiro. É uma fase difícil!

primeira dica é: decida-se sobre o que você quer ser! Em outras palavras, defina qual função você desempenhará no mercado de trabalho. Este é o fator mais importante de todos e não apenas para escolher cursos extracurriculares. Saber o que se quer é importantíssimo para que você possa alcançar seus objetivos com mais velocidade e menos sofrimento. Sempre abordo este ponto em artigos como esse, pois ele é realmente determinante para a tomada de decisões quanto à formação e a vida profissional. Pessoas indecisas tendem a perder muitos recursos e trilhar um caminho bem mais longo.

Como segunda dica, recomendo buscar conhecer um pouco mais sobre o assunto de interesse, quer seja pesquisando na internet ou conversando com profissionais mais experientes, antes de procurar qualquer instituição de ensino ou cursinho. Não procure orientação lá no cursinho, pois as pessoas poderão estar mais interessadas em vender do que no seu futuro profissional. Certifique-se de que o assunto é realmente relevante para a função que você vai exercer no mercado de trabalho. Se depois de pesquisar por você mesmo e também conversar com pessoas imparciais você chegar a conclusão que o assunto não é realmente relevante, recomendo descartar e procurar outro que seja. Não desperdice seu tempo, aprenda a priorizar. Este, aliás, já é um exercício extremamente útil e uma habilidade exigida pelo mercado de trabalho.

Chegou a conclusão que o assunto é de interesse e também é relevante? Ótimo! Mas antes de decidir, lá vai a terceira dica: Você já procurou saber se existe alguma certificação associada a este assunto? Este curso que você encontrou por aí cumpre algum pré-requisito para, mais tarde, você obter a certificação? Se não entendeu fique tranquilo, eu vou explicar melhor.

Muitos dos assuntos que você vai decidir estudar (sejam tecnologias, técnicas, métodos ou conjuntos de boas práticas) podem e provavelmente são regulamentados por alguma instituição, empresa ou órgão (geralmente internacionais). Esta organização, que está por trás do assunto que você pensa em estudar, estabelece critérios para “premiar” com uma certificação ou licença os profissionais que alcançam proficiência. Isto significa que se você investir em um curso que não cumpre com as exigências ou critérios estabelecidos pela organização responsável você estará desperdiçando, de certa forma, energia com algo que poderia lhe dar um retorno ainda maior. Mais tarde, quando você desejar obter a certificação, terá que fazer outro curso, muito semelhante àquele que já fez, mas que cumpre os requisitos da organização responsável.

Vamos ao exemplo. Já ouviu falar de Scrum? Se você é de TI, é quase certo que sim. Esse é um método para gestão de projetos bastante famoso hoje em dia. Mas você sabia que, apesar de haver um montão de cursinhos de Scrum por aí, apenas alguns deles podem lhe conceder ao final o privilégio de ostentar a certificação da Scrum Alliance? Esta é a organização que regula o Scrum no mundo. E se você não seguir os padrões dela não pode se dizer realmente conhecedor da metodologia e nem comprovar proficiência por meio de uma certificação. Neste caso, por isso é um bom exemplo, a organização responsável exige que você aprenda o método pelo curso oficial, que só pode ser ministrado por um profissional qualificado para este fim. Apenas depois do curso realizado você pode fazer a prova teórica que lhe dará a certificação. Para você ter uma ideia, hoje no RJ só existe uma instituição que oferece o curso oficial, mas há centenas de cursinhos “alternativos”.

Agora imagine que você, ao invés de fazer o curso oficial formulado e ministrado de acordo com os critérios da Scrum Alliance, fez outro qualquer que não lhe dá o direito de fazer a prova. Se quiser ser reconhecido como um profissional qualificado para trabalhar com Scrum, você terá que fazer o curso novamente. Perdeu tempo e dinheiro fazendo da primeira vez, mesmo que tenha sido mais barato.

A Oracle e a Microsoft também exigem cursos oficiais para algumas certificações, só para dar mais exemplos. Então, recomendo atenção a este detalhe. Afinal, qualquer certificação ou curso oficial darão muito mais peso ao seu currículo. Isto não se discute.

Por fim, uma quarta dica: Busque referências sobre a instituição onde você vai estudar e o professor que ministrará as aulas. O currículo do professor e as referências do curso são muito importantes. Se não houver experiência e didática adequadas, você terá mais dificuldade para absorver o conteúdo que, por sua vez, já pode ser bastante exigente.

Resumindo, estas são as quatro dicas fundamentais para decidir quais cursos fazer:

1 – Defina-se quanto à função que você vai exercer na vida profissional;

2 – Avalie a importância do assunto de interesse com relação à função escolhida. Aprenda a priorizar os assuntos mais relevantes;

3 – Procure saber se o assunto não exige um curso oficial ou critérios específicos como pré-requisitos para uma certificação ou licença. Se houver, vale mais a pena buscar o caminho oficial, mesmo que você não pretenda certificar-se agora;

4 – Por fim, avalie bem a instituição e o professor. Ao colocar no seu currículo o nome de uma instituição, você coloca junto a reputação dela.

Espero ter contribuído para elucidar este velho dilema. Deixe sua opinião, ok?

Grande abraço!

Ideias Inovadoras Chegam para Ficar!

Muito se vê e se ouve sobre a luta contra inovações que chegam para mudar o mercado e os modelos de negócios tradicionais. Dois grandes exemplos são o Ubber e o Whatsapp, que frequentemente passam por turbulências causadas por protestos, ataques jurídicos e críticas polêmicas sobre questões como pagamentos de impostos e a existência ou não de vínculos trabalhistas (este último fator no caso do Ubber).

E para dar força a esta onda de modelos de negócios inovadores, chegaram até nós os cartões de crédito que, além de não cobrarem anuidade, são gerenciados por nós mesmos via aplicativos – entre outros benefícios. É claro, isto já não é mais novidade e não estou aqui para “dar a notícia” que já está velha. Segundo o Wikipédia, a primeira compra utilizando o Nubank foi realizada em 1/4/2014, ou seja, já caminhamos para três anos de operação deste cartão. Não faz muito tempo o Nubank ganhou até um concorrente, o Digio, emitido por uma parceria entre o Banco do Brasil e o Bradesco. Saiba mais sobre o Digio nesta matéria da Infomoney, se você ainda não conhece.

Esclarecido que não estou aqui para “dar a notícia” sobre o lançamento do Ubber, Nubank, Digio, Whatsapp ou qualquer outro, a reflexão que trago neste artigo é: será que toda essa cadeia reativa, em torno destas inovações, conseguirá de fato derruba-las? Eu acho que não e vou explicar o porquê.

Por quê inovações geralmente encontram tanta reação?

Primeiro gostaria de analisar junto com você qual é o motivo de tanta reação com relação a modelos de negócios inovadores. A opinião pública costuma se dividir, sempre há pessoas contra e a favor, apesar de, a princípio, a “inovação” como conceito ser geralmente considerada uma “coisa boa”. As pessoas, em seus discursos, costumam afirmar que “inovar” é algo positivo. Muitas campanhas de marketing e líderes de todos os tipos fazem uso da palavra “inovação” com entonação positiva e até colocando este conceito como um “objeto de desejo”, se é que se pode transformar um “conceito” em “objeto”. Enfim, a “inovação”, como ideia, geralmente não é combatida. Mas quando ela se manifesta em algo concreto, como um produto ou serviço, aí a coisa muda de figura.

Um dos problemas é que quando uma inovação se apresenta no mercado, como produto ou serviço, ela geralmente carece de leis e regras específicas. É claro, o tal produto ou serviço inovador não existia, logo, como poderia haver regulamentação apropriada? E é a partir deste momento que a sociedade começa a questionar detalhes sobre recolhimento de impostos, limites operacionais, logística e concorrência, entre outros. Com relação a isso o conselho de um humilde consumidor como você: precisamos ter paciência e sobriedade, pois tudo o que é novo precisa de tempo para amadurecer. Mas se quisermos evoluir e usufruir das inovações, precisamos saber tratá-las com carinho até que todos estes detalhes sejam digeridos e tratados adequadamente.

Outro problema das grandes inovações, e acredito que o maior deles, é que elas geralmente abalam o mercado e até as relações de emprego tal como os conhecemos. Novos modelos trazem novos conceitos e, consequentemente, novas formas de relacionamento do cidadão com o trabalho. Isso é inevitável! Sabemos que profissões morrem e nascem o tempo todo e que, em época de grandes mudanças e surgimento de ideias inovadoras, este processo é acelerado.

Este é o fator que costuma ser mais criticado, mas a inovação não deve ser detida por causa dele. Podemos até lutar contra ela, podemos resistir, podemos lamentar… mas no final, modelos de negócios mais eficientes sempre causarão mudanças profundas nas relações de consumo e também trabalhistas. Modelos de negócios obsoletos irão consequentemente morrer, pois não serão competitivos. Mas novas oportunidades nascerão, ainda que das cinzas dos velhos negócios.

Há um post circulando nas redes sociais, que geralmente fala sobre o Ubber, citando a morte da profissão de datilógrafo, o fim das fitas K7 e dos discos de vinil, assim como o filme fotográfico e alguns outros produtos, serviços e profissões devido a evolução tecnológica. Você já deve ter visto este post por aí. Ele é bastante interessante, pois nos alerta sobre um dilema antigo e inevitável: inovação trás mudanças. Você consegue se imaginar utilizando uma máquina de escrever hoje? De modo algum, com certeza. Será assim daqui a alguns anos quando você pensar em telefonia tal como era há pouco tempo atrás, quando pensar sobre os cartões de crédito que cobravam anuidade e não ofereciam aplicativos para dar informações em tempo real sobre seus gastos ou quando você pensar sobre como funcionavam os táxis.

Não posso deixar de abordar neste artigo outro fator muito importante, motivo pelo qual há tantos problemas, críticas e até boicotes, numa tentativa desesperada e vã de combater inovações. Este outro fator é a resistência dos modelos de negócio que se tornam obsoletos com o surgimento de ideias inovadoras e até revolucionárias.

Muitas vezes os negócios que se veem, de repente, obsoletos, representados por organizações já consolidadas no mercado com seu modelo de operação “tradicional”, começam a combater por meios jurídicos e até financeiros os novos negócios baseados em ideias inovadoras. Isso não é raro. Algumas organizações, mais antenadas e dispostas a se reinventarem, aderem à inovação e lançam produtos concorrentes. Mas organizações com visão focada no passado ou acomodadas geralmente preferem combater ao invés de acompanhar as tendências do mercado.

Será que, no final, as inovações irão prevalecer?

A experiência nos mostra que, com mais ou menos facilidade, as inovações, tanto tecnológicas quanto mercadológicas, tendem a vencer estes muitos obstáculos e, no final, nos vemos num cenário onde não conseguimos mais imaginar como vivíamos sem aquele novo produto ou serviço. É bastante difícil, se não impossível, deter ideias realmente inovadoras. E o fator que considero principal para este fato é o seguinte: inovações trazem implícito em sua concepção a eficiência que ideias tradicionais, já exploradas ao limite, jamais poderão alcançar.

Uma ideia inovadora tende a nascer maior e melhor que qualquer evolução dada a ideias antigas e conservadoras. E ainda oferecem potencial de crescimento que as antigas ideias um dia já tiveram, mas que, por vezes, alcançou o seu limite.

Lembra-se dos conceitos da Matriz BCG, proposta na década de 70? Pois é, eles ainda são úteis e servem para nos ajudar a entender este processo. O ciclo de vida de produtos e serviços, como tudo que há, um dia encontra seu fim e, para manter a “roda girando”, é preciso inovar!

Outro ponto relevante, que muito contribui para o sucesso das inovações, é a rápida adoção de produtos e serviços inovadores pelo mercado consumidor. Logo que experimentamos algo novo, melhor e mais eficiente que os produtos e serviços até então disponíveis, não nos imaginamos mais vivendo sem eles. Alguém quis usar discos ou fitas K7 após o surgimento do CD? Alguém que experimenta conteúdo on-demand, como o do Netflix, se contenta depois em assistir apenas a TV tradicional (aberta ou a cabo)? Alguém que experimenta um cartão de crédito sem anuidade, com acompanhamento de gastos no App e descontos para pagamentos antecipados, quer continuar a utilizar um cartão sem nada disso? Há exceções, mas evidentemente a maioria preferirá a novidade. E onde houver mercado consumidor, haverá alguém interessado em vender.

Considerações finais

Talvez este excesso de reação inicial, oriundo principalmente daqueles que se sentem ameaçados por soluções inovadoras, seja o efeito causado por uma sociedade pouco acostumada a investir em pesquisa e a pensar em inovação. Isso se compararmos o nosso país com outros onde esta cultura é amplamente disseminada. Quem sabe este exercício não esteja sendo tão praticado quanto deveria por organizações e profissionais em geral e, talvez por isso, estejamos sendo mais resistentes do que deveríamos. Se bem que alguma resistência é sempre normal e, ouso dizer, até saudável. Mas não muita.

Gostaria de concluir dizendo que sim, os boicotes, manobras jurídicas e artifícios mercadológicos das grandes corporações poderão até deter uma ou outra empresa que surja com uma ideia inovadora. O Nubank, por exemplo, até pode ser aniquilado pelos grandes players do mercado financeiro. Entretanto, a ideia que for realmente inovadora ressurgirá de novo e de novo até se consolidar no mercado por meio de uma ou de várias organizações. Pois não se pode deter a inovação em si, este é um conceito maior que todos nós e que está profundamente enraizado na alma do ser humano. É possível reprimir por um pouco de tempo, mas não é possível reter para sempre a inovação.

Então, o que você acha? Deixe sua opinião e contribua com o artigo.

Visite também meu site e conheça outros artigos e livros: www.edmilsonprata.com.br

 Grande abraço!

A Importância da Certificação

Vez e outra eu escuto novamente esta discussão. Seja pela dúvida dos iniciantes, pela defesa de quem acredita ou pelas críticas de que quem não acredita na importância delas. Com objetivo de reforçar o coro dos defensores e orientar os iniciantes, resolvi colocar também minha opinião. Posso até “chover no molhado”, mas acredito que o assunto vale a pena.

Uma certificação, na área de TI, é basicamente um documento que atesta proficiência do detentor em determinada técnica, método ou tecnologia. Com ela, o profissional pode não só afirmar, mas também comprovar, que possui um conhecimento profissional específico e que alcançou este conhecimento por mérito próprio. Além de comprovar que este conhecimento foi testado por critérios estabelecidos por uma entidade ou organização, em geral internacional, por meio de um processo maduro, seguro e confiável. 

Isso é particularmente mais relevante para os iniciantes, que padecem de pouca ou nenhuma experiência profissional adquirida no mercado de trabalho. Uma certificação não substitui a experiência oriunda do exercício da profissão, evidentemente. Mas é uma forma de comprovar conhecimento e, pelo menos, uma convivência teórica mais profunda com determinada técnica ou tecnologia. Muito mais profunda que, por exemplo, as abordagens feitas nas salas de aulas de universidades e cursos extracurriculares.

Mas será que o mercado dá realmente algum valor a isso? Com certeza! Geralmente as empresas utilizam estas certificações para cumprirem exigências em processos licitatórios, de clientes, de projetos específicos e também para fazerem propaganda do seu corpo técnico. Quanto mais profissionais certificados uma empresa possui, mais condições ela tem de captar clientes e projetos. 

Mas as empresas não possuem suas próprias certificações? Sempre há alguém que faz esta pergunta, mesmo que em tom retórico. Sim, claro, as empresas podem adquirir diversos tipos de certificações e as utilizam para se destacarem perante a concorrência. Mas as certificações de seus profissionais também são utilizadas para esse fim. Muitas vezes o contrato que ela deseja ganhar exige certa quantidade de profissionais certificados e, se a empresa não dispuser destes profissionais, não consegue fechar o negócio.

A certificação não é importante apenas para que possa ser “exibida” em concorrências, licitações e para clientes mais exigentes. Ela de fato enriquece o profissional que, muitas vezes, saiu da graduação com grandes “brechas” em sua formação. Um dos problemas mais comuns encontrado em profissionais iniciantes é o fato de eles terem adquirido conhecimento multidisciplinar, mas bastante superficial. Isso pode ser minimizado por uma certificação na área de atuação pretendida.

Se você está nesta fase, recomendo em primeiro lugar que você defina o seu objetivo. É importante que esteja claro para você qual é a função que deseja exercer no mercado de trabalho. E é comum existir esta dúvida no início da carreira. Quer ser analista de negócios, especialista em banco de dados, programador, analista de BI, trabalhar com nuvem, mobile ou ser gerente de projetos? Saber qual caminho você pretende trilhar é fundamental para economizar tempo e dinheiro na busca por seu lugar ao sol. Quanto mais rápido você definir seu objetivo, mais rápido tende a alcança-lo. 

Em segundo lugar, trace um plano, ou seja, que habilidades e conhecimentos você precisar ter para ser aquilo que pretende? Não perca tempo investindo em cursos ou habilidades que não estejam diretamente ligadas a função que você quer exercer. Uma boa forma de fazer isso é estar sempre pesquisando vagas de empregos e observando o que as empresas pedem para cada cargo. Se você investir em coisas que “podem ter a ver” ou que “podem ajudar”, você estará deixando de investir em coisas que com certeza farão a diferença e encurtarão sua caminhada rumo ao topo. Tudo é uma questão de relevância e prioridade.

Por último, mas não menos importante, insista na obtenção das habilidades, conhecimentos e certificações que você entendeu como realmente importantes para seu objetivo profissional. E persista até conseguir! Não se proponha conseguir logo na primeira tentativa, pois isso não é saudável e, além do mais, não faz a mínima diferença quantas vezes você tentou. O importante é você aprender de verdade o que esta estudando e conquistar o título ou certificação pretendidos. O quanto de esforço foi necessário aplicar é algo muito pessoal. Mas lhe garanto, não é fácil para ninguém! Contudo, é recompensador.

Espero ter dado “aquele empurrãozinho” que faltava para você começar a se preparar.

Visite também meu site e conheça outros artigos e livros: www.edmilsonprata.com.br

Grande abraço!

Três erros comuns na criação de aplicativos móveis e como evitá-los

Boa parte dos aplicativos móveis corporativos percorrem um longo caminho antes de serem considerados grandes sucessos. Infelizmente, os apps muitas vezes falham repetidamente pelas mesmas razões, com organizações deixando de ver os problemas antes que seja tarde demais. Sem qualquer motivo aparente, a adoção por parte dos usuários cai, o uso de aplicativos não aprovados pela TI torna-se comum, e o negócio começa a correr riscos desnecessários.
Com isso em mente, aqui estão três erros comuns que podem comprometer o desenvolvimento do aplicativo móvel corporativo – e como evitar que isso aconteça.
1. Não dar aos usuários exatamente o que eles pedem
Comece encontrando o seu melhor analista de negócio e passe algumas semanas compilando uma lista de requisitos para seu aplicativo. Depois de ter uma boa ideia do que você precisa, faça uma solicitação de proposta (RFP) e procure um fornecedor que não entende como funciona seu negócio para implementar o aplicativo.
Assim, você se sente confiante de que o app será um enorme sucesso: você entrevistou partes interessadas, criou uma especificação funcional baseada em processos existentes e anotou tudo. Como isto poderia falhar?
Eu tenho uma palavra para você: repetição. Quantas vezes você pediu exatamente o que queria em um restaurante apenas para ficar desapontado quando recebeu o pedido? Esse mesmo sentimento de arrependimento acontece o tempo todo com os aplicativos móveis.
Em vez de gastar semanas ou meses reunindo os requisitos, identifique rapidamente o MVP (Minimum Viable Product, ie, algo que atenda os requisitos mínimos) e disponibilize um app já funcionando – e rápido! Uma vez que o aplicativo é liberado, peça a seus usuários um feedback. Incorpore esse feedback. Lance o aplicativo novamente e novamente. Não só o seu aplicativo não será ruim, mas seus usuários vão sentir que participaram dele.
2. Não modelar o app com base em processos de negócio existentes
E se eu dissesse para você anotar o que faria se precisasse encontrar o número de telefone, endereço e horário de funcionamento de um restaurante específico no centro de uma cidade – mas sem acesso à internet? Então, por que criar aplicativos móveis corporativos modelados sobre processos já existentes?
Seus usuários provavelmente não gostam de processos quando eles têm um teclado completo e uma cadeira confortável para inserir informações. Então os forçar a fazer em um teclado projetado para pixies será ainda mais doloroso.
Aqui está um exemplo: os motoristas de entrega muitas vezes tem dificuldade em encontrar o endereço certo na primeira visita. Com o processo existente, os condutores adicionam uma descrição da localização no sistema. Com os dispositivos móveis, no entanto, o motorista pode tirar uma foto do local e marcá-lo no GPS. O processo mobile é completamente diferente e mais eficiente, e os motoristas podem concluí-lo muito mais rapidamente.
Experimente essa tática para evitar a armadilha comum na construção de aplicativos móveis baseados em processos existentes: divida um quadro em três colunas verticais. As classifique em Processos de Negócios, Mobile-First e Novas Oportunidades. Na primeira coluna, desenhe o processo existente em um diagrama de fluxo. Na segunda coluna, desenhe linhas a partir do diagrama de fluxo para as etapas que poderiam ser reimaginadas com mobile e as inclua na coluna Mobile-First.
Finalmente, na terceira coluna, com base em suas ideias para o fluxo Mobile-First, anote todas as novas oportunidades de aplicativos ou processos de negócio que este novo processo oferece. Usando o exemplo de motorista de entrega já citado, o fato de que o motorista tenha marcado o local como apartamento significa que as entregas podem ser sinalizadas, por exemplo, como “apenas embalagem fina” para permitir que o motorista deslize a entrega sob a porta e evite que entregas futuras faltem ao cliente, mesmo que eles não estejam em casa.
3. Não verificar se o aplicativo realmente está ligado ao seu negócio
Se você realmente quer estragar o seu aplicativo móvel, faça um app que crie ou atualize dados em um único sistema, e force o usuário a editar posteriormente os dados ou adicionar mais informações para que sejam parte de um processo mais amplo.
Você não quer que seu aplicativo móvel seja separado de seus processos de negócios e incapaz de atualizar seus sistemas centrais. Você quer que os dados de aplicativos móveis sejam parte contínua da experiência empresarial – o que eu gosto de chamar de empresa UX (User Experience – ou experiência do usuário, em tradução).
Estou constantemente vendo organizações lançarem novos aplicativos móveis incríveis para a visualização de dados corporativos que são completamente desprovidas de empresa UX. Estes aplicativos permitem que os usuários exibam informações em movimento, mas os obriga a ir para outro sistema para atualizar dados. O que realmente acontece é que o seu processo de negócio é mais difícil agora do que era antes de você dar a seus usuários o novo aplicativo sofisticado.
Uma estratégia para evitar uma empresa UX ruim é a utilização de plataformas de nuvem e provedores, conectando com segurança os sistemas existentes para a nuvem como um hub de integração móvel. Então, construa seus aplicativos com esta nova plataforma como um ponto único de conectividade de aplicativos mobile.

303

Plataformas de nuvem falam em mobilidade – com APIs RESTful, transferências de dados eficientes e SDKs móveis nativas – para que seja possível criar uma grande empresa UX sem nunca gastar em ciclos de desenvolvimento caros atualizando sistemas legados.
Com frequência, vejo empresas condenarem seus aplicativos mobile. O motivo predominante é que eles se aproximam de aplicativos móveis da mesma forma que sempre trataram projetos: usam especificações de requisitos em excesso, não criam processos para utilização das novas tecnologias, e não prestam atenção à experiência do usuário empresarial (ou enterprise UX experience).
(*) Quinton Wall é diretor de Tecnologia de Plataforma da Salesforce.com

FONTE: http://cio.com.br/opiniao/2016/10/10/tres-erros-comuns-na-criacao-de-aplicativos-moveis-e-como-evita-los/

Tendências que impactarão o mercado de Cloud Computing em 2017

Estudos do Gartner apontam que em 2017 os investimentos das empresas brasileiras em Cloud devem chegar a US$ 4,5 bilhões, e até 2020 devem atingir US$ 20 bilhões. Para tal, jogadores de peso no mercado de Cloud Computing já estão presentes no Brasil, como Amazon (AWS), Microsoft e IBM, e em 2017, Google e Oracle prometem presença em território nacional – afinal todos querem a sua fatia no mercado, e concorrem ferozmente com ofertas de empresas brasileiras. Mas porque esta tendência do mercado em migrar para modelos de TI na nuvem?
O mundo mudou. Se tornou totalmente digital, exigindo produtos cada dia mais interligados via internet, com rapidez quase instantânea, qualidade e preços competitivos – por isso, é indiscutível que em qualquer empresa, a tecnologia se tornou a base da sua operação, da produção e do atendimento aos seus clientes. Mas, em paralelo, hardware e software se tornaram os vilões de gastos em propriedade e manutenção, que só tendem a aumentar drasticamente ano a ano.

Isto gerou, nos últimos 5 anos de forma nunca vista, uma tendência mundial das empresas a migrar para ambientes em nuvem para atender este “mundo novo”, se preocupando com seu negócio e não com a tecnologia e nem com sua manutenção.
Esta tendência finalmente se tornou uma realidade no Brasil: atualmente, devido a pesados investimentos em telecomunicações, a comunicação pela internet finalmente deixou de ser um fantasma e a oferta de ambientes na nuvem, de forma massificada por empresas multinacionais e nacionais, tornou a oferta de mercado viável financeiramente.
O que há alguns anos nem se imaginaria por parte das empresas brasileiras – que sempre foram extremamente conservadoras e céticas a ambientes externos em TI -, hoje se tornou necessária devido a alguns fatores básicos de mercado. Dentre eles, o principal é a atual situação econômica, levando as empresas a repensarem suas estratégias e romperem paradigmas para atingir a velha e batida estratégia de redução de custos, mas com melhor qualidade.
A segurança e confiabilidade dos ambientes de TI na nuvem também são um fato. Os investimentos em verdadeiras cidades de concreto, que contêm um oceano dos mais modernos hardware existentes, com os mais avançados sistemas de segurança virtual e física, são construções que espalhadas pelo mundo garantem a realidade da cloud computing. Ambientes que as empresas jamais conseguiriam adquirir e manter, agora são compartilhados com segurança, redundância, e manutenção a um custo dividido. Baseados nestes ambientes, assistimos ao crescimento desmedido de redes sociais, softwares para comunicação, notícias do mundo inteiro em tempo real, jogos on-line, e recentemente até bancos totalmente digitais sem agências.
Uma premissa que sempre vale recordar é que a realidade de migrar para novas tecnologias não é tão simples quanto parece. Por este motivo, se munir de informação e uma consultoria realizada por profissionais qualificados, com experiência no assunto, é sempre uma ótima prática para evitar transtornos futuros, e selecionar a melhor oferta e mais qualificada para seu negócio.
Agora os mundos virtuais não são mais ideias futuristas: são uma realidade. Assim as empresas vão migrar para melhorar sua oferta e performance para um público cada vez mais digital e exigente. As empresas também se tornarão mais eficazes e competitivas, a um custo com baixíssimo investimento, onde a Cloud Computing é a luz no final do túnel.
*Julio Mejías é executivo comercial na DBACorp.

FONTE: http://computerworld.com.br/tendencias-que-impactarao-o-mercado-de-cloud-computing-em-2017

Desenvolvimento de software em pequenas etapas é a melhor opção?

Há quem pense que contratar o desenvolvimento de um software, ou sistema, é como baixar um aplicativo no smartphone. Basta identificar o problema que precisa ser resolvido na empresa, escolher a tecnologia mais moderna que se adeque à necessidade apontada e, em poucos cliques, a tecnologia começará a funcionar de maneira simples e rápida.
Longe disso, a realidade mostra que muitos executivos e gestores acabam optando por comprar ferramentas incompletas, inadequadas, caras e que levam a muita dor de cabeça com o passar do tempo, apenas por não saberem como gerenciar o processo – desde a seleção do fornecedor até os ajustes necessários para adaptar o software à realidade da organização.
Desenvolver um bom sistema leva em conta não só os gargalos imediatos que o cliente identificou, mas, também, todos os problemas e ganhos que ele pode ter com automatizações de processos, algo impossível de se enxergar por completo antes de se implementar a tecnologia. Muitas empresas não conseguem perceber o potencial que existe por trás das tecnologias que adquirem.
Em geral, as organizações pensam em desenvolver uma ferramenta somente quando percebem que existe alguma dificuldade que impede o crescimento de uma operação ou quando esta consome mais recursos humanos do que a empresa tem ou está disposta a usar. Mas o gargalo costumar ser apenas a ponta do iceberg e o pensamento simplista de que ‘é preciso comprar um programinha que faça algo por nós’, pode ser bastante nocivo para os negócios.
Praticamente todas as empresas precisam de diversos programas integrados em um sistema para garantir sua eficiência operacional. Mas, na prática, o que mais acontece ainda é a venda de softwares no formato tradicional, que não leva em conta a necessidade de flexibilidade dos projetos, especialmente em uma época em que as organizações precisam se adaptar rapidamente a mudanças. Esse processo antigo pode ser comparado com a construção de uma casa. Ou seja, a pessoa que quer montar seu novo lar, conta sua necessidade para um arquiteto e este faz desenhos de como ele imagina uma casa ideal para cada família. Quando o cliente acha que a proposta está boa, autoriza sua construção.
Em TI, o desenvolvimento tradicional é muito parecido. O usuário apresenta um problema para um analista ou programador e esse imagina uma maneira de resolvê-lo. Depois de aprovada a solução, começa o desenvolvimento do software, que é entregue completo e de forma fechada.
Esse método parece ser o mais simples, mas não é o ideal, pois pode inviabilizar ajustes e a qualidade do projeto. Assim como na construção de uma casa, depois que as fundações estão feitas e as paredes já estão construídas, não há muito como voltar atrás. Ele alerta que os processos internos da empresa podem mudar e isso se reflete diretamente em qualquer software envolvido.
Outro fator importante é que atores que não tinham sido envolvidos antes podem simplesmente levantar novas demandas, provocando mudanças profundas em tudo que vinha sendo feito. Por isso, as empresas de tecnologia com mais experiência de mercado procuram trabalhar com contratos com escopo flexível ou negociável. Essa nova modalidade de negócios permite que seja feito um levantamento inicial, que indicará as principais pontas do iceberg das empresas. Isso evita que o processo fique engessado e as empresas paguem caro por um software que, quando entregue, simplesmente não atenda mais a demanda ou, pior, atrapalhe mais do que ajude.
Atualmente, a contratação de desenvolvimento de software em pequenas etapas, também conhecidas como sprints, vem sendo uma tendência entre as empresas, por oferecer a opção de negociar com o fornecedor uma espécie de test-drive do produto, visando identificar sua utilidade em problemas pontuais por um período de 7 a 14 dias. Dessa forma, é possível que o cliente teste o funcionamento da tecnologia e, assim, possa sugerir mudanças de escopo no projeto. Cada organização escolhe o período que fizer mais sentido para suas necessidades.
Depois que o primeiro sprint acabar, ela pode avaliar o que foi feito e escolher, junto com o desenvolvedor, quais as próximas necessidades a serem testadas adiante. Assim, a cada sprint, o cliente tem a opção de pedir novas funcionalidades ou retirar processos que estavam no escopo inicial, mas que, por alguma razão, deixaram de ser necessários. Essa metodologia torna o desenvolvimento muito mais flexível e produz um software final muito mais adequado às reais necessidades do cliente.
Por fim, aconselho os gestores a tratar o desenvolvimento de software como um processo de consultoria, com acompanhamento constante, algo diferente do que é largamente praticado no mercado, em que as empresas estão habituadas a contratar fornecedores TI pontualmente, por software ou sistema que desejam desenvolver. Ao contratar um software à moda antiga, o cliente normalmente paga muito dinheiro ao longo de todo o seu desenvolvimento, o que pode levar meses, ou até anos, vendo os resultados apenas no final. Se esse resultado for ruim, ou se simplesmente não atender à demanda no momento da entrega, ele tem uma perda financeira e operacional enorme.
Ao contratar uma empresa de forma flexível, a cada sprint ele vai tendo contato com o que está sendo feito e, em pouco tempo, já começa a ter partes do software prontas para testar e usar. Isso faz com que ele possa interferir no desenvolvimento a cada pequeno período de tempo e que o resultado final seja muito mais adequado e barato em relação a suas reais necessidades. Além disso, cada nova parte do software que se torna disponível para uso abre um leque de possibilidades de modificações e melhorias nos processos que vinham sendo usados. É possível até realizar coisas antes consideradas impossíveis ou impensáveis. Com isso, o resultado final pode acabar sendo muito melhor do que o planejado.
(*) Claudio Sá de Abreu é especialista em segurança da informação da empresa Vialink

FONTE: http://cio.com.br/gestao/2016/02/12/desenvolvimento-de-software-em-pequenas-etapas-e-a-melhor-opcao/

Como a mobilidade tem mudado os negócios

De acordo com um levantamento do IDC, o ano de 2015 registrou uma queda de 10,4% na venda de computadores em todo o mundo. Parte desse resultado se deve ao crescente uso de smartphones e tablets. Sob esse prisma, o estudo reforça uma tendência que, com o crescimento dos dispositivos móveis, o foco agora passa a ser o atendimento das necessidades do usuário móvel em diversos contextos e ambientes, em vez de focar somente no dispositivo. No entanto, as empresas brasileiras têm um grande desafio pela frente no que tange a migração e integração entre os sistemas corporativos – conjunto de ferramentas e metodos voltados à melhor gestão das corporações – e a mobilidade, em especial, por meio dos aplicativos corporativos.
A tarefa de migrar sistemas corporativos para celulares e tablets não é tão simples quanto comprá-los, configurar contas de e-mail, agenda, contatos e calendário. Isso porque toda a atividade de migração compete às empresas de sistemas corporativos, restando ao empresário a simples adoção de aplicativos que estendem as funcionalidades do legado para a palma das mãos. Nesse sentido, o que se vê hoje é que há uma grande resistência das empresas para a adoção dos aplicativos corporativos, que passam por questões que vão do custo de implementação, segurança, gestão e políticas e, até mesmo, prioridades do negócio.

Um questão crítica, por exemplo, é a segurança, visto que pode expor informações estratégicas e sigilosas do negócio. As empresas precisam estar preparadas para lidar com questões como perda de equipamento, roubo de informações, uso de pen-drives,o uso de equipamentos pessoais parte do BYOD (Bring your on device). Contudo, no caso da segurança em celulares e tablets, existem soluções de MDM (mobile device management ou gerenciamento de dispositivos mobile) – uma espécie de anti-vírus que permite desde o gerenciamento de Apps corporativos, passando pelos dados, até o rastreamento de aparelhos com seu reset se necessário (apagar totalmente ou parcialmente dados à distância).
Outras questões devem ser ponderadas pelos empresários tendo em vista as prioridades na TI. No entanto, a recomendação é que adicionem outros elementos nas análises, tais como crescer a base de usuários no mobile em detrimento do legado para reduzir custos, uma vez que usuários de aplicativos são mais baratos; a adoção de celulares e tablets com grande poder de processamento são mais baratos que notebooks, com baterias que duram muito mais; além de grande parte dos usuários de sistemas de gestão utilizarem poucas funcionalidades e os bons fornecedores de tecnologia priorizam justamente estas funcionalidades adotadas em massa, as quais se enquadram os aplicativos.
Produtividade do colaborador é outra grande questão. Um aplicativo consegue unir diferentes funcionalidades que ajudam a reduzir o tempo de cada operação, ou seja, o ROI (Retorno sobre o investimento) poderá ser medido por Aplicação versus Colaborador. Além disso, a capacidade de customização de processos ou rotinas particulares ao seu negócio, os bons fornecedores têm essa capacidade e os aplicativos também estão lá a baixo custo de especialização.

Empresas sérias avaliam regularmente os constantes ciclos de mudança tecnológicas, uma vez que suas operações “rodam” sobre camadas de software, muitas vezes, customizados e quebras abruptas podem colocar em risco a produtividade e lucratividade. Todavia, a adoção da mobilidade é singular por se tratar de uma camada de transição sobre os sistemas existentes – são basicamente entradas pontuais de dados, consultas e tomadas de decisão-, mas que agregam enorme produtividade no cotidiano das pessoas e, consequentemente, das empresas.
Finalmente, de olho no ganho de produtividade, companhias de países Europeus, Norte Americanos, Ásia e do Sudeste Asiático adotaram a mobilidade corporativa como a grande mudança de paradigma na computação. O uso dos aparelhos móveis para checar e-mails corporativos, realizar reuniões, planejar ações, auxiliar crises são alguns exemplos de atividades realizadas com a adoção da mobilidade corporativa, usada como ferramenta de trabalho e que trouxera beneficios reais para as companhias. Nesse sentido, podemos avaliar que, enquanto os sistemas corporativos se mantiverem enclausurados em PCs e Laptops, as empresas ficarão estagnadas em um modelo engessado. A adoção da mobilidade corporativa é uma tendência que veio para ficar e que prevê ganhos bem maiores que os riscos, especialmente, para as companhias que queiram agregar um diferencial competitivo, aumentando seu desempenho, automação e produtividade.
Gustavo Jota é Gerente de Performance Corporativa na Senior

FONTE: http://www.administradores.com.br/noticias/negocios/como-a-mobilidade-tem-mudado-os-negocios/112731/

Nuvem pode levar empresas a economizarem até US$ 300 bilhões por ano

“Não há motivos para não estar na nuvem”, defende o CEO da Oracle, Mark Hurd. Na opinião do executivo, cloud representa uma “oportunidade única para obter mais inovação a um custo menor e de maneira mais simples”.
Na opinião do executivo, as empresas seriam capazes de economizar até US$ 300 bilhões por ano ao migrar suas infraestruturas de TI para a nuvem – recurso que poderia ser utilizado para a realização de projetos de inovação, em vez de ser gasto com manutenção de hardware e software.
Segundo Hurd, há muitos poucos casos em que é possível reduzir custos e elevar o nível de inovação ao mesmo tempo. O modelo de computação em nuvem pode ajudar os CIOs a enfrentarem melhor a pressão por corte de custos, liberando o orçamento de TI. “Esta mudança é urgente e necessária, já que 80% do custo total de TI está relacionado com as operações de manutenção”, diz o executivo.
Ainda segundo o executivo, o desenvolvimento e os testes representam atualmente cerca de 30% dos custos totais de TI das empresas e a maior parte é desperdiçada em tarefas rotineiras, como configurar um servidor. Se este tipo de gasto fosse direcionado à nuvem, as empresas economizariam até US$ 300 bilhões – recurso que seria melhor aplicado na busca por inovação.
Hurd prevê que até 2025, 80% do mercado de aplicativos em nuvem estará nas mãos de apenas dois provedores de nuvem – e a Oracle será um deles.

FONTE: http://cio.com.br/noticias/2016/01/28/nuvem-pode-levar-empresas-a-economizarem-ate-us-300-bilhoes-por-ano/