A bone full of estimates!

There is a lot of material available on agile estimation; some of it indicating that, traditional parametric models of estimation are not so effective. I’m not an outright hater of “parametric models” and am of an opinion that, they are very useful in certain scenarios. However, at other times; lean estimation processes and models which give higher importance to the experience of the team members involved are what I personally prefer.
To efficiently utilize the past experience, the tasks need to be broken down to a level where human mind can map it easily to something done in the past. Various agile experts say tasks of upto 8 hours duration would be most effective. Discrepancies start flowing in for anything more than that.
As various agile methodologies suggest, estimation is a team effort. This means, use of efficient tools to quickly come to a rough estimate is very important so as to save the crucial “person-hours”.
Fishbone diagrams(also known as cause-effect, Ishikawa, herringbone diagrams) have traditionally been used mainly for doing root-cause analysis; as far as the software world is concerned. However,I’ve also found it to be equally effective in granulation of the features of a project to comfortable levels as mentioned above. Thinking differently, a successful project is an effect of all the modules (causes) being successful.
Let’s explore the concept with a fishbone diagram for a Human Resources(HR) management System.
For the sake of simplicity, project, product and system indicate the main task at hand. It could be the deliverable for a particular iteration as well. Moreover, only one of the modules have been broken down.
A fishbone diagram using XMind
Step1: Put the project name on the backbone in place of “root” or “effect”.
Step2: Break the project into a maximum of 6 logical parts. Let’s call them modules.
Step3 : Check if each of the modules can be completed within 8 hours. If not, break each of the “bigger” modules into 6 parts. Continue the process till you get all the “branches” with estimates less than or equal to 8 hours. The moment you get a branch which would take less than or equal to 8 hours, mention the estimates on the branch.
Step4: Stick the fish-bone diagram in a place where everyone in the team can see it.

2-3 levels of drilling down should be more than enough for many of the systems.
Happy estimating!

Posted in kuebito blogalog | Leave a comment

Big Data and Distributed Computational systems: A perspective

Big data is mostly thought to be a large data storage problem though it is just one side of the coin. If the problem is very well limited to archival and lookup of data one can easily put cheaply available storage devices on demand. But most of real life problems are two-fold. They not only demand ability to store growing data but also demand for high performance computations over the same.

We need an ability to build system which, not only is capable of distributing data but which can also facilitate distributed computing. Distributed data storage system and Distributed Computing system bring to the table different set of challenges. At the same time, beauty of the two would not be appreciated until they are married together.
Here are certain facts with real life problem:

1. Data Grows: Its  just like a banyan tree, data keeps growing in all the possible dimensions. And no corporation can ever plan in advance for the estimated growth and bear cost involved beforehand. For instance facebook user went up from 5M to 15M in one year span. Bottom line we want systems to scale and we want them to scale linearly at minimal additional cost. It just to say the distributed systems must be easily scalable at a low cost and on demand.

2. Data Loss: No systems are perfect and systems do fail. And when they fail that may take down whole chunk of precious data down with them. When you have a single storage system, its lot easier to have scheduled backup process. Having complete distributed system backed up would be complete nightmare. As a consequence distributed system must have an auto data backup and redundancy ability.

3. Data availability: Data has to accessible 24X7 irrespective of any circumstance. Distributed systems has to be inherently fault tolerant and has to cope with failures with no or minimal intervention.

To summarize, distributed storage systems are expected to easily scalable in cost efficient manner, reliable storage systems and fault tolerant to provide high availability.
On the other hand, practical problems demands a fast access to the large store data sometime to process user query and other times to run computational algorithm for inferencing , decision making and regression. As mentioned, distribution of data for storage is a just a start to address a bigger question of how to write programs which can run in parallel in distributed environment. The answer to the same lies in framework inspired by Functional Languages concept of Map and Reduce. The details of the same can be found on en.wikipedia.org/wiki/MapReduce

One of the front running open source technology in the world of distributed computing and storage if Hadoop. It provides a framework for distributing data using HDFS and Map-Reduce capability for achieving high performance distributed computing. And there are others like MongoDB, Cassandra which try to pursue same goals.

How to integrate an existing application or an new solution over a distributed computational systems is as much of an art as it is science.

Posted in kuebito blogalog | Leave a comment

SEO & SEM – Advantages & Disadvantages

After a brief overview on internet marketing in the previous article, let us now look at the two major means of promoting or advertising your website/portal on the internet. They are: Search engine Optimization (SEO) and Search engine Marketing (SEM). Make no mistake, each of these are extensive areas of work, with many inherent and exclusive features.
Search Engine Optimization (SEO)
SEO simply put, relates to organic search or free listings (left hand side of the search engine result page) on a search engine. The target for every website is to gain higher rankings on search engines to assure greater visibility and traffic. Thus, every strategy, every step taken to enhance your organic ranking on the search engine comes under SEO. Some of the key SEO techniques include directory submissions, article submissions, on-page optimization, social media optimization etc. Site design, tweaking of the HTML source code to make it search engine friendly and keyword optimization play a pivotal part in determining the success of SEO.
Search Engine Marketing (SEM)
Search engine marketing refers to the paid form of advertising online. This refers to text ads on search engines, banner ads on different websites, image ads etc. For this form of advertising, the marketer has to fix a specific advertising budget and devise the precise strategy based on his budget. The paid search campaigns mainly work on the CPC or CPM models wherein the advertiser will pay a certain amount for each click or impression. Google AdWords, Yahoo Search Marketing, MSN Ad Center are some of the leading paid search platforms that marketers have been successfully using for paid search ads.
SEO vs. SEM – Which is better?
You as an online marketing professional must have often faced a common question from your CEO/CMO/decision makers (THE BOSS) – Which is better, SEO or SEM? The answer is both! In fact, ideally a comprehensive online marketing strategy must look to encompass both these avenues and maximize the returns that each of them can provide.
However, before you start off, you can explain your BOSS the pros and cons of SEO and SEM in the following way:
SEO and SEM Comparison

A Few Tips:
The next most important question is how to start? Whether to make a start with SEO or with SEM? Further, how to manage both simultaneously? The following points will help:
1.    A good way of starting your online marketing efforts is to start with paid search. This gives you an immediate idea of the keywords that work for your business and those that you can just delete.
2.    You can start with doing SEO for your long-tailed keywords first as getting rankings for your core keywords may be difficult, especially if they are highly competitive. You can do paid search ads for your core keywords till then, and once you get a good enough SEO ranking, you can lower your paid search budget. Sounds cool, right?
3.    For making your SEO efforts successful, do not indulge in keyword stuffing or cluttering your website with too many links. Remember, your site is for your customers and not the search engines.
4.    For SEM, do not start with huge budgets. Start with lower bids/daily budget and then move on to increasing them as per the results.
Thus, both SEO and SEM can drive your online marketing efforts in their own way. It is fair to say they are two sides of the same coin and can be equally fruitful to enhance your online presence.

Posted in kuebito blogalog | Leave a comment

Trust Based Leadership

Well, Trust as some dictionaries define it has two main definitions and when we make a person as the subject in the definitions (and not a thing); one talks about the reliance on the strength or ability of a person and the other talks about expectation of something from a person.

And leadership can be defined as an art of  guiding and/or directing and/or leading.

When we talk about Trust Based Leadership, I propose to merge the first definition of Trust with that of leadership. Although, I agree the two definitions sound familiar, I believe, there is a subtle difference between the two. The difference lies in the usage of words “reliance” and “expectation”. While, the first one leads us to a survival mode which further makes it necessary for us to take actions, there is a doubt about the second connoting action.

I have seen and have been fortunate to work with great leaders in my professional career who tend to exhibit the merger I talked about in the previous section. Now, what does that mean?Is it like, these people carry a bowl of trust and leadership and mix it with their coffee everyday?

Well, when the notion of reliance was brought into day to day execution by the managers/leaders and exhibited in their discussions with the team, the performance of the team improved. Exhibition of this reliance to the team is important and this makes the team members feel more accountable for the task they have been allocated with.  This is probably because, the notion of trust is revered by all of us as human beings and, when trust is showered upon us; we try not to lose it.

Well, this is a software steward’s view; so I may not be technically fully correct when it comes to identifying reasons behind a particular behavior. Some example of exhibiting trust would be to say something like “I trust that you complete your task within so-and-so time” when a task is allocated to the team OR being open to accepting valid suggestions from time to time from the team.  Again, I’m not saying, that, no matter what the size of the task is, the task owner will complete it OR a leader should accept any suggestion coming from the team. The point I want to bring here, is that, you would see improvement in the productivity and the overall quality of the deliverable when you bring that tinge of sharing trust in your leadership.

This trust based leadership approach has to be coupled with a leader generating trust for him within the team but; that’s another topic.

I wish you the very best in your career!

Posted in kuebito blogalog | 2 Comments

Internet Marketing – An Overview

Internet marketing, simply put, is making money online. Interesting to begin on this note, right? I know I know you have read the Wikipedia definition of internet marketing i.e. marketing of products and services on the Internet. Bang on!

Internet marketing has made the virtual world as the most dynamic medium for expanding business and building clientele. Enterprises now are not restricted to geographical barriers and can reach out to audiences far and wide, making the scenario extremely vibrant and competitive.

Scope of Internet Marketing

Internet marketing comprises of three major areas:

Website designing & development:

  • Creating user-friendly websites
  • Using the right themes, colour schemes, headers.
  • Easy navigation
  • Strong landing pages for different products and services
  • Integrating shopping cart

Marketing or advertising the website

  • Search engine optimization
  • Search engine marketing
  • Social Media
  • Banner ads
  • Email marketing
  • Rich media
  • Affiliate marketing

Actual sales

  • Selling products & services (B2B & B2C)
  • Monetizing content on websites

Forms of internet marketing

Internet marketing can be used for

  • Generating hard core sales (ecommerce) online.
  • Providing leads
  • Offer content and rich media.

Depending upon the nature of the business, entrepreneurs need to decide on the approach that they should adopt in order to maximize the returns. From building the perfect website and landing pages to using the right advertising mediums, marketers need to make the correct choice.

Internet Marketing – Some Key Factors

So, now you know (if you din’t already!) the scope and exact essence of internet marketing. However, here are some key points to focus on while you embark on it:

  • Spend quality time and resources on site design. Your website is your base and the base must be strong for you to build on it. Also, remember the KISS principle. The most successful websites are those that are simplest to comprehend and navigate. This is half the battle won!
  • Whatever advertising medium you choose (SEO, pay-per-click, banner ads, emailers), make sure you invest in a strong analytical support. Web Analytics can make or break your internet marketing program. Thus, get a good web analytical tool (there are plenty) and an even better web analyst or a team of web analysts who can provide truly actionable insights based on the data captured. Data is King!
  • Talk to your customers and get regular feedback about the good and bad points of your website. Thank them for the good and thank them even more for the bad points. You know now where to improve; for a 100+ page website, this would otherwise been so much difficult, isn’t it?
  • Keep a regular tab on the changing consumer trends and make the necessary changes to your site and advertising programs. Also, check what your competitors are doing and benchmark your site against them. You will know instantly where you stand.
  • Experiment! The internet is an ever-evolving sphere and you need to conduct several experiments with your landing pages, products, services, customer retention strategies etc to stay ahead always. If you do not experiment, you are doomed! (a sad smiley here).

This was just an overview of online marketing and each and every facet can be explored in details. Meanwhile, I would like to hear from you your experiences with internet marketing, especially while dealing with a nascent market like India. So, your turn now!

Posted in kuebito blogalog | Leave a comment