Also visit my Company Blog at ansustechnologies.com
Follow productzen on Twitter

Tuesday, August 2, 2011

The Mac Bliss


Last mothers day my kids suggested that we buy a new laptop for my wife as her old Dell notebook could not support an upgrade to the new Win 7.

Initially my idea was to buy a net-book, but decided against it as she does research work and create presentations in the PC. I had some initial requirements based on my wife's feedback on her PC usage.

Things I was looking for were,



1. Light Weight
2. Good Styling
3. Less Noise
4. Good Screen resolution and at the same time smaller screen size, not more than fifteen inches.
5. Easy to use
6. Built-in Bluetooth
7. Integrated Webcam
8. Stop bugging with update messages and performance degradation due to constant background virus and spy-ware updates.
9. Stop updating and rebooting on your own.
10. Good Document processor and Presentation Software for research presentations.
10. Faster browsing experience
11. Release me from the in-house free customer support guy (this requirement was mine).

Also she insisted on seeing the laptop before buying and this ruled out online purchase.

I first started looking around for a windows based laptop as both of us have been using windows for a long time. I recently upgraded my Tablet PC OS from Vista to Win 7 and liked its responsiveness. My initial thought was a new windows laptop running win 7 should be fine.

As we went around shopping for a PC laptop, we found every PC laptop we saw had some features missing from our list. After couple of attempts at various local stores and failing to decide on any of the windows laptops we finally decided to visit the local Apple store even though I knew we would be spending a little more money on the purchase.

In the store we had a live demo with a macbook pro. My wife liked the styling and design of the macbook pro with its aluminum uni-body construction.

I started ticking of my requirements with the macbook pro features and found it had all the features in my list of requirements until item #7. I was not sure about #8 onwards as I had no prior experience with Mac.

We decided to take the plunge and walked away with the macbook pro. As the in house customer support guy on technology it came upon me to setup the macbook. I have not used Mac OS before and I was preparing myself for a long round of installation nightmare. It was to my utter disbelief I got the macbook up and running with all the updates in just under 30 minutes. It was a pleasant surprise. This installation included installing printer, blue tooth mouse, blue-tooth headset and iWorks. I have done countless OS installs Windows, Win 95, Win 98, Windows 2000, XP, XP Embedded, Vista, Win 7, Debian, Ubuntu and I should say this was the fastest install I have ever done.

First and foremost I was not tortured with endless updates on updates on updates, second I was not asked to download x Framework, Y framework, XY framework version nnnnnn etc, etc., third I was not forced to wait on each and every device installation as if I am replacing the complete OS. Finally I was spared of nervous moments of anticipating a crash on every driver install. Overall it was the most painless new PC installation I have ever done apart from Ubuntu in desktop.

The very first thing I noticed when I started the macbook was the time it took to boot the OS. Win 7 has done a good job on this , but still I felt the macbook pro was quicker.

Next was the fonts, there is something different about the fonts in the macbook, they were crisp and clear much better than the clear-type fonts in WIn 7 and was pleasant to the eyes. The same observation was echoed by my wife too.

Now came the trickiest part, teaching my wife the new OS, which at this point was basically teaching her the following

1. Start the PC
2. Shutdown
3. iMail
4. Safari
5. Keynote 09
6. Pages 09
10. Dock Station
11. Finder

I was preparing myself for a long drawn out exercise on teaching a new user interface as I also lack experience in the Mac OS. To both of our surprise we could setup and learn all the interfaces, Applications and how they work in an hour and already my wife could import her ppt slides from her Dell laptop to Keynote 09 and start building a new presentation.

The only problem we had was getting used to the command key instead of Windows Ctrl key and finding how to do a real delete operation instead of the backspace as the mac delete key does.

With its multi-touch pad, clear screen, back-lit keyboard, seamless device integration, noise less operation, easy interface and out of the box applications macbook pro came out a clear winner and for once I got the House Seal of Approval on a purchase I made.

Now I have to get back to my loyal workhorse, my beloved Gateway Tablet running Windoze 7 and type this blog. hmmm....

Looking at my wife working on her new macbook pro, I can see MacBliss, hmm... I am getting MacEnvy.

Wednesday, July 27, 2011

Agile Mapping for PMBOK Process Groups

Most of the organizations that develop software products employ standard project management practices and expect their employees to follow those process in their daily work at the organizations. In many of the prodcut development efforts that I worked I have had a Project Manager trained in PMBOK practices help manage the project at the enterprise level.
When teams switch to Agile/SCRUM Product development there is a change in how things are done and many times it appears as if there is a conflict between the PMBOK practices and Agile methodology.




In reality this need not be the case, agile practices can easily fit into PMBOK constructs and help develop products in a faster,leaner way. Similarly PMBOK prctices which looks like they are more suited for Waterfall development can be adapted to Agile methodology easily if we undersatnd the mapping between the two. The mapping of PMBOK and Agile methodology can help getting Agile accepted by the enterprise without much difficulty.
PMBOK guide says Projects are accompolished through process and espouses major processes that needs to applied in every project some form of the other to successfully complete the project. These processes are aggregated into five groups defined as the Project Management Process Groups:
  • Initating Process Group
  • Planning Process Group
  • Executing Process Group
  • Monitoring and Controlling Process Group
  • Closing Process Group.
An undelying concept of the interaction between the process groups is the Plan - Do - Check - Act cyle from the TQM pronciples by Deming which the Agile Practioners are familiar with.
With this concept behind the PMBOK Process groups it becomes very easy to map the Agile Process Flow to the PMBOK process group flow. Let us see how this plays out.


The PMBOK process groups are not alien to the Agile/Scrum process flow. This kind of mapping can be used as a starting point of the conversation between the Scrum product owner and Project Manager to identify how the Agile mode of working can co exist with the enterprise level PMBOK processes in the organization.

Thursday, December 23, 2010

Agile Project Management - Capacity Planning

Capacity planning helps teams to commit to the right amount of work for the upcoming iteration.  The goal is to forecast future iteration/release capacities, a reasonable goal, but not really accurate because we do not know what the future holds so at the outset the forecast value is not the one that the capacity planning is focused on meeting. We should use capacity planning to find the following, on a given amount of capacity value what can I predict to accomplish with it.

Most of the time in Sprint planning we are more focused on velocity, a value that gives the value of amount of work done in a sprint which allows us to do target estimates with static team setup which is a must for agile teams as per agile manifesto.

Now let’s focus on the goal of planning future iterations.  For example our team wants to be prepared for 2 iterations into the future.  This would mean the team members would enter their capacity planning information into the future.

I am going to assume that you have given me the following for your team past sprint performance:


 Iteration N-2    Iteration N-1   Iteration N     Iteration N+1    Iteration N+2
Capacity (hrs)   100                  110                   100              120                   100
Estimate (pts)    13                    11                     10                 ?                        ?
N is the current iteration.
 From your past ratio of Estimate/Capacity I can determine a ratio that can then be used to calculate my target estimate.
 Ratio = (13+11+10)/(100 + 110 + 100) = .1096


Expected/Target Estimate
Iteration N+1 = (120)(.1096) =  13.5
Iteration N+2 = (100)(.1096) = 10.9


To summarize the key number for calculating target estimate is now Estimate/Capacity instead of Estimate/Person.

Monday, October 4, 2010

Do Product Managers try to become Project Mangers

Recently one of my colleagues posed a question to me " Why do Product Managers always try to be Project Managers", if you want to be a project managers then come to the development team.
I was taken aback by this question and had no good answer except that, " I do not wish to be a Project Manager". Later I started thinking about what he said and look for answers and here is my self reflection on that.


Wikipedia has the following distinction between a Product manager and Project Manager,
"Any type of product or service — pharmaceuticals, building construction, vehicles, electronics, computer software, financial services, etc. — may have its implementation overseen by a project manager and its operations by a product manager"[.].

Do you agree with this. Also is my colleague correct in characterizing Product Managers, as Project Managers trying to micro manage everything, tell me your thoughts.

One snippet for thought. In Wikipedia you also find the following,
"Diverse interpretations regarding the role of the product manager are the norm. The product manager title is often used in many ways to describe drastically different duties and responsibilities. Even within the high-tech industry where product management is better defined, the product manager's job description varies widely among companies. This is due to tradition and intuitive interpretations by different individuals."

Tuesday, September 1, 2009

Installing LAMP for Web Development

Recently I started on building a social networking platform to experiment on Open Social and Off the shelf products that allow users to create their own social networking websites.
Looking around the landscape, I found every body is using Linux,Apache,MySQL,PHP as their choice platform, language and tools. So I downloaded Ubuntu 9.04 and planned to install my social networking website using LAMP infrastructure on Ubuntu. Later I plan to move the website to production on a dedicated server with a hosting company.

Install OS

I wanted this to be easy and without much effort. I also did not want to partition my drive and do install etc, so I went ahead and downloaded a already configured Vmware Ubuntu 9.04 appliance from Vmware marketplace. I also downloaded a Vmware Player to run the appliance. I installed both software on my windows XP Platform and I had a running Ubuntu OS in my box in half an hour. The cool thing about the appliance I downloaded was that it already had the vmware tools in-built into it. This made sharing files between my Windows box and the Guest Ubuntu OS so easy.When you start Ubuntu OS in the player, you go to the menu tab and under VM tools select and assign a directory from your local hard drive for sharing, after that you can see that directory like any other mounted drive in Ubuntu OS.

Install IDE

I decided to use Netbeans as my PHP development platform as I had used netbeans for some of my JAVA projects. I downloaded the latest netbeans IDE from Java site and installed it. Please do not install netbeans from Ubuntu Package Manager as it does not install the latest version of Netbeans IDE. Also you have a choice to install only PHP or JAVA in netbeans IDE. I downloaded the complete package. Before installing netbeans do not forget to install the Java components. Open a terminal window in Ubuntu and do the following
# sudo apt-get install sun-java6-bin sun-java6-jdk
# sudo apt-get install sun-java6-plugin
Then type in the terminal
# which java
# which javac
If you get correct answers for these queries you are ready to install the netbeans IDE.

Install Database and Web Server

Installing LAMP stack in Ubuntu was very easy. Just follow the steps outlined in this Netbeans PHP Link. Now that the stack is installed you need a tool to administer the databse. I installed PHPMYADMIN to do the task.Ubuntu package manager has PHPMYADMIN already in it. So just open a termial window and type,
# apt-get install phpmyadmin
and that should take care of it. Once the Stack has been installed and configured properly you are ready to start working on your social networking website.

I had some hiccups on the way to my install.

I forgot my MySQL admin password and so wanted to reset the root access. I followed the following steps to reset the root pass word
Step # 1: Stop the MySQL server process.
# sudo /etc/init.d/mysql stop
Step # 2: Start the MySQL (mysqld) server/daemon process with the --skip-grant-tables option so that it will not prompt for password
# sudo mysqld_safe --skip-grant-tables &
Step # 3: Connect to mysql server as the root user
# sudo mysql -u root
Step # 4: Inside mysql cmd client, Setup new root password
mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit
Step # 5: Exit and restart MySQL server
# /etc/init.d/mysql stop
# /etc/init.d/mysql start
# mysql -u root -p
I found I had problems with my Vmtools drive share. I was not seeing my shared Windows Drive anymore on the Guest Ubuntu OS. 
The normal automatic updates that are done in the Ubuntu OS package manager had overwritten kernel files and due to this the vmtools host-guest file system driver which enables drive sharing is no more loaded. If you find this condition do the following,go to a terminal window and type
# sudo vmware-config-tools.pl -d
and if for any reason you find your Vmtools broken in your OS do the following,
# wget http://chrysaor.info/scripts/ubuntu904vmtools.sh
# sudo bash ./ubuntu904vmtools.sh

Error - 'Connection for controluser as defined in your configuration failed'
at the bottom of phpmyadmin login page.
After much search, I did the following to correct the problem.Go to a terminal window and type


# cd /usr/share/doc/phpmyadmin/examples/
# sudo guzip create_tables.sql.gz
# sudo gunzip create_tables.sql.gz
# mysql -u root -p < create_tables.sql
Now open the file config-db.php by typing
# gksudo gedit /etc/phpmyadmin/config-db.php
Check the values of contents of the following variables
$dbuser='phpmyadmin';
$dbpass='xxxxxxx';
Finally, Log in as root at http://localhost/phpmyadmin and create a user name phpmyadmin that can connect from localhost then add add at least SELECT, INSERT, UPDATE, DELETE privileges to the newly created phpmyadmindb for the user phpmyadmin using the password identified from /etc/phpmyadmin/config-db.php. After this logout and login and you will see the error mesaage no more.

This concludes my efforts to setup a Platform for installing and developing my Social Networking website. In my next post I will write about my research and its conclusion on choosing a open source social networking platform for my web business.

Thursday, April 30, 2009

Self Introduction and Elevator Pitch for Starters.


In this tough economy everybody should consider themselves as a free agent  and brand effectively to sell themselves. As a job seeker recently out of job, I had some hard lessons on that.  One of the most important things I learned recently as a free agent is the value of self introduction and the importance of branding.
In business school my Marketing Professor talked at length on the art of positioning and why it important for products and people alike and I have to agree with him 100% on that based on my recent experiences. The idea of positioning is to provide a powerful proposition and give us a chance to stand out.
One of the great read on personal branding is an article by Tom Peters in fastcompany.com titled "The Brand Called You" which provides a powerful argument on why we should be thinking about branding ourselves.
All of us would have encountered the need to introduce ourselves effectively at one or other times. Entrepreneurs are mandated to do this for their product and it is called an elevator pitch and we need the same pitch abiut us as individuals to promote ourselves. Some call it "tell me about you".
I found the need for a proper self introduction becomes all the more important when you are a free agent either looking for a job or starting your own company. This is especially true in these times where you are doing both at the same time.
In my quest for looking for help on my elevator pitch for my business and self introduction for myself , One of my favorite is the method given by Frank Furness which is short and to the point.
I found a great self pitch needs to couple with a great delivery to make an impact. Similarly I also found the need to adjust the pitch according to the medium of delivery.
Pitch for direct contact:
You are really in the Mythical Elevator with your next big opportunity in front of you. In that situation the following are to be done.
  • Make good Eye contact.
  • Exhibit Correct Body language -No stiffness, No fidgeting, No folding of hands, No adjusting Lapel Pins etc.
  • Be relaxed, Be Excited, Convey Confidence and Articulate with your Hands and Eyes.
If you scour the web you will see most of the videos, even the ones that is rated very highly in techcrunch.com in my opinion really lack the excitement factor. If you are not excited about what you are saying how can we expect our listener to get excited about what we say. One way I found to increase the pep in delivery is by creating a story board with fictional characters on your product or self and practice reading the story in front of your family and friends.

Recital - How you deliver:
  • No pausing for long time: If you pause too much you sound hesitant.
  • No staccato bursts: if you go non stop you may sound nervous.
  • One of the thing I observed in numerous videos out on the web on elevator pitch is they have an initial bold recital of their name and company …. Followed by a subdued recital of the main points ….then ending with a rapid fire delivery of remaining stuff to maintain the 60 second time limit and some sounded just flat.
  • I suggest the delivery should be level with correct emphasis on points that you want the listener to take away after the pitch.One way to achieve this is by limiting passive statements in your pitch and use action verbs. Practice by highlighting those zones of emphasis you have in your positioning statement and reciting them with different intonations until you get what you want.
  • Limit to 60 seconds - This is the most important rule of the pitch. The average attention span we have is around 6 seconds so we have the impossible task of stretching 6 seconds to 60 seconds anything beyond that should be approached very cautiously.
Pitching via Phone:
  • Recital - The same rule as direct contact applies here and the pause management becomes much more important. If you pause too much the listener at the other end is left wondering about your message. Sometimes they respond to the pause with their own questions that cuts short the much practiced pitch..
  • Clarity of tone:Human ears are tuned to hear signals in the frequency range 20 HZ to 20,000Hz. A telephone converts sound waves into electromagnetic waves of the same frequency. A filter in the telephone system, accepts frequency in the range 200Hz to 3500 Hz. The other frequencies are filtered out. What this means is, In telephone conversations your voice sounds flat to your listener. We need to keep this in mind when we pitch over the telephone.
  • Limit to 45 seconds.The other thing I found is the pitch needs to be shorter than the direct contact pitch. Since there is no eye contact in a telephone conversation you lose the ability to grab the attention of the listener for a longer time. So the pitch needs to be short and to the point.
Pitch thru email:
  • This is basically a self introduction through writing. I could not find much information on this on the web, but recently I attended a professional networking event and in that they gave a form to fill out for self introduction. I found it very helpful to use as a template for self introduction through email. The basic format is ,
  • My Name is _______________ and I have _______ years of experience in _________ (industry). Most Recently I was ___________ (position) with ___________ entity, where I was _____________________ (significant accomplishments)
  • After doing the above you need to tweak the following based on whom your corresponding and for what reason.
  • At present I am _____________________ (what you do now) with ______________ entity (doing, managing, leading, making) ______________________ (hook statement to get the reader's attention).
  • A small self description of interests and skill sets that is specific to the email respondent no more than two lines. Adding Hyperlinks to this to showcase any achievements is a great advantage of pitching through email.
The Final thing I learnt is Practice, Practice, and Practice. I am still practicing and not yet satisfied with my performance.

Tuesday, June 3, 2008

SOA Lookalike

The most central issue to the topic of SOA Projects is determining what kind of SOA implementation the business needs. Does the business need agility, more integration, more visibility, lower costs or the best ability to adapt to change at all costs?
Amazingly when I did talk around about this to active SOA practitioners, I found many organizations that were big on SOA and said they need this agility for business competitiveness actually wanted rapid development shops that would band aid existing legacy applications with web services. Basically they were trying to roll out pilot projects that use latest web 2.0 technologies to solve some niche business problem that was hanging in the organization without being solved for a long time.
So before you are asked to lead or participate in a supposedly enterprise SOA project you need to ask yourself several questions to help determine what kind of SOA implementation you are working on:
<!--[if !supportLists]-->· <!--[endif]-->How strong is the organization need for rapid change?
<!--[if !supportLists]-->· <!--[endif]-->Does the project's emphasis on agility arise because it is really one of the common SOA lookalikes?
<!--[if !supportLists]-->· <!--[endif]-->Is your project limited by any weaknesses that would prevent a SOA success?
Not doing due diligence on finding SOA look-alikes will actually lead to the SOA leader being viewed as a stumbling block for organizational direction.
Here are some of my suggestions to identify the real SOA projects are,
Organization with Strong need for Agility
Organizations that truly need agility are in a market place where they are under constant competitive threat. If you observe these organizations they will have a fairly large portfolio of product and services with broad client base that demands services fairly quickly. The company must have attempted to reinvent itself once in its life time. The management will constantly be in a sense of urgency and looking for the next market leader by researching new technologies.
Organizations with Strong Standards Orientation

These organizations will have a strong culture oriented towards standards and systems. Many of them would have or will be in the process of getting certified by standards such as CMM or ISO or MSF etc. Keep away from organizations that say they have their own needs and hence need a standards and procedures that is unique to them, nine out of ten times these kind of organizations would have attempted the industry standard certifications and failed in adhering to them. Many times the reasons for not following industry standards and deriding them are basically sour grapes story.

Organizations with Strong IT Leaders

These organizations will have a strong IT professionals leading the production and delivery systems. With professional line managers in place the conceptual foundation for implementing a SOA architecture can be sold without difficulty. By having a high caliber production team will help the architectural team to work on design issues rather than fighting fires everyday.

Organizations with resilience
SOA is a long story and needs patience. If the organization cannot stomach failures and delays, then the SOA effort will change direction midway and will definitely turn into a SOA look alike.

Organizations with Strategic Sense

Finally you need to find whether your organization is attempting SOA as a strategic tool or using it as a tactical weapon. SOA for strategy is real SOA... SOA for tactical purpose SOA look alike. How do you find it... look at the past project history. If majority of the projects were done to pluck the low hanging fruits then the organization lack the will to mount the effort to grab the difficult but juicy fruits on the top of the tree.