08448380779 Call Girls In Civil Lines Women Seeking Men
In Toggle, We Trust
1. IN TOGGLE, WE TRUST
PUNEET ARORA
PRINCIPAL DESIGNER
DELL DIGITAL
2. ROLE OF FEATURE TOGGLES IN THE EVOLUTION OF
DELL DIGITAL
The speed with which technology is moving today, customers are able to buy things and experiences in a matter of
seconds. Technology has removed all barriers - not only the ones between online and offline, but also the ones
that caused friction during the decision-making process. Today at Dell Digital, we are going through an
unprecedented change – led by innovative people, newer systems and revolutionary processes.
As we move forward and disrupt ourselves, the need for nimble and frictionless experiences is becoming vital to
our growth. The rise and rise of micro-services is one such example where our organization is firing on all cylinders
– be it Commerce Platform, Buyer or Seller applications.
3. RISE OF MICRO-SERVICES
AND CHALLENGES
As they say, Big things come in Small packages.
In Commerce services organization, we are trying
to break big “monolithic” applications into small,
independently versioned and scalable micro-
services each of which is designed for a specific
purpose; so as to deploy, test, tweak and then
redeploy them without impacting the overall
system health and status.
But with increased complexity, overwhelming
interdependencies, performance issues arising
from remote service communication and
increased risk of service failures, migrating to a
micro-services architecture can become a big
problem.
4. TOGGLE
THE
PROBLEM
Kent Beck, the creator of Extreme Programming and one of the leading proponents of TDD (Test Driven
Development) says complexity is the biggest enemy to scaling. He continues saying “When there are many
elements in the system and each can be in one of a large number of states, then figuring out what is going on
and what you should do about it grows impossible.”
Just like engineering teams at the famous FAANG (Facebook, Amazon, Apple, Netflix & Google) do it, we at
Dell are also pushing our code into production servers thousands of times a day. Pivotal-enabled balanced
teams are obsessed with pushing chunks of code for Continuous integration & deployment.
The idea is to make a feature hide behind a flag/toggle switch, expose it to only a set of users (based on
certain parameters) and roll-back changes quickly in case of any issues without a redeployment, enabling the
development teams to launch something in a quick, controlled and low-risk manner. It is a software
development best practice of gating functionality. With feature toggling, we can manage the entire lifecycle
of a feature. Feature toggling also allows developers to release in small cycles with the focus on testing each
feature individually rather than having a huge monolithic release.
Feature toggles can also be called as Feature Flags, Feature Bits or Feature Flippers.
So now we know, a feature toggle (or feature flag) allows you to turn features of your application ON or OFF at
an instant. Just with a simple change, a feature flag enables you to transform your delivery processes to drive
customer feedback, test new mechanisms with less engineering impact and release software faster, with less
risk and greater control of who has access to a feature.
5. EXPERIMENT,
EXPERIMENT,
EXPERIMENT …
Two of the major capabilities which can be achieved with Feature
Toggling are A/B Testing and Canary Deployment. Both these
capabilities allow Engineering teams to test and analyze the impact
of their code-push in a non-disruptive way.
A/B Testing or sometimes referred as split testing can be viewed as
an experiment led by a hypothesis by comparing different versions
by showing variants for say A and B to different set of users with
segregation based on common attributes, to determine which
variant performs better.
6. Teams in Buyer organization are already using Feature Toggle in a
big way to test Early Access Program (EAP) to roll out new
functionalities to a select base of users. This way, they not only get
to measure the impact of those features, they are also able to
gauge the acceptability of this program amongst our premium
users.
Similarly, Pricing team is planning to use Feature toggles to analyze
the impact of different discounts and prices rolled out to the users.
Search team recently deployed a dozen toggles from a internally
developed Toggle application to analyze certain things w.r.t
functionality and it’s User Experience (UX).
We have so many use-cases and requests coming from different
teams from all over Dell to use toggle functionality for testing their
features, User Experience and even for canary deployments.
7. To quote a popular use of canary deployment: Google has an extremely
sophisticated canary release process. Google has extensive unit tests
that allow them to continuously integrate. After continuous integration,
Google has a weekly release cycle. Google’s first canary is Google.com
itself, gradually rolls the new release internally to its own users,
monitoring hundreds of different metrics on scalability and stability. If
core metrics are impacted significantly, the release is rolled back entirely.
However, usually fixes are put in for critical issues and the release goes
to the entire Google employee base.
In the meantime, google continues to monitor for scalability and stability
- using the external users as the true “staging” environment. Google’s
products have a large enough base that they can even do sentiment
analysis for keywords like “Gmail Sucks” on twitter. If there are spikes,
Google will stop or roll back the new release. But usually by the end of
the week, the entire release has been rolled out, and it's time for the
new release.
This type of canary deployment is used to assess and de-risk the overall system. Are users happier? Is more
money made? Does the new feature increase system load? A canary launch allows you to roll out a feature
slowly, and measure the reaction from real user “canaries”, looking for early indicators of danger. If a feature
is not good, it can be rolled back.
Canary Deployment allows you to gradually release new features to a subset of your users while still
serving your current branch to the rest of your users. It basically allows you to test things in parallel
without having to make major merges/deployments.
8. AS KRIS GALE, CO-FOUNDER AND CTO OF CLOVER HEALTH SAID, “YOU WILL
ALWAYS MAKE BETTER DECISIONS WITH MORE INFORMATION, AND YOU
WILL ALWAYS HAVE MORE INFORMATION IN THE FUTURE.” BUT THE WAY TO
GET MORE INFORMATION IS TO ITERATE.
FEATURE TOGGLING PROVIDES A MECHANISM TO ROLLOUT STABLE, HIGH
QUALITY PRODUCTS CONTINUOUSLY AND GET IMMEDIATE FEEDBACK ON
THEM SO AS TO QUICKLY RE-ITERATE THE CYCLE IN CASE OF ANY ISSUES.
DELL CAN DO THE SAME FOR ITS PRODUCT LINES. SOME EXISTING
EXAMPLES ARE:
STANDARD UI.
"ANY COLOR AS LONG AS IT'S BLUE" IS NOT JUST A STATEMENT OF
ARROGANCE. DESIGNERS ARE EXPERIMENTING WITH VARIOUS SHADES OF
BLUE (AND OTHER COLORS) TO SEE WHICH COLOR WORKS BEST FOR
DIFFERENT GEOGRAPHIES AND USER-SEGMENTS (E.G.- BLUE FOR
DELL.COM AND BLACK FOR ALIENWARE)
CUSTOMIZED OFFERINGS.
BUYER ORGANIZATION IS REGULARLY GETTING FEEDBACK FROM ITS
CUSTOMERS AND IT IS RECOMMENDING A SET OF PRODUCTS ON-THE-FLY
(IN ITS CONFIGURATOR EXPERIENCE) BASED ON WHAT CUSTOMERS ARE
LOOKING FOR.
Data-Driven Decisions
9. SUMMARY
Not all decisions are reversible.
Learning to distinguish reversible and irreversible decisions early is a key skill and reducing the number of
possible random combinations by providing a data-driven set of offerings has made decision-making
tractable in the development cycle. Over a period of time, we can further reduce this randomness and
complexity of who needs what - to a controlled, measurable set of features – by the use of methods like
A/B testing and Canary Deployments.