Tuesday, March 5, 2019

Today 3/5/19

What are algorithms? 

An algorithm is a set of unambiguous instructions to solve any problem. For example, when you make some changes in a word document, the document is auto saved. The autosave feature is an algorithm, it follows an instruction of saving a document the moment when any edit happens on the document.

Another practical and most understandable example would be; consider you have 10 people in a room and you have to count the number of people in that room. All of us follow the simple human process and start counting people in that room by pointing fingers at each person. In this process, unknowingly, we follow the set algorithm of counting people. The same applies to every task we perform in our daily activities.


Agnostic Apps / device agnosticism 

The term agnostic apps is gaining more and more popularity these days. It's a big and scary word but if we actually look at the literal meaning of it, it simply means any application or device that works just fine with various systems without requiring any special device/adaptation. For example, a website that works fine on laptops as well as on mobiles, tv, wearables, refrigerators, IOTs etc. 


Agile Epic and User Story 

An Epic is a a long/big story as the name suggests. There can be multiple small user stories for that epic. For example, an epic for a travel websites can be I want to find holiday destinations and travel around the world. It's big and it is difficult to define, so, to do that we have to break this epic into multiple small user stories such as As a user I want to discover new destinations.

A user story is a short, simple description of a product feature. User stories define product backlog and a product backlog is a collection of user stories that are prioritized based on the user/business needs. A user story has three parts (1) persona (as a user) (2) the feature (I want...) (3) the need satisfied by the feature (so that I can achieve...) for example, As a user I want recommended destinations based on my current location.

Minimum Viable Product (MVP) 

It is a product with just enough features to test the concept and give feedback on the developed product. Most companies start working on the project without knowing if they can provide what is expected, and it is the reason why many of them fail. Imagine a situation that you have to deliver a banking product, you put in years of efforts and eventually you develop something that the customers don't want. That can be a big pain. To avoid it, it's best to give customers the MVP, start with the most important features first, make sure that feature works just as expected and once the customers are happy with what you have build then continue with other features and eventually a complete product.




Focus 

It's the motion of your mind and body (how you feel at the moment) helps you learn things faster. Information combined with Emotions becomes a long term memory.




1 comment: