Nubank e feature flag

Galera aqui já deve ter notado que o Nubank frequentemente vai soltando as novidades aos pouquinhos né? Mas já pensaram pra pensar em como eles fazem isso?

Como sou da área de desenvolvimento (não do Nubank, infelizmente) eu procurei entender isso e a um tempo entendi sobre as maravilhas do feature flag e achei legal compartilhar com vcs.

Pra contextualizar, essa tecnologia permite escolher qual funcionalidade vai ser liberada, pra onde, e pra quem. Como se fosse uma flag mesmo, um botãozinho de liga e desliga.

Mas pq eles fazem isso?
Pq assim eles conseguem minimizar a taxa de erros, onde o usuario final (a gente) utiliza a ferramenta e consegue testar, pois se tiver algo errado poucas pessoas serão afetadas com isso… até pq quem desenvolve ja ouviu dizer o “mas na minha maquina funciona”.
E com isso a gente ajuda eles a produzir um produto com muito mais qualidade e com o mínimo de erros.

E pra quem eles liberam primeiro então?
Lembro que fui no Yes, She Codes e eles contaram que primeiramente eles liberam pra todo mundo que trabalha lá, e então se tiver sucesso eles vão soltando a funcionalidade aos poucos pro resto dos clientes.

Legal né gente? Acho incrível como o Nubank trabalha, e na minha opinião foi a empresa pioneira em se preocupar com a experiência do usuário.

Se eu falei algo errado me corrijam por favor.

Bjs

#featureflag

24 Likes

Muito interessante nunca parei para pensar de que forma que isso acontecia, obrigado pela informação sobre feature flag, quem sabe posso implementar isso na empresa que eu trabalho em algum momento.
Nubank sempre inovando.

2 Likes

abri minha conta recentemente e me arrependo de não ter feito antes a alguns anos qdo recebi o convite. Esse banco é demais, tomara que nunca se corrompa como os outros.

3 Likes

Muitas empresas fazem isso mesmo, ou para terceirizados que fazem o suporte deles, Netflix é assim.

2 Likes

@npuglisi Razô :purple_heart:

1 Like

@npuglisi, muito interessante isso.:+1:

2 Likes

Entendo a importância e os benefícios que esse tipo de teste traz no desenvolvimento do app/serviço, minha birra, no entanto, é que esse sistema de “feature flags” acabar anulando o programa beta do próprio app.

Por exemplo, uso o Nubank no Android e me inscrevi, pela página do app na Play Store, para receber versões beta. Desde então, o app recebe atualizações com uma frequência muito maior, no entanto, assumo que por conta das features flags, o beta do app é a mesma coisa da versão “estável”.

Por conta disso, é muito comum o Nubank anunciar recursos novos para o público mas ainda sim levar semanas ou até meses pra tal recurso aparecer no meu smartphone, mesmo eu tendo deliberadamente optado por receber versões antecipadas de teste. Deveriam afinar o algoritmo para automaticamente incluir usuários que optaram por participar do programa beta ou então nem disponibilizar tal programa na página do app…

2 Likes

Bom,gostei :clap::clap:

1 Like

Eu já conheço feature flag muito bem explicada pela @npuglisi. Empresas mais conscientes usam para como foi dito, minimizar os possíveis erros, só que no caso do Nubank eu observo que existem implementações que demoram muito para alguns, mas isso é algo que não me.preocupa, só deixa um pouco ansioso rsrs. Mas tipo, o bom é que chegue tranquilo, sem bugs.

2 Likes

Acho muito importante essa liberação aos poucos. Já tive problema sério com o C6Bank porque liberaram funcionalidade nova totalmente bugada para todo mundo.
Aqui no Nubank, normalmente utilizam a comunidade para liberação inicial.
Algumas funcionalidades são liberadas primeiro para quem é NuMentor, depois para o restante das pessoas cadastradas aqui e por último para o restante dos clientes.
Isso evita muitos problemas.

2 Likes

O que muitos infelizmente ainda veem como uma demora, mas quando o serviço chega, chega redondo.

2 Likes

#top👍

1 Like

@mbc07
Acho q isso é só uma questão de processo, pq provavelmente existe um grupo pra usuarios de beta, ou seja, qdo eles querem soltar alguma funcionalidade q já foi verificada pelo primeiro grupo de usuarios (os funcionários primeiro, como eu disse), e então o grupo dos usuarios betas…
E eu não entendi o pq vc precisa tanto de uma versão ‘instável’, pq de qualquer forma sendo beta, vc ve funcionalidades primeiro q mta gente, e com certeza vc tem um papel fundamental nisso.

O jeito q vc coloca dá a entender q o beta é só uma formalidade, oq eu não acho q seja verdade, então, caso vc nao receba versões instáveis e tal, significa q eles tem feito um excelente trabalho, e entregando um produto mto mais refinado do q a gnt imagina.

Meu ponto é que na teoria era pra ser assim, mas na prática não funciona (pelo menos não com o Nubank), e assumo ser por conta das feature flags. Todos os funcionários recebem as feature flags das novas funcionalidades por questões óbvias, mas depois disso, quando a funcionalidade é considerada “estável” para ser distribuída para mais usuários, é puramente sorte, não tem relevância alguma você estar recebendo versões beta do app ou não.

Por exemplo, conheço diversos usuários que não fazem parte do programa de teste e que receberam funções recentes, como a conta PJ, a recarga de celular e empréstimos pessoais muito antes de mim, que deliberadamente me inscrevi e tenho recebido versões beta do app.

Mais uma vez, eu compreendo a importância e os benefícios que as feature flags trazem no ciclo de desenvolvimento de novas funcionalidades, porém deveriam priorizar os participantes do programa de testes na hora de liberar as feature flags para um público maior ou simplesmente não ter um programa de testes, já que a liberação dos novos recursos (pra quem não é funcionário) é puramente na sorte, como acontece atualmente.

2 Likes

@mbc07 você falou exatamente o que pensei! Testadores Beta deveriam receber as novas funcionalidades antes das outras pessoas, porém no Nubank isso não funciona. É pura sorte!

2 Likes

Não é na sorte. Conforme eu falei acima quem está inscrito na comunidade e tem maior participação recebe as funcionalidades primeiro. Porém algumas funcionalidades são liberadas somente na versão beta.
Por exemplo, eu sou NuMentor, recebi diversas funcionalidade bem antes que a maioria dos demais clientes como recarga, pagamento automático da fatura, alteração de endereço pelo app, utilização de débito no Spotify e Netflix. Não é questão de sorte. Quem é NuMentor tem acesso a uma área exclusiva aqui e sempre somos avisados com antecedência sobre as novidades. Existe uma ordem de libertação, normalmente primeiro NuMentor depois demais cadastrados na comunidade e por último o restante dos clientes. Para a liberação é preciso que o email cadastrado aqui seja o mesmo utilizado na NuConta.

1 Like

Pois você acaba de confirmar o meu ponto, a única diferença entre a versão estável e a versão beta do app é o número de versão, visto que as funcionalidades são controladas exclusivamente pelas feature flags e o critério de seleção é supostamente o nível de engajamento na NuComunnity, logo não faz sentido oferecer o programa beta, ele não tem relevância alguma na hora de distribuir as feature flags para mais usuários.

E pelo visto você só vai ter alguma prioridade caso seja NuMentor, caso contrário vai ser na sorte como o resto dos usuários. Prova disso é eu utilizar aqui o mesmo e-mail cadastrado no app do Nubank e regularmente receber versões beta do app mas ainda sim só tenho acesso às novas funcionalidades muito depois de outros amigos que sequer sabem da existência da NuComunnity, mas que tiveram “sorte” de receber as feature flags com antecedência.

2 Likes

Acho q é só uma questão de processo deles mesmo, realmente não acho justo vc ser usuario beta e receber as atualizações so depois de pessoas q não são.
Mas a ideia de feature flag é mto legal, pena q estão fazendo desse jeito estranho ai =(

Vc ja tentou abrir um bug pra eles verem isso?

Não sei se eles tem um canal “aberto” para reportar bugs. Percebi que após inscrito no programa de testes, o espaço de avaliação do app dentro da Play Store foi substituído por um “feedback privado para o desenvolvedor”, no entanto nunca obtive resposta alguma nos feedbacks enviados.

Lembro que em um outro momento (quando anunciaram a opção de reordenar a barra de atalhos rápidos do app, se não me falha a memória) eu perguntei no “Me Ajuda” quando os participantes do programa de testes receberiam tal função e recebi apenas a mesma resposta genérica, de que “novas funcionalidades são distribuídas aos poucos para a base de usuários”.

Enfim, não duvido que exista algum grupo de usuários (sem ser os próprios funcionários do Nubank) que tenha prioridade na hora de receber feature flags consideradas “estáveis”, mas claramente não são os participantes do beta. E dada essa cultura de secrecidade em torno de alguns aspectos do Nubank (por exemplo, o critério para aprovação do cartão de crédito), duvido muito que um dia revelem quais são esses grupos e como participar deles.

Única pista que eu tenho agora é que segundo o @Lemuel1987 você (supostamente) passa a ter alguma prioridade após virar “NuMentor” aqui na comunidade, e, mais uma vez, se o critério é apenas esse, não faz sentido oferecer o programa de testes, que vive liberando diversas versões beta que na prática são idênticas às versões estáveis porque você ainda não teve sorte de receber as novas feature flags…

2 Likes

Na verdade não é bem assim. Até onde sei hj todo NuMentor está inscrito no beta. Até onde sei ele implementam o suporte a uma função na versão beta e aos poucos vai liberando a função ao usuário até liberar na versão estável. O Nubank está sempre testando novas funções, algumas são liberadas para todos e outras são melhoradas antes disso. Por isso ele fazem esses testes.
O email com a respectiva do ano passado por exemplo, a versão final foi um pouco diferente da versão de teste inicial.

1 Like