Ernani
Ainda discordo que seja purismo e na sua colocação sobre sistemas sem bugs.
Não acredito que a entrega incremental deixe espaço para "liberar mesmo com vários bugs"; pelo contrário. Como você sabe, a entrega incremental é para medir o valor agregado do entregável agora e não no fim do projeto como promove processos cascateados. Isso muda significamente a projeção do ROI e Payback, além de diminuir os riscos do processo de desenvolvimento.
Também venho acompanhado nestes 8 últimos anos equipes de 6, 600 e 2000 desenvolvedores diariamente respondendo requisitos de empresas como Shell, Petrobrás, NET, McDonalds, Banco do Brasil, entre outros... Assim como acompanhado desenvolvimento de softwares que faturam mais de 200 milhões de reais ano e discordo categoricamente.. Os bugs não são notados pois os cenários (user stories) não são testado como se devem ou porque a cobertura do código não é suficiente! nem a cobertura de testes unitários nem as de integração. Isso é fato!
Em estratégias fremium, adotadas por diversas startups, alguns erros matariam o produto no primeiro ano. No primeiro ano. (Lembre-se que neste período somente 1% transforma-se em clientes que pagam)
Para saber se um sistema é viável ou não há inúmeras abordagens já estudadas e praticadas por empresas de diversos portes. Sobre as funcionalidades adequedas a serem promovidas a release concordo com você e com a literatura. Há uma outra excelente literatura para isso: "Where good ideas come from?".
Obrigado pela conversa. Excelente tópico!
[]s FC
Em 5 de fevereiro de 2013 01:36, Ernani Joppert Pontes Martins <joppert@gmail.com> escreveu:
Fernando, já imaginava que esta parte do texto fosse ser meio polêmica
e, não foi à toa, só não quero causar atritos na lista, com um e-mail
gigantesco, e sim trazer
ao bom senso o que aprendi vendo exemplos por aí e lendo livros e
aplicando na prática...
Mas, também para não deixar a coisa de uma maneira tão vaga, e, dando
margem à interpretações mil, quando quis dizer isto, levei como pré
requisito um sistema funcional e que gera lucros...
Depois claro que foquei também na quantidade de bugs...
Quando saímos da faculdade, queremos por mais que tudo colocar todos
os conceitos aprendidos na universidade e nos livros puristas as
práticas ensinadas na teoria, mas, a prática é bem diferente...
O foco aqui está no sistema funcional, e lucrativo, se o cliente
paga,é porque está satisfeito...
Se há bugs ou não, o cliente está pagando, e, se está pagando mesmo
com bugs, por pior que seja este aspecto, significa que eles não
causam detrimento do seu produto em questão...
Agora, também abordando a qualidade de software, tenho acompanhado
exaustivamente a maturidade da turma, e, sei que em toda sua maioria o
pessoal aqui é bem fluente no que faz...tenho visto trabalhos
exemplares...
Gostaria que alguns até se manifestassem, mas, acho que é um uníssono,
quando falamos que não existe sistema sem bugs...
Os bugs as vezes existem e nem sequer notamos, a não ser quando o
cliente reporta o quando damos a sorte de captá-lo antes de um
release.
Muitas abordagens, tais como TDD e afins, evitam esta situação, SCRUM
também foca em bugs identificados para serem trabalhados no backlog do
próximo release.
O problema é que num ambiente enxuto, onde temos o desenvolvedor e
mais ninguém ou, num caso de sorte, 2 amigos desenvolvedores, na sua
garagem de casa (trazendo um pouco da era .com), isto é praticamente
uma utopia.
Claro que o sistema livre de bugs é o ideal, mas, se você não soltar
seu produto o mínimo funcional possível, com várias coisas para
colocar em prática, e, consequentemente vários bugs para corrigir ou
várias melhorias para implementar, você nunca vai saber realmente se
seu produto é viável e quando mencionei este texto, foi de uma maneira
sucinta e um tanto quanto chocante (de propósito) de expor este
processo prático de pensar em realmente lançar algo funcional,
imperfeito mas, aceitável a fim de que seu cliente pague por ele e
mantenha seu time ou você à todo vapor motivado a melhorar o sistema
até que se torne algo tão viável que possibilite pensar em estratégias
ainda mais ricas para a melhoria do produto em si...
É o lance do livro lean startup, onde o cara do livro trabalhava numa
empresa que fundaram, chamada de IMVU, e, tinha vários bugs o sistema
de chat deles, era um chat tipo second life, com personagens em 3d, e,
colocaram uma funcionalidade do personagem de teleportar, em vez de
animar o personagem de um ponto A a um ponto B, e, depois de uma
pesquisa de comportamento dos clientes, a fim de conseguirem mais
usuários pagos, descobriram que este trade off era na verdade uma das
funcionalidades mais interessantes para os clientes pagos, e, pararam
de focar no que achavam legal e economizaram um tempo absurdo que
teriam gasto se tivessem segurado o release do produto a fim de
implementar esta tal funcionalidade que julgavam ser primordial.
[]'s
Ernani
2013/2/5 Fernando Costa <fcosta@inmov.net>:
> Prezado Ernani
>
> Quase enriquecedor seu email, mas vi que você fudeo quando escreveu a
> pérola "Eu sou partidário de que o melhor sistema ou tecnologia é aquele que
> funciona e dá lucro, independentemente da quantidade de bugs, problemas ou
> sequer arquitetura, ..".
>
> Prezado, como uma pessoa com sua experiência me solta essa pérola? Como um
> sistema pode funcionar independente da quantidade de bugs? Como podemos
> defender um arquitetura middle-out assim?
>
> Nós como fornecedores de solução podemos manter uma mentalidade assim?
>
> Vamos pensar fora da caixa.
>
> Abs,
>
>
>
>
>
>
>
> Em 4 de fevereiro de 2013 19:12, Ernani Joppert Pontes Martins
> <joppert@gmail.com> escreveu:
>
>> Acredito que tanto upgrades verticais quanto horizontais fariam
>> diferenças significativas num ambiente apache + php dependendo do tipo
>> de setup feito no apache.
>>
>> O apache 2 é multithreaded e, o php, se instalado com a libphp, que é
>> um módulo do apache, suportaria threading também, o que, se, no caso
>> de um upgrade de processador com mais cores, beneficiaria o setup.
>>
>> Memória, tudo depende do tipo de aplicação em questão, como os scripts
>> em PHP são short lived, ou seja, executam e morrem, raramente precisam
>> de muita RAM, o que pode ser feito é uma otimização no apache a fim de
>> limitar ou aumentar a quantidade de threads e requests por thread e a
>> quantidade de processos filhos que ele sobe inicialmente e qual o
>> máximo de quantidade de threads ele aguentaria, o que, sinceramente
>> consegue-se uma performance absurda.
>>
>> Tudo isto poderia beneficiar-se de um upgrade de RAM, dependendo da
>> quantidade de memória definida por processo do PHP.
>>
>> Confesso que após vários projetos em Java. onde para a aplicação
>> funcionar, precisava-se de um app server, e, consigo uma série de
>> setups, tunning e ajustes de segurança, o Java e a JVM em si comem
>> muita RAM, já o PHP é mais flexível nesta parte, e, por isto, o custo
>> de hospedagem é mais em conta.
>>
>> Acredito que não exista bom ou ruim, nem melhor ou pior, o que define
>> muito o ecossistema de uma empresa, e sua infra de TI é a vontade de
>> adotar-se um padrão de desenvolvimento e por isto optam homogenização
>> da tecnologia e com isso o Java sai em vantagem por estar presente em
>> várias plataformas, inclusive embarcados.
>>
>> O PHP também está, mas, como é mais voltado para a Web, e, não tanto
>> para comunicações remotas, tais como CORBA, RMI, IIOP e afins, ele
>> acaba perdendo interesse das grandes empresas.
>>
>> Temos muitos casos de uso, mas, falando mais do PHP, o Facebook, por
>> seguir uma linha mais voltada à Web, e também para webservices, deu um
>> jeito interessante de inovar o PHP criando o compilador HIP HOP, que
>> transforma os scripts em C puro, e também está adotando um mecanismo
>> de JIT (Just in Time Compiler) justamente para poder tirar o máximo do
>> proveito da velocidade de execução dos scripts.
>>
>> Bacana divagar sobre isto por horas, mas, o foco da lista é Android,
>> peço desculpas pelo OT, mas acho legal que os desenvolvedores da
>> lista tenham um entendimento mais macro de um ambiente distribuído e
>> também não mitifique uma tecnologia X ou Y.
>>
>> Eu sou partidário de que o melhor sistema ou tecnologia é aquele que
>> funciona e dá lucro, independentemente da quantidade de bugs,
>> problemas ou sequer arquitetura, e, muitas vezes algumas linguagens da
>> qual o desenvolvedor é mais familiarizado dá à ele a possibilidade de
>> transofrmar a idéia em algo real e concreto, a fim de depois se
>> preocupar com problemas dos quais todos nós gostaríamos de enfrentar,
>> se, é claro, o negócio realmente for algo viável!
>>
>> Abraço,
>>
>> Ernani
>>
>> 2013/2/4 Ricardo Othuki <othuki@gmail.com>:
>> > Escalabilidade vertical seria um Upgrade no servidor, como por exemplo,
>> > um
>> > processador mais rápido, mais memória, maior numero de "cores", etc.
>> > Sem entretanto aumentar o numero de servidores. Com Apache + PHP, este
>> > tipo
>> > de upgrade fara pouca diferença em casos de alta concorrência.
>> >
>> > Normalmente tenta-se um upgrade vertical (de menor custo) e ao atingir o
>> > limite, parti-se a horizontal, incluindo mais servidores para atender a
>> > demanda, com mais servidores tem-se a necessidade de um load-balance ou
>> > outras soluções que impactam diretamente nos custos.
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups
>> > "Android Brasil - Dev" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> > an
>> > email to androidbrasil-dev+unsubscribe@googlegroups.com.
>> > For more options, visit https://groups.google.com/groups/opt_out.
>> >
>> >
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Android Brasil - Dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to androidbrasil-dev+unsubscribe@googlegroups.com.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>
>
>
> --
> FERNANDO DA COSTA
> Inmov - Inteligência em Movimento
> fcosta@inmov.net
> +55(11)2175-1174
> +55(11)9319-8385
> FaceBook Page
> Siga-nos no twitter: @inmov
>
> --
> You received this message because you are subscribed to the Google Groups
> "Android Brasil - Dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to androidbrasil-dev+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
FERNANDO DA COSTA
Inmov - Inteligência em Movimento
fcosta@inmov.net
+55(11)2175-1174
+55(11)9319-8385
FaceBook Page
Siga-nos no twitter: @inmov
FaceBook Page
Siga-nos no twitter: @inmov
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.






0 comentários:
Postar um comentário