Monday 4 March 2013

Introduction to NoSQL - Martin Fowler


Excellent video about Introduction to NoSQL by Martin Fowler.

Main Theme:
  • History of NoSQL
  • Families of NoSQL
    • Key Value Database
    • Document Oriented Database
    • Graph Database
  • NoSQL and Consistency
  • NoSQL Usage





Enjoy this video !! Very informative !!

Saturday 2 March 2013

11 areas an Agile Project Manager needs to focus on

In my previous posts I focused on the Attitudes of a Great Software Developer and the Attitudes of a Great Software Tester.  

An Agile project's success also depends a lot on the Agile Project Manager.  The decisions he takes and the emphasis he provides on certain areas will pave the way for a successful Agile Project.  In this post, I provide some key points that an Agile Project Manager should focus on, for the betterment of an Agile Project

  • Employee hiring
    • First and foremost, an Agile Project Manager needs to hire the right people for the project.  Apart from the technical skills and non-technical skills required of Agile teams, it is imperative that the chosen candidates adopt to the Agile practices and are themselves Agile.
  • Technical and Non-technical grooming
    • Once into the project, the candidates needs to be groomed to meet the project needs and also grow further.
  • Employee motivation
    • I always believed that Employee motivation is one of the Critical Success Factor of an Agile Project, for that matter any project.  Motivated employees can do wonders if provided with the right environment.  Motivated employees go that extra mile to achieve the common goals.  Hence an Agile Project Manager needs to put high emphasis on this point.
  • Engineering Practices
    • There are a lot of engineering practices that make an Agile project successful.  An Agile Project Manager should focus on putting the right Engineering Practices to place. He/She should not forget that there is an overhead in following certain practices, but once fully functional, they start to provide high returns on the investment.  For ex. following Automated Unit tests and TDD can be very difficult to start with, but over time, developers get into that practice and the results start to follow.  

Wednesday 27 February 2013

MVP - Minimum Viable Product strategy

Not all good ideas turn out into great products.  There are quite a few products that fail in the market due to a variety of reasons.  But does it stop us from investing in the Products? How do we find out if a Product is going to be a hit in the market?  And more importantly how do we find that out by investing the minimum amount possible.  Enter MVP - The Minimum Viable Product.

The concept of MVP is getting acceptance throughout in the area of Product Development.  It is a concept largely used by start ups.  And it will immensely help new product design and development in larger organizations.

What is an MVP?

Our objective with a Minimum Viable Product is to provide a mechanism for maximum learning about the target audience or the target market with the minimum effort.  Does it mean that we only ship 3 out of the 10 features that is required to hit the market at the earliest.  No.  The concept is beyond just the product features.  A Minimum Viable Product takes into account the Product idea, how it generates interest among the users, what features that the customers or the market really wants, demand for the product, etc.  It is a strategy that is used for learning about the customers early into the product life cycle, so that they can make the changes for the good.

Strategies for MVP

Sunday 24 February 2013

Software Design in the 21st Century - Martin Fowler

Great talk from Martin Fowler, focussing on 3 topics

1.  Schemaless design
2.  NoSQL and consistency
3.  Software Design



A must watch !!!

Saturday 23 February 2013

11 Reasons why products fail in the market

Not all the product ideas get transformed into actual products.  Only a few pass that stage and get to the market as a Product.  And there are even fewer products that are actually successful.  So what are the reasons why products fail in the market.  In this post I am outlining a few reasons in my practical experience which can lead to the failure of a product.


  • Not having a directed product vision
    • A product needs to have a vision, a roadmap at least at a high level.  Product roadmaps might change depending on the feedback from the customers / prospective customers / market research, but you need to have a product vision as you go along.

  • Not enough investments for the products
    • It is highly important that all the investments need to be made for the product development, testing, marketing, sales and brand promotion.  Without investments, the product will eventually die a slow death.

  • Too late into the market
    • A product needs to be in the market at the right time.  If the product is late into the market, there will be many competitors for the same market, and hence competition will be tough.  It is highly desirable for any product to have that First Mover advantage.

  • Too early in the market
    • In my previous point, I mentioned that a product needs to be in the market at the right time.  Even though being early in the market is a highly desirable option, however being too early in the market when there is no maturity in the market will obviously lower the chance of product success.

Wednesday 20 February 2013

What an Agile Project needs for success

In my previous posts I explained about the Attitude of a Great Software Developer and Attitude of a Great Software Tester.  I am a huge fan of Agile methodologies.  I believe, if an Agile project needs to be successful, there are certain factors that will make it happen.

  • Technical Craft
    • The technical capabilities of a team should be of top quality, if you want to run a successful Agile Project.  An Agile project is actually run by the collective strengths of the individual team members and hence they need to be highly adept at their jobs.
  • Team maturity
    • This is one of the critical success factors for an Agile Project.  Not everyone is comfortable in working in an environment where there are lot of changes.  Hence the team members and the team as a whole should be highly mature enough to understand the realities and make quick yet thoughtful decisions
  • Collaboration
    • I cannot stress this point enough.  The entire team should collaborate within themselves and also with external stakeholders.  This is actually one step ahead of an important point Communication.  It emphasizes the fact that it is a complete team game.  A developer needs to collaborate with Product Owners, Testers and vice versa.
  • Team Morale
    • Agile methodologies put a high emphasis on the people who run the projects.  It is a given that, a team with high morale will produce better quality work and with more speed.  It is important that the team is

Monday 18 February 2013

Attitudes of a Great Software Tester

In my previous post, I explained in my own words the "Attitude of a Great Software Developer".  This post will focus on the testers.  Developers and Testers are two great personalities that work literally in the opposite direction but towards a common goal of producing good quality software.  One deals with the making aspect of the software and other with the breaking aspect of the software.

In this post, I will share the attitudes that a Great Software Tester should have, in my own views.

Attitude #1 - I want to break that software at any cost

Make no mistake about it.  A tester's job is to find out bugs and in the process, make the software better and better as time progresses.  A bug is a tester's best friend.  So his/her primary intent is to break the software at any cost, find the loop holes, find that best friend of his one way or the other.  Whether it is through a systematic process of executing test cases or adhoc testing or exploratory testing, the objective is clear.

If you want to be a Great Tester, your attitude has to be to "Break the software at any cost and find out that BUG".

Attitude #2 - Ms. Great Developer, I challenge you that I can find bugs in your code.

I seriously doubt how many testers have this attitude.  

But if a person wants to be a Great Tester,