Skip to main content

Consistency

Consistency is important as it makes people feel at home and instills trust in the brand. The iOS ecosystem makes it easy for people to transition from one device type to other because it has a consistent look and feel, actions and this way the brain doesn't have to apply any cognitive effort when moving from iPhone to iPad to a Mac.






I learned about Keynotopia recently and was enlightened by its application. I saw the transition of a bootstrapped Startup to a consistent Enterprise Startup and this is why I see the importance of consistency introduction in every department at Startup as early as possible.
  1. The UX style needs to be consistent with the entire product line and a company-wide style guide maintained by the UX group is absolutely important from very early days of the Startup. Your button color, fonts, logos need to be consistent in each product and even company presentations. From the moment a customer lands on your Marketing website to the trial period to becoming an engaged customer the UX style should be consistent. Your drip emails to your in-app messages should have consistent UX style. If the customer uses your Web UI or your Phone App, it needs to be consistent.  In Early days of a Startup if this is not done then different teams will have their own designers and people have their own design/style opinions and your products and UX will convey your organization structure. This makes the company look unprofessional and not enterprisey.  Having a consistent style also leads to a smaller development cycle, if there is no consistent style then there will be a lot of back and forth between developer and UX team and every small UI change like adding a new button needs to be vetted and introduces cycles.
  2. Your Marketing message/theme needs to be consistent in Webinars, engineering presentations, blog posts, SEM Ads, drips and .... This way when customers are going to the various web properties they are seeing the same message and it automatically trains their brain to associate the company brand with the consistent message.
  3. If you are using SOA or microservices your API response codes, request style, signature, and other contracts need to be consistent. This is important because when people create 10 new services you don't need to learn 10 new API designs. 
  4. If you are using SOA or microservices then the way you monitor the service lifecycle should be consistent across services, this way the DevOps can automate and add new services faster and reuse 99% of the automation. This gives an additional benefit that developers can focus on writing business logic and not infrastructure code everytime a new service is added.
  5. Your Source code style needs best practices guide and this way developer onboarding will be easy as he can see the same pattern everywhere and switching from one code to other will be easy.
  6. Your logging across multiple services should be consistent and this way developers/PMs/Support can easily read the centralized logging logs without understanding system complexity.
  7. Your Source control process and release process needs to be consistent across products so developers can easily move between teams and PMO resources/build infra automation can be shared between teams.

In short acheiving Consistency is hard work but it has a tons of benefits and one should be anal about consistency from start.



Image in blog copied from http://www.strategies.com/blog/wp-content/uploads/2015/03/consistency.jpg

Comments

Popular posts from this blog

IPhone will beat DSLR in long run

I started taking interest in photography recently and have accumulated a decent amount of gear but I am realizing that the ease of taking out your phone and clicking picture will beat the DSLR in long run. A friend recently visited me from NY and we wanted to take a family picture and I was setting up Tripod and Flash and doing settings changes and he was like leave all this, lets take a Selfie and that’s it, in 2 second the picture was done and he shared it on facebook in another 1 second.  Now one can argue that DSLR would have clicked a better picture but DSLR has many things going against it:-
Learning curve : I must have spent 200+hours on reading about photography but still cant take decent pictures as my bar is high. Not everyone is interested in spending this much time.Amount of gear to be carried : On hikes its a pain to carry your DSLR whereas your phone has to be anyway with you.Cognitive effort of tweaking the gear: You have to have a different lens/settings for different s…

Embracing "Deep Work" for productivity

Do you have that feeling where you worked all day but at the end it feels like you got nothing done?  In past 7 years at Egnyte to reduce burnout every 6 months to an year I have to fight this constant productivity battle. I have accumulated several habits in the process to increase productivity, some of them are:-
Give yourself scheduled time: Allocate 3 hours for creative work, I had my calendar open whole day and I would get interviews and meeting scheduled randomly all over the day. When you are on a maker's schedule this is disastrous. I recently allocated 3 hours of calendar time and I reject meeting invite unless its absolutely urgent and I am contributing to it.Walk in middle of the day: by the middle of the day brain feels tired and I cant code or focus so I started 30 min walk. I tried listening to podcast or listening music on the walk but that felt more work so I stopped doing it. I just walk and think on the current problem on hand.5 minute rule: If you can finish the …

Can you remain a fullstack developer?

I started as a full stack developer 14 years ago but these days its becoming more and more difficult to remain a one. Back in those days all you needed to know was html/css/Js/jsp/java/sql/ant/xml and some tools like tomcat, svn, eclipse and some shell scripting and you are a full stack developer. Being full stack developer means you can code from UI layer to server to database and peel any layer of onion to trace an issue.

Now a days you may need to know 20 different technologies in each area before you can easily navigate between layers. Life becomes difficult if its a distributed system. In UI you may need to know
ReactAngularJquerySASSHTML5JavascriptNode.jsGrunt and many more In server you need to know
JavaSpringHibernate or any OR toolGuavaNginxHaproxyMemcached and many more.  In Database you may need to know
MysqlNOSQL databases like Cassandra or MongoDBShardingAWS Aurora or RDSElasticSearchRedisOpenTSDBHadoop Big data services like BigQuery and many more On top of that …