Thursday, January 31, 2008

Leveraging functional test cases to perform Unit Tests

Ever since I have worked with quality process improvement I have heard a lot of excuses for not doing unit testing as it is wonderfully articulated in this article Excuses for not doing unit tests. Subsequently I have found that we are spending almost 50% of our total project effort on testing and defect fixing and the reason for this is because there is not enough unit testing done. So this got me wondering as to how we can change the process so that we can have more efficient unit testing done so that the defect fixing and testing effort comes down.

As per the process after having the requirements defined we give off the same requirements specification to the development team (for design and development) and to the independent testing team (for developing the functional test cases). The functional test cases are developed using this template. Once the development team completes the design document it is used as an input to enhance the functional test cases to cover all the test cases that might have got missed by looking at only the requirements. Usually half way through the development cycle the testers have completed the functional test cases and are ready for the testing to begin.

If a defect is found by the testing team there is a high cost involved in fixing it (in terms of effort) for the following reasons
  • Time taken by tester to identify the defect and log it
  • Time taken by the development lead to analyse the defect and assign it to the developer
  • Time taken by the developer to fix the defect and change the status in the defect tracking tool
  • Time taken by the tester to retest the defect and close it

Given the high cost I was wondering why shouldn't the first round of testing be done by the developer themselves on the code that they developed. This may take a bit of extra time for the development team but the cost of finding a defect and fixing it is lower. The costs involved here are

  • Time taken by the developer to understand and execute the test case
  • Time taken by the developer to fix the defect

The following are the advantages that I see in this process

  1. The time taken to identify defects and fix them comes down drastically since we are removing a whole loop involving the tester. Yes the development time goes up marginally but the benefits if 90% of the defects that were slipping through are identified and resolved at the development stage itself then it well give us good overall time lines.
  2. The development team can identify if there are any test cases that are not right or that are for functionality that is not being developed. This will reduce the number of rejected defects. Rejected defects take the same amount of time as a simple defects since the only thing missing in that cycle is the development effort.
  3. The development team will become more aware of the testing that is going to happen and will automatically lift the quality of the code that is written by them.
  4. It formalizes the unit testing. The developer can use the functional test cases as a guide to do their unit testing.
  5. The cost of fixing the defect as soon as the code is developed is a lot less expensive than fixing the defect at a later date as the code is still fresh in the developers mind.

Wednesday, January 30, 2008

Rules for successful Offshore Application Development

I was reading an interesting series of articles on the Accurev blog on the rules for successful offshore application development
  1. Requirement 1: Leadership is everything
  2. Requirement 2: Business Interests Must be Aligned
  3. Requirement 3: Match the Project to the Team

I think the points raised here are very valid for the success of any offshore project but I feel that a key requirement is missing from here and that is


Clarity in the requirement


Offshore project development is about identifying a piece of work and getting it done away from the place that it is identified i.e. the person who has come up with the requirement (identifier) and the person who is implementing that requirement (implementer) are at two different places.

What happens in this scenario is that when the requirement is transmitted from the identifier to the implementer there is a certain amount of loss or sediment added into the requirement which the identifier of the requirement will not know until the task is delivered. Hence the more abstract the form in which the requirement is given from the identifier to the implementer the greater are the chances that the final product will not be what was envisaged. Hence clarity in what needs to be accomplished is very very important. For web based projects we have found tools such as Axure being excellent in documenting what is to be implemented.

Another big hurdle is the manner in which the requirement is explained by the identifier to the implementer. This is usually done through a series of conference calls. We find that using a web conferencing tool such as a webex/webexone where the identifier of the requirement walks through the application completely helps a great deal.

It is hard to achieve short term returns in off shoring. Offshore project development works only in the long term. In the initial phases it may actually prove to be more expensive doing offshore project development due to the investment in training, setting up of processes, knowledge transfer and so on. All this is done to make sure that the offshore project team has the same understanding as the on site team. The cost benefits can be seen only when the engagement is for the long term.

Another key thing in offshore project development is that when a requirement is explained it is very hard to get 100% of the requirement across from the identifier to the implementer. So based on the experience of the implementer a % of that requirement comes across and then there is a % of imagination put in from the implementer side to understand the complete requirement. It is key that there is a constant dialog between the identifier and the implementer in a constant feedback loop where the identifier ensures that the implementer understands completely what needs to be achieved. What this means is that there should be someone on site who understands the complete requirement and is available to monitor and explain the requirement to the implementer. We usually call this person the on site coordinator and this role is a very key role.

Tuesday, January 29, 2008

Website for free !!!

I had an interesting comment put on my blog today which went as follows

"...you can do more with your blog spice up your blog, don't stop providing the simple blog you can provide more features like forums, polls, CMS,contact forms and many more features.Convert your blog "yourname.blogspot.com" to www.yourname.com completely free..."

The lines in bold caught my attention. As I have been setting up websites for a while and knew how to get my own domain as I already host multiple sites of my own (http://www.dsouzaweb.com/, http://www.ourspace.in/) I knew how it could be achieved. I also know that there are a lot of free resources available showing how one can achieve what ever this comment was claiming to do and if it was not there it is not too hard to develop it.

So I decided to visit their website http://www.hyperwebenable.com/ to see what is the catch. How can someone give you something for free that would cost them at least 2 dollars to register the domain. Leave alone the effort needed to get you up and running and also managing your account. So I kept reading until I found this in their FAQ

Q. Will you display any ads in the website?
Ans: Yes we will display 2 banner ads and one text link at the bottom for every web page.

And I was like there you go - that's where they will make all their money.

Well to show how unprofessional the website is I found this in their About us page - "...Lakshman – please elaborate this part that would add to what we want to convey..."


I would advise this company to get its act together before it starts spamming bloggers with its services.

Advertising my blog

Once you start writing a blog you get into a phase where you want to increase the number of people that are reading your blog. So I started to put my blog into a number of so called blog catalogs hoping to increase viewership of my blog. (See the end of this post for a list of sites where I put up my blog.) What I have realised after almost 2 weeks of putting my blog there is that there is hardly any traffic that came from there (courtesy Google analytics). Even the few users that came to my blog from those catalogs did not spend time on the blog.

I have found that my traffic comes mainly from Google searches. What I have realised is that when the traffic comes from googles searches the user tends to spend more time on my blog and I think the reason for this is because the user is reading about something that the user searched for and is relevant to the information that they are seeking. Some of them like it and subscribe to the feed and some of them come back. The traffic has steadily grown starting with about 5 users each day about a couple of months ago to about 30 users each day now. I find it quite comfortable to deal with this gradual increase and I think having too many visitors too soon will only put them off due to the lack of content on the blog.

Seth Godin in his blog Who are these people ? talks about the same thing. I think it is really important to build a readership slowly and talk about things that you like to write about and that the readers like to read about. There is no shortcut to fame.

Catalogs I am listed on

http://www.blogadda.com/
http://www.topblogarea.com/
http://topblogs.gotoscience.com/
http://www.blogtopsites.com/humor/
http://www.blogrankings.com/
http://www.bloggernity.com/
http://www.blogcatalog.com/
http://www.blogsrater.com/
http://www.ipings.com/
http://www.blogmad.net/
http://www.globeofblogs.com/

Catalogs I thought of listing on but changed my mind after the response I got from the few that I listed on

http://www.bloghub.com/
http://www.blogtoplist.com/
http://www.blogdirs.com/
http://www.bestblogs.org/
http://www.blogarama.com/
http://www.weblogalot.com/
http://www.bloggernow.com/
http://blogs.botw.org/
http://www.bloggeries.com/
http://www.blog-directory.org/
http://www.bloggingfusion.com/
http://www.totalblogdirectory.com/
http://www.blogoozle.com/
http://www.bloggapedia.com/
http://blogannounce.info/
http://okayblog.net/directory/
http://www.blogadr.com/
http://www.submitblognow.info/
http://www.bloglisting.net/
http://www.addurlblog.com/
http://www.bblogd.com/
http://www.quickblogdirectory.com/
http://www.bloguniverse.com/
http://www.blogdire.com/

Monday, January 28, 2008

A private blog

A lot of people have told me that they would like to blog but are scared about what they write. They are scared for two reasons - one is because of their written English skills and the other is because they do not know what others will say when they read their blog. If you are one of those people then blogger has an answer for you - you can blog and make your blog accessible only to yourself or to a select group of people. Here is how you do it.
  1. Create a blogger account by going to http://www.blogger.com/
  2. Go to the Settings tab and in that choose permissions and they you can set the Blog readers option of your blog. By default it is set to Anybody. See the image below for a screenshot of how it is on my blog.

So now there is no reason to not blog. Happy blogging.

Changes in Birth Certificate - Day 2

To read the first article of this series please click
Changes in Birth Certificate
Having got all the details on day 1 - I then started collecting all the necessary documents. First to the notary to get the declaration on the Rs. 10 stamp paper. Got it done after about an hour of waiting and Rs. 120 in charges. The HUDA Maitrivanam building has a couple of notary's that can get this done for you and they also have the template on their computers. I then filled in the application and started my hunt for 2 gazetted officers to sign it. Not being too successful with people that I know I decided to go to the ESI hospital in Ameerpet and try a doctor. I went there and there were more than enough peons that were willing to help me out. Anyway for Rs. 30 more for the peon I was able to get that done.

With all the proofs and the documents in hand I went back to the GHMC office and submitted all the documents I was given a stamped receipt with a number on it and I was asked to come back on Saturday.

Some details that I gathered about birth certificates

  • A birth can be registered up to 15 years after the birth has happened.
  • Once a name has been registered it cannot be changed in the records.

To read the rest of the articles in the series please click the following links
Changes in Birth Certificate - Day 3
Changes in Birth Certificate - Finally got it

Friday, January 25, 2008

Changes in a birth certificate

A couple of years ago I got the birth certificate for my daughter at the GHMC - Greater Hyderabad Municipal Corporation (earlier MCH - Municipal Corporation of Hyderabad) ward office. It was a fairly simple exercise of taking the birth information document that the hospital where your child is born gives you and submitting it at the office and then collecting it a couple of days later. What I did not realise then was that in the information that in the information that I had given the hospital I left out my middle name. So today when I applied for a passport for my daughter there was a mismatch in my name in her birth certificate and my passport and so the application was rejected.

So then started a whole new ordeal of getting that rectified. So I first visited the GHMC ward office from where I picked up the certificate and asked them if I could get the change made. I was informed that they can make the change only if the change was requested immediately after application before the data is entered into the computer network. So now I had to go to the main GHMC office at Tank Bund.


View Larger Map


I was told to go to the 4th floor of that office and look for the Health Department and in that department to ask for the Statistical Officer (currently it is a Mr. Raj Kumar). After a bit of asking and searching in the maze I was able to find this department.

I was asked to wait for a few minutes (there were a couple of people before me for some birth certificate related queries). Finally when I meet him he asks for the following documentation
  • Fill up the application form that he gave me - its free. It has to then be signed by 2 gazetted officers with their seal.
  • Give a declaration signed by a notary on a Rs. 10 stamp paper stating the name change that is required. He will give you the content of what needs to be written.
  • Two proofs of the name that I want to be replaced. So I was asked to bring a copy of my passport and marriage certificate. Some of the other proofs are Ration card, PAN card, Voter Identity Card.

I am supposed to meet him with this documentation and he will then tell me how long it will take to get the change done.

To read the rest of the articles in the series please click the following links
Changes in Birth Certificate - Day 2
Changes in Birth Certificate - Day 3
Changes in Birth Certificate - Finally got it

Thursday, January 24, 2008

Beware of Vodafone

Today I heard an interesting conversation between a Vodafone sales person and a customer. Let me give you a background first. The customer is on a post paid plan and wants to increase the credit limit. The audio file below is the recorded conversation between the customer and the Vodafone sales executive (you can read the transcript below).



Download VodafoneSalesPerson.MP3


...
Sales person : what is happening ma'am actually through credit card if you are paying the bill we need one of your credit card front and back xerox copy
Customer : Can you repeat that please
Sales person : if you are paying through credit card if you want to avail this service through credit card
Customer : ok
Sales person : we need one of your credit card front and back xerox copy ma'am
Customer : ah ah
Sales person : and we are having one credit card form in that all your details and signature
Customer : right
Sales person : that is needed and on this we are getting free holiday package anywhere in India with your family
Customer : ok
Sales person : and 100 rs local SMS free for 3 months
Customer : ok so are you from hutch
Sales person : hutch in the sense Vodafone no ma'am
Customer : are you a Vodafone employee
Sales person : yeah yeah
Customer : you are a Vodafone employee right
Sales person : yeah yeah
.....
Customer : Renuka see front and back xerox copy if i give it then the credit card can be misused right
Sales person : your credit card how will it be misused we will send that to the bank nah
Customer : You'll will send it to the bank
Sales person : yeah for verification
Customer : no but is there any other proof that i can give you other than front and back
Sales person : if you are taking from bank then we need a cancelled signed cheque ma'am
Customer : for credit card facility is there any other proof that you can accept to pay through credit card is there any other proof
Sales person : no we need only front and back copy of your credit card
Customer : ok Renuka
Customer : are you working at the Begumpet sales office
Sales person : no Basheerbagh
Customer : Basheerbagh Vodafone office
Sales person : yeah
...

With the front and the back copy of the credit card the person who collects it can do pretty much anything they want with the credit card since they will have the credit card number and the 3 digit CVV number. They can shop on any online website and no one will be able to stop them. When I called up Vodafone they told me that there isn't any scheme for supplying your credit card such as a free holiday and 100 SMS per month free. The sales person actually made it look like you are guaranteed a holiday provided you give them your credit card details.

Please be careful regarding this. Do not ever let your precious credit card go out of your sight and also do not hand over photo copies of your credit card to anyone. This is a big scam that is being carried out by the sales agents of Vodafone.

Wednesday, January 23, 2008

Broader roads : Only makes it worse

I went out today after a long time on a weekday and the state of the traffic on the roads did not really make it a pleasure to drive on. Anyway it got me thinking about an interview I read the other day in the newspaper and the interview was with someone from the transport department of London and he said that the experience that they have had with highly populated areas is that the more roads they built the more they got filled up and there came a point where they could not build any more roads and it has now reached a point where they have a congestion tax to go into highly populated areas like Central London in your own vehicle.

Which made me wonder - "Why can't we learn from other cities?". When we had traffic jams we built flyovers, we then broadened the roads (not consistently many a time - some places are broad and some are not thus turning the not so broad areas into bottlenecks) and all of this eased the traffic flow a great deal temporarily. But what happened is that the traffic increased and now we are back at square one. The traffic jams are back.

The only solution is to have a good efficient public transport that will ensure that we can remove the congestion from some of the areas of our city. The metro may be an expensive proposition. Why aren't we looking at other means of public transport such as making bus corridors. I don't know the answers to this problem but if we do not put serious thought to this we are bound to commit the same mistakes that the other cities have committed and we would have learnt nothing from them which is totally unpardonable.

Tuesday, January 22, 2008

Functional Testing Template - One that works

I have seen a lot of templates around for capturing functional testing test cases but I have not been happy with many of them - so I started an exercise to take the good aspects of many of them and come up with a testing template that works. I have been using this template for close to 6 months now and it is working very well so I decided to publish it so that others can benefit from it. I have published the template using Google Docs and have opened the template to changes. Before going any further lets first open the template.

Functional Testing Template

(http://spreadsheets.google.com/ccc?key=pa7wK2WZheXh4MmuoIWCPJA&hl=en)

The key requirements for me were the following
  1. Easy to understand and use
  2. Should contain a status sheet that will give me the exact position of the testing phase
  3. Have clear definitions for everything such as severity, status and priority
  4. Come up with a consistent naming convention for the test cases
  5. Be able to organize the test cases
Let me start by explaining what the sheets in the template contain
  • Status - Gives an overall status of the application. There should be one row for each page/screen that is being tested.
  • Page 1 - Each page/screen in the application will have one sheet for all the test cases that are specific for that page.
  • Application - All the test cases that are application specific but not related to any one page in particular go in this sheet.
  • Test Data - Any test data that needs to be created for the test cases to run needs to be specified in this sheet.
  • Glossary - This sheet explains the meaning of all the severities, priorities, status, test case naming convention and so on.

Page Sheet

This sheet along with the application sheet are the most important sheets in this template. This sheet captures all the test cases related to the page being tested. For each page/screen in the application being tested we need to have one sheet in the excel sheet. This sheet is broken up according to what is being tested in the page. These sections are
  • Navigation - Test cases for all the links on this page that takes the user away from this page.
  • User Interface - look and feel - Test cases related to how the page should look and behave. What is the size and shape of the various controls, images and so on.
  • Dropdowns and Look Ups - Default values in any of the drop downs or lookup controls.
  • Functionality - Functionality of the page, hiding and showing of sections of the page
  • Error Handling - System errors - Test cases for system errors such as no DB connection or fatal errors.
  • Error Handling - Mandatory field checks - Test cases related to mandatory fields checking
  • Error Handling - Field type checks - Test cases related to values that can be given in fields such as checking for alphabets in a phone number, date validation, etc
  • Error Handling - Business Rules checks - Test cases related to business rules on a page such as checking if the username is already existing and so on.
If there are no test cases for a section then we just write "There are no test cases". This way we are ensuring that we are capturing all the test cases. Sometimes we may find that a page has something that is not covered but is specific to that page so we just add a new section. What we have attempted to do through this template is to come up with a process to make sure we capture all the test cases in a consistent and precise manner.

Application Sheet

In this sheet we capture all the test cases that are across the application. Here we have the following sections. When writing the page test cases we try to keep out test cases related to access and permissions. The reason is because this has to be tested at an application level.
  • Application Security - All test cases related to login and logout. Unauthorized access checks and so on.
  • Role Based Security - After the user logs in based on their role they can do and cannot do certain actions. This web page attempts to capture all the test cases related to this.
  • Transaction Based Security - Based on the action the user is doing they may be some some checking that needs to be done. Test cases related to this needs to be captured here.

Monday, January 21, 2008

My Mom on CNN-IBN

My Mom who makes many Christmas delicacies like Plum Cake, kulkuls, Date roll and a lot more good stuff featured on the secret kitchens program on CNN-IBN. Along with my dad my Mom has written a cook book that got featured in this program and this cook book will soon be available online at the D'Souza Website.
Part 1



Part 2


Friday, January 18, 2008

Keeping up with all your online reading

I have an RSS Feed on my blog for a while now and it looks like this

but not many people have used this RSS feed and I think the reason that they do not use it is because many do not know what it is for. In this post I will try and explain what is an RSS feed and what is the use of it.

What is RSS ?


According to wikipedia RSS is defined as follows

... known colloquially as "Really Simple Syndication") is a family of Web feed formats used to publish frequently updated content such as blog entries, news headlines or podcasts. An RSS document, which is called a "feed", "web feed", or "channel", contains either a summary of content from an associated web site or the full text. RSS makes it possible for people to keep up with their favorite web sites in an automated manner that's easier than checking them manually.
How do I use an RSS Feed ?

Continuing on the article in wikipedia on how you can use an RSS Feed...

... RSS content can be read using software called an "RSS reader", "feed reader" or an "aggregator". The user subscribes to a feed by entering the feed's link into the reader or by clicking an RSS icon in a browser that initiates the subscription process. The reader checks the user's subscribed feeds regularly for new content, downloading any updates that it finds.

Now that we have clarity on what is an RSS feed and how it is used lets get down to how we can make it part of our lives. There are 2 sides to an RSS feed one as a publisher and one as a reader
  • If you are a publisher then you want to be able to publish your site using an RSS feed so that an RSS reader (just like a web browser) can keep track of your site. I will talk about this in another article as this article is focussed on how to read RSS Feeds.
  • If you are a reader then you need to get your hands on an RSS reader. The rest of the article talks about the various readers out there and how you can use them.
There are essentially 3 types of readers out there
  1. Online readers such as Google Reader. The advantage of this kind of a reader is that it is online and you do not need to use the same computer always in order to read your favourite sites. But the control that you have over the feeds is limited. Has a look and feel similar to GMail.
    Standalone applications such as Feed Demon. The advantage of this is that it gives you a great deal of control over how you read your favourite sites. I have not used this but there is a good comparison given here FeedDemon vs Online RSS Readers. FeedDemon is free as of now so click here to download the free version. Has a look and feel similar to outlook.
  2. Plugins for your browsers such as the WIZZ RSS Reader for Firefox. They seemlessly integrate into your browser and give you a fair deal of control over what you read.
I have used the WIZZ RSS Reader plugin on Firefox so I will explain in this article how I use this and you will understand how it is so easy to keep up with all your favourite websites.

Assuming you already have Firefox installed. You can go to Tools -> Add-ons and then in the window that pop ups click on Get extensions in the bottom right hand corner. Then search for the WIZZ RSS Reader and install it. It is fairly simple to do this.

It should install a bar that looks like this.
Clicking on the Open/Close Sidebar button will open this sidebar. You can create categories here to group all similar websites.
There are 2 ways to add an RSS feed
  • Clicking on the feed search button on the tool bar or the side bar will open a window that looks like this and will show you all the RSS feeds on that website. Drag and drop the RSS feed into the side bar under the category that you want.
  • If you see an RSS feed link on the website then just drag and drop it into the sidebar and you are done.

Clicking on the category will find out all the updates in the websites in that category and will display them in the second section of the sidebar. The new articles show in green and the read articles show up in red. You can hide the read articles by clicking on the Hide Read Items button on the tool bar on top of the sidebar.

All I have to do now to check if there is anything new on the websites I like is to click on the category and it shows me all the updates and I can go about reading the articles that interest me. I do not have to visit the individual sites. This has made it so easy to keep up with the online world and I think anyone who does not use this has to start. So go ahead and drag and drop this link into your RSS reader to keep track of my website.

Running competitions to popularize your blog

I was reading a couple of interesting posts about having competitions on your blog in order to popularize it. The idea here is to have a competition on your blog that will either encourage your existing readers to do something that you wished for them to do like subscribe to your feed or to leave comments or to try and attract new readers to your blog. Here are the two articles that caught my attention

The Costs and Benefits of Running a Competition on Your Blog
How to Run a Successful Competition on Your Blog

So I decided to check out some competitions that are going on and here is one example

Get to Know the Blogger… ME!!! (And win a free ad spot, too!)

and a shortcut to all the other competitions out there

Blog Catalog - Blog Competitions

This surely seems like an interesting way to draw traffic to your blog but what I have learnt over time is that readers who read your blog will come to your blog as long as they can relate to the content on your blog. So it really does not matter if you have a competition or not to draw the traffic to your blog. So if you write good articles and advertise enough about those articles the traffic will automatically increase to your blog. By having a competition you may see a temporary spurt in the number of visitors to your blog but the idea is to be able to sustain and grow the reader base.

Thursday, January 17, 2008

Isn't this scary for anyone who is going online ?

This article caught my attention on the 14, Jan, 2008's Times Of India, Hyderabad Edition newspaper.


First of all let us go into why was he put in jail and this excerpt clearly tells us why.

" Lakshmana had been falsely accused of an Internet crime—posting unseemly pictures of Chattrapati Shivaji on the web—and was arrested on the basis of an IP address (Internet connection number) supplied to the police by his Internet provider, Bharti. As it turned out, the IP address was not his, but by the time the police confirmed this and acted on it, he had already spent 50 harrowing days in Yerwada Jail with hardened criminals, lathi beatings, and a bowl which he had to eat out of and use in the toilet as well. "

Then the article goes on to talk about how his experience was in jail and to put it in one word "harrowing".

" Lakshmana says he was stripped in front of other inmates, including women officials, beaten with lathis and told to pluck grass from patches soiled with human waste. There were three toilets for 400 inmates with an average waiting time of 30 minutes—if a person took more than a few minutes inside, the other prisoners would throw stones or open the toilet and abuse him. The food was inedible and sleeping impossible with “blood-sucking bugs, snoring inmates and a dormitory fully lit through the night’’. He had to sleep on the floor and by way of bedding was given “two badly used, soiled, unwashed bed sheets’’. Contaminated water aggravated Lakshmana’s health problems, especially his kidney-stone problem. "

Isn't this scary ? Anyone of us at anytime can become a victim. All that needs to happen is that your ISP has to give your ISP for any police investigation and thats it. Let us lend our support to Lakshmana in what ever way we can since anyone of us can become a victim of this same law as long as we are online.

Wednesday, January 16, 2008

Is our education system really good ?

One hears a lot about how our education system is one of the best in the world and that we have the most number of young educated people. Well it may be true that we have a lot of educated people but the question is did they get the right education to be able to do their job competently. From my own experience I feel that the education that I got only gave me the opportunity to get a job through a campus placement and in all the years in the industry I have not really used anything that I learnt in college, I was either trained in it after I joined my first job or had to learn the stuff on the job on my own.

There are a lot of young people that I meet each day who have fancy degrees such as B. Tech's, BE's, MCA's and MBA's who are desperate for a job, any job. The question we have to ask ourselves is why aren't they getting jobs? Why are there so many training institutes teaching people what they should have learnt through the education system? Why is there a shortage in the industry for freshers who can do the job they should have been educated about? Why do organizations have to spend large sums of money in retraining professionals after they are hired? I think the answer to all these questions lie in the system that we have that is just not keeping up with the pace of technology.

The lecturers that we have in our college except for a few of them are just not keeping up with technology. Neither is the syllabus that they teach. That is why after they pass out from the colleges almost everyone has to be trained to do their job. The Indian education system lays a good foundation where the basics are ingrained into each and everyone's head. There is talk of an experiential learning system - but I still believe in the by-rote learning system for I believe that the basics need to be ingrained at an early age. But I think our higher education should work more closely with industry to adapt to what the industry needs and then channelise the students into various streams so that they are fully employable when they pass out. This will make the institute more popular because everyone will be clamouring for students from there since they will be all set to start off being productive very quickly and the students gain since they can live in the comfort that they are employable and are not doing the course just for the sake of the degree.

Why do all the organizations clamour for students from the IIT's, NIT's and a few other premier institutes. I do not think the answer lies in the fact that students from these institutes are trained and so will be more productive. I think the fact is that getting into these institutes is through a competitive exam and most of the high rankers get through into them. So hiring someone from these institutes gives you an impression that they will pick up things fast and do the job as compared to people from other institutes. I think this is a warped way of thinking since I think freshers from these institutes are overpriced.

So my advise to all the other institutes is talk to the industry and get your syllabus in tune with what the industry wants and send your lecturers for training courses that will equip them with the tools that they need and I am sure you will become as popular as the IITs and the NITs. The other way is to ask the industry to depute experienced professionals to work closely with the college. I know a lot of professionals that would like to teach for a short period of time while still being employed. I have read a few articles about this happening but I wish it was more widespread. The key is whether the institutes are ready for this. I am sure the organizations are. So its time for a symbiotic relationship to develop between the industry and the higher education system.

Monday, January 14, 2008

Anonymous Blogging

There was an interesting discussion on NDTV yesterday in the program "We the People" on the topic "Should blogs be moderated ?". This talk show had my mind working on a lot of things and one of the topics was "Anonymous Blogging". Anonymous blogging is blogging without letting your identity known. Now why would one want to blog anonymously ? There are times when I wish I was an anonymous blogger too - the reason being that I have certain thoughts and views which may be a bit controversial or can have an impact if known to others. So what happens when you blog with your real identity is that you start becoming reserved in what you write and say since it can have repercussions.

On the other hand when you blog anonymously you can be totally candid and open about everything in the world since no one knows who you are. It is known the world over that in order to become famous you need to be either controversial, titillating or just absolutely provocative in what you write about. This is an excerpt from Sachin's Java and Software Blog

"More technical titles generally languish somewhere in the middle of the list which at the top is crowded by articles that are inflammatory in their title or simply very vague about their content."

And when you are anonymous it is easier to write such inflammatory articles and thus become more popular.

Blogging anonymously also has its drawbacks. It removes the credibility factor from the content of the blog. If I read a blog that has a name to it I tend to believe it a lot more than a blog that does not have a name to it and the same goes for the comments on my blog. Comments that have names to them are taken a lot more seriously than comments that do not have names.

I am comfortable with blogging with my identity known to everyone as I do not fear about what I write even though there are times I wish to say somethings but can't. I have known a lot of people that are scared to blog because they will be found out - my advise to them is do it anonymously it is so easy to create an online avatar that can make you a superhero.

Sunday, January 13, 2008

Traffic is directly proportional to the content

When I used to post not very frequently I noticed that I used to have only about 2 or 3 visitors daily and many a time they were not repeat visitors but for the last couple of months I have been posting almost daily and I notice that I have a min of 15 visitors to my site everyday (Metrics from http://analytics.google.com). So I have been convinced that the key to driving traffic to your site is the content of your site.

The more content that you have the better are your chances of people finding you in Google. I have found that 50% of my traffic is driven from people who find my site in Google search. This was not the case earlier when I did not have much content on my website. If you are a technology blog then the chances of people finding your site are a lot higher since there are more technical searches in Google. On the other hand other blogs get a fair share of searches too so don't get too worried. The biggest drivers of traffic to my website are software quality, CMM and Training institutes. You can get all this information from the Google analytics site and the registration is free so I advise everyone to get an account.

Google is the number 1 driver of traffic to my site. I have tried out a lot of other ways to get traffic to my site but nothing has been as good as Google. The only way to get to the top of Google is to have good content and have more people viewing your site or linking to your site.

The other thing I am working on is trying to get my blog listed in various blog directories. I have now listed in India Blogs and Blog Rush. Lets see how things work out in driving traffic from there. In the last 2 days since I registered nothing much has happened.

Friday, January 11, 2008

How expensive is it to go online ?

If you are running a small organization or a business that is looking for an online presence then it is really not that hard and expensive. Let me clarify what I mean by an online presence before we get into how to achieve it
  • A Website that people can visit (eg. mysmallbusiness.com)
  • An email address that has your website address as the suffix ( eg me@mysmallbusiness.com)
  • A common place to put all your documents (eg. docs.mysmallbusiness.com)
  • A calendar that all your employees can use to schedule their meetings (eg. calendar.mysmallbusiness.com)
Now how do we implement this and what are the costs involved.

Step 1 : Registering a website - Max 10 USD

After you have come up with a name for your website you have to register it. There are a lot of websites where this can be done and I have used 3 of them so far.
  • http://www.domaing8.com - Excellent user experience. If you make a mistake and they charge you for it then they promptly refund your money. They have excellent features that are a breeze to implement and use. Their support is excellent. I have been using them for the last 4 years and have had absolutely no issues. Currently if you buy your domain name from them they give you free ad sponsored web space to host your site.
  • http://www.1and1.com - A decent user experience. The charges are reasonable too. Its just that I am so used to using domaing8 that I don't have much experience with 1 and 1. Domaing8 has not given me a reason to check out anything else out there.
  • http://hosting.indiatimes.com - don't even bother checking them out unless you are looking for a .in domain name. If anyone knows who else in India offers .in domain names do let me know.
This registration will cost you a maximum of 10 USD (about 400 INR) per year. Domaing8 right now goes as low as 1.69 USD (they have conditions though).

Step 2 : Create an account with Google apps - Free


Now that you have registered your website you need to setup your mail accounts and calendars. Google Apps allows you to do that for free up to a 100 users. To create an account in Google apps click on this link. Depending on the features that you want you can choose the type of account you want. I would start of with the free account because you can always upgrade later on once you have all the pieces working. Google app helps you create email accounts with your website name, calendar, chat, web hosting and online document sharing.

Step 3 : Create content for the website - Free

Now you need to create some content to display to the visitors who come to your website. All the hosting services provide some basic WYSIWYG (What you see is what you get) web page editors which you can use to do very small websites (max 10 pages). This would cost you nothing other than a few days of your effort. You can also use tools such as Frontpage, Netscape composer, etc to create the webpage. You can get templates for your website from Open Source Web Design. All you need to do is choose a template download it, edit it and upload it into your website. You will have to learn some basic html to do this and you can learn that by visiting W3 Schools that has some excellent tutorials on web site development.

If you want more involved websites (containing discussion boards, shopping carts, registration, etc) then you would need a web designer and developer to do it for you using a web based programming language (php, .Net, Java, etc). This will cost you based on the number of pages that you plan to have on your website and the kind of functionality that you intend to have.

Step 4 : Registering your website with Google - Free


Once you have the content for your website uploaded you will want people to find your website when they search for it in Google. You can do this by setting up an account in Google Webmaster Tools. You will have to create a site map of your website and then upload it to your website and inform the Google webmaster website that you have uploaded it and it will verify it. In order to create the Google site map there are 3rd party sites that do it. I have used XML-Sitemaps.com and it does a pretty good job. Uploading and getting your site map verified will ensure that the Google bot picks up your site for indexing. After that it is entirely based on the popularity of your website as to where you rank in the results on searches done in Google.

Step 5 : Make money from people visiting your website - Make money

Now that you have people visiting your website you may want to place adds on your website and make money from that. This is very easy to do. All you need to do is get a Google Adsense account and insert some code into your websites and you are all set to make money.

Step 6 : Monitoring people that visit your website - Free

You will very quickly become curious to know who visit your website, how long did they spend on your website, what did they read on your website, are they new visitors or returning visitors and so on. You can do this for free by getting a Google Analytics account. It will give you all this information and more about your visitors.

So if you want something basic then it costs you less than 500 INR to do it. With such a low setup cost I think it is essential that every business has an online presence.

Why can't we host websites that work ?

This was the headline in the Economic Times - with the following text

"...Over 2.3 lakh students who appeared for a shot at the seven IIMs and another 100-odd B-schools logged on to the common site, www.catiim.in, only to find their results inaccessible..."


I have heard of this time and again - every time there are any results for competitive exams published online the website goes down. Why is it that even though we are a country that is supposed to be leading in producing software engineers not able to put up a website that can service quarter of a million visitors at a time. I think this has nothing to do with the lack of knowledge it has everything to do with carelessness and an attitude of not ensuring that every single aspect is tested.

IIM is the premier institute in India where students get phenomenal jobs at the end of their course - these institutes compete with the very best in the world. How can we aspire to be in the top if we cannot even host a website that can service quarter of a million visitors. Such bad publicity also will not help the image that the IIMs are portraying.

Thursday, January 10, 2008

How to manage your home loan ?

Having control of the interest portion of the home loan is the most important part of managing a home loan. The reason is because the interest portion of the home loan is an expense. And controlling this expense is very important in order to save money. After having a 20 year home loan for sometime there are a few things that I have learnt in the course of it which I would like to share.
  • Even if you get a tax break for 30% of the EMI (Equated Monthly Installment) on a home loan remember that the remaining 70% is an expense so unless you are making up that 70% either by renting out the home that you have or are saving it in rentals (if self occupied) it is not worth having the loan.

  • Always keep track of your home loan by using an amortization sheet. You can use a sheet that I prepared by reading this post. This sheet calculates the principal and interest payments that are going out based on the interest rate and principal outstanding at that point of time. The issue with this sheet is that you will have to maintain the changes in interest rate and the principal repayments made by you. The advantage of this sheet is that you can play around with it by doing a prepayment or by changing the interest rate and see how it will effect your loan.
    If you have taken a loan from ICICI bank then link up the home loan to your ICICI infinity login and you will be able to see the amortization sheet online. The disadvantage with the sheet they have is you cannot download it and you cannot play around with the numbers but it will give you the numbers that you need to fill up the excel sheet above. I think it is absolutely key that you have this sheet to keep track of your loan.

  • Making prepayments in the beginning of the loan tenure where the interest payments are high and the principal payments are low has a great effect on reducing the tenure of the loan. So try and make as many prepayments as possible right in the beginning - try and channel as much money as you can in prepaying the home loan.

  • If your disposable income goes up (in the case when salary goes up) then try and change the tenure of the home loan - this will increase the EMI but what it will do is that each month it will increase the principal portion of the loan and reduce the interest portion of the loan. There is a cost associated with this so ensure that the savings incurred are a lot more than the costs involved. You can calculate the savings by using the amortization sheet.

  • If you are on a variable rate home loan then interest rates are always calculated as PLR (Prime Lending Rate) - spread. Home loan companies in India rarely change the PLRs but if you visit property exhibitions you will realise that they are offering new home loan customers a cheaper interest rate and they do this by changing the spread. So you can look into changing from one scheme where the spread is more to a scheme where the spread is less. Doing this can cost as you have to close the first home loan and take another one with the new spread so the savings have to be worked out before you decide to do this. You can calculate the savings by using the amortization sheet.

Wednesday, January 09, 2008

Wires support pumpkins too


One thing about India - you will find a lot of wires hanging about electricity wires, telephone wires, cable television wires, banner wires, broadband internet wires and a lot of other miscellaneous wires. The other day on the road I noticed a pumpkin creeper growing on a bunch of telephone and cable television wires and look - there is a pumpkin too pulling on the wires !!!

More learnings from the sale

Here are some more learning from the sale. If you want to read more about the sale then go here.

  • When you do something like this be prepared to give up a lot of things that you would have done otherwise. During the Christmas sale we had to give up all the preparation for Christmas because we were busy with the sale. You will have to be present from morning to evening at the business doing sales and many a time you will have to spend the night doing strategy or marketing - so you pretty much don't get time to do much other than the sale.
  • There will be times of insecurity and doubts. It is important at these times to back yourself on what you planned and believe that it will work. You should not let your shoulders drop. At these times it is important to evaluate and change direction if needed but these changes have to be subtle and small. If the change in direction is too big then you might lose focus.
  • Have different people to do sales and marketing. Since we were only 2 of us to look after sales, marketing and a home (we have a 2 yr old) we found that since we were doing sales the whole day, marketing was effected and if we were doing marketing then it was not possible to do much sales. So its important to have someone strong in sales and marketing looking at each one of those tasks full time.
  • Always remember that there will be defective products and damaged items. You will also have to put items on display which cannot be sold at full price. You will need to estimate what is the percentage of these products and you will have to make sure that you take this into consideration when you decide on the price.
  • Be prepared to repackage and change your product presentation in the middle of the sale. What we realised is that a lot of people who came in to buy did not know much about Christmas trees so it was easier to sell them a complete tree set (tree, ornaments, lights) rather than have them choose the ornaments themselves. So we broke up the sets of ornaments that were there and made our own sets mixing up all the ornaments. This was one of our hottest selling items.
  • If the item that you are selling are reusable and not perishable then be prepared that you are not going to get repeat customers for the same product. In last years sale we had a lot of people who bought Christmas trees but this year very few people came back and bought the same. So if you have products that are non perishable then make sure that you have something new for the new customers. So this year we had nativity sets and wreaths which were lapped up quite quickly.
  • One of the things that you need to do if you have a lot of stock is that you need to make some bulk sales in order to move the stock. We decorated a couple of offices and so were able to move a lot of our stock there. You will not get as much money as a retail customer but at least you will be able to move the stock. Also look at selling to other retailers so that you minimize the risk of being stuck with stock that cannot be sold. It is especially essential to do this if you have products that are season driven. In our case there is nothing we can do with our remaining stock till next Christmas.
  • You need to enjoy what you are doing. It is hard work. You have to believe in yourself and back your instincts.

Tuesday, January 08, 2008

Hyderabad Zoo

On Sunday I paid a visit to the Hyderabad Zoo and it was a lovely experience. The name of the zoo is Nehru Zoological Park and it is present on NH7 which goes to Bangalore and it is fairly easy to find using Google maps.



View Larger Map
Timings of the zoo

It is opened from Tuesday to Sunday and every Monday is holiday.

April to June: 8.00 AM to 5.30 PM
July to March: 8.30 AM to 5.00 PM

Tickets :

Entrance : Rs. 20 for adults and Rs. 10 for Children.
Camera : Rs. 20 and Video Camera : Rs.100
Own Car : Rs. 200 with free entrance for five members.
Visitors Van : Rs. 25 for adults and Rs. 10 for children.
Safari : Rs. 25 for Adults and Rs. 15 for Children.

For more information visit their website.



We reached the Zoo at about 10:30 in the morning. The Zoo is 380 acres and it is nice and green. What we realised that by about 1:00 PM it gets really crowded with a lot of cars and its not a pleasure to drive around the zoo anymore. So get in early and get out by about lunch.



The first thing we did was to take the train ride as it gives a good idea of what is in the zoo and the general layout of the zoo. The train ride costs Rs. 25 for adults and Rs. 10 for children and its for about 10 min and its quite a pleasant experience. After we finished the train ride we did the safari - it consists of 4 safaris - lion, tiger, bear and bison. Its completely your luck to see any animals in the wild - we got to see a lion and lioness from far (about 100 yards) but we got to see a tiger right in front of the van. We did not see any bears. The safari takes you around enclosures that are about 130 acres and you get some good views of Hyderabad from here.



We then drove around the zoo and got to see some animals but after about an hour we did not even see half the zoo and we were quite tired. The zoo is huge so be prepared for a lot of walking. There are pay and use toilets in the zoo which are decent and there are also a couple of restaurants that don't burn a hole in your pocket. So go with a view that you are going to spend a considerable portion of your day in the zoo. A lot of families come there for a picnic getting their own food.



On the whole the experience was good and everyone had a lot of fun. I would put it on my list of must visit places in Hyderabad. The only issue being that it will be a full days trip and on a weekday going there can take some time. So on a short trip to the city it may not be really feasible.

Incompetent ICC

With all the furore over the current test series in Australia there is one thing that is coming out very clearly and that is the incompetence of the ICC. I feel that the ICC is incompetent due to the following reasons
  • Having laws that are vague - the law regarding racial discrimination is very vague and is completely left to the interpretation of the person who is administering it.
  • With so much tension created by bad umpiring the ICC should have made sure that there was an amicable settlement to the racism issue by intervening and ensuring that it did not become the issue it is now.
  • Dragging its feet on umpires - it does not have any method where umpires have to be accountable. Right now an umpire can do how many ever mistakes they want and there is nothing that can be done to them.
  • It has hardly acted in a powerful manner as a governing body should - it has dragged its feet and let things escalate to a situation that it may be hard to come out of.

Its time the ICC woke up and made its presence felt. Changing the laws of the game will not effect the game much. Helping the game to be conducted in a fair manner where there is no bias towards any one team should be the most important act that the ICC does. It should create an environment where teams can grow and compete together in a competitive manner where there is no favouritism. If this kind of environment and level playing field is not provided then it is cricket that will be the loser. Currently the whites control the power and the Asians that control the money. If the ICC does not step in and bring about a reconciliation of the two then cricket will be the loser.

Saturday, January 05, 2008

Coin Collection - Canada

  • 1969 Uncirculated Coin Set
  • 1971 Uncirculated Coin Set
  • 1973 Uncirculated Coin Set (100th anniversary of the Royal Canadian Mounted Police)
  • 1974 Uncirculated Coin Set (100th anniversary of City of Winnipeg)
  • 1975 Uncirculated Coin Set
  • 1976 Uncirculated Coin Set
  • 1977 Uncirculated Coin Set
  • 1978 Uncirculated Coin Set
  • 1979 Uncirculated Coin Set
  • 2006 Commemorative Holiday Coin Set
  • 1972 1 dollar - 2 coins
  • 1974 Winnipeg - 1 dollar
  • 1975 Calgary - 1 dollar
  • 1976 Library of Parliament - 1 dollar
  • 1977 Elizabeth II Silver Jubilee - 1 dollar
  • 1978 11th Commonwealth Games Edmonton - 1 dollar
  • 1988 250th Anniversary St. Maurice Iron Works - 1 dollar

Coin Collection - Netherlands

Coin Collection - USA

Coin Collection - Scotland

Coin Collection - England

Coin Collection - Australia

Coin Collection - Singapore

Coin Collection - Brazil

Coin Collection - Thailand

Coin Collection - India

Friday, January 04, 2008

Learnings from the sale

The Christmas sale that we had in the church is over and although we did not make any money after 10 days of hard toil there is a lot that we learnt from it. In this post I will try and put down all the things that we learnt from the sale. I would like to thank all those that came to the sale and also for all the encouragement and support.



The following are the phases of execution that we went through and I think anyone that is planning to do anything in retail should go through these phases
  • Conceptualization
  • Planning
  • Procurement
  • Marketing
  • Setting up
  • Sales
  • Closure

Conceptualization

This is the dreamy phase where everything looks so wonderful. In this phase it is important to put down all your thoughts and ideas. You need to develop a mental picture of what you want to do and where you want to be. It is very easy to drift away into Neverland here but it is important to keep a balance between being too careful and being too crazy. If you are too careful in this phase then there is nothing different in your store and you also may not get off the ground because doing anything from the start requires you to take a risk. If you are too crazy then you will either dream of something so big you cannot execute (due to lack of resources or experience) or may be just impossible to do. So you need to come up with something that is a balance between the two and makes you feel comfortable. Some of the things that need to be decided in this phase are

  • What are you going to sell?
  • Where is your store going to be located?
  • Who are your customers going to be?

One need not get into the details of each one as the details will come in the subsequent phases but in this phase it is important to have an idea so that you can gather the details in the next phases.


Planning

In this phase one needs to get into some details that you conceptualized in the previous phase and this has mainly to do with money. Some of the details that need to be planned are

  • Investment - this will go into cost of goods that are to be sold + Expenses.
  • Projected profit - this will be based on what you think would be the quantity that will get sold - always remember that you can never sell all you have. So if you think you have to make double the money you invested when you sell half your stock then you need to price your items more than 4 times from what you bought them at - hmmmm will your customers buy it at this price is completely another issue.
  • Location of the store - this is very critical so that you get the customers you are targeting. This can also be a big expense in terms of rental.
  • Number of people who will work in the store - more the number of people more the expenses and more the management, lesser the number of people and more work it is for you.
  • Advertising - More the advertising more the expense.
  • Competition - Need to understand who is the competition and what is the price they are selling the items at
  • Suppliers - who are the suppliers that can supply you the goods - the closer it is to the manufacturer the cheaper will the product come to you - but there are other issues in getting it from the manufacturer.

Procurement


Now that you finish planning it is important to start finding out from where and at what price you can source your product. Every product will start from a manufacturer and will go through multiple hands before it is sold to a customer. In every hand the price of the product increases. Now when you are selling a product you will lie somewhere on this chain so the higher you are on the chain the cheaper the items get. The catch here is that the higher you are on the chain higher is the minimum order quantity per item.

At the level of the manufacturer the minimum order quantity may be a 100 boxes each box containing 25 items where as at the level of the final retailer that sells it to a customer it is at 1 single item. So if you are planning to buy it from the manufacturer and sell it directly to a retail customer remember you will have to then find 2500 customers to dispose off all your stock which may not be possible.

On the other hand if you are at the other end of the chain then the price may be so high that it does not become viable for you to sell it because your competition may be cheaper than you and if you go cheaper than your competition you make no money. So finding this balance and procuring your product can be quite a challenging exercise in itself.

Another thing to keep in mind is that when you order higher in the chain the time to supply the product increases so you will have to place your orders earlier.


Marketing

Once you you have a clear idea of what you are going to sell it is important to decide how to make the customers aware of what is being sold. Since we did not have a very big budget some of the things that we tried out are

  • Making fliers and distributing them as follows - putting them in newspapers, distributing them in other churches, handing them out to customers that came to give it to their friends, sticking them wherever possible, putting it in vehicles in office buildings
  • Hanging out banners - we made 4 banners - we hung two at the location of the sale and we hung 2 outside other churches
  • Made a website and wrote about the website in forums and classifieds - we actually went to the top of Google search results if you typed "Christmas decorations Hyderabad"
  • Mail all your friends and family about the sale
  • Put in messages in various orkut communities that can have potential customers - so we targeted all the Hyderabad communities and christian communities
  • Send SMSs to some of the customers that came the previous year
  • Go through websites like job sites (provided you have an id) and farm from email ids of potential customers and email them about the sale.

Some of the things that we toyed with are

  • Using mginger to send out SMS to the christian target group - but this was proving to be beyond the budget and we did not feel that we will get kind of returns to justify the expense.

Setting up

At this stage you have all the items and have identified the customers to target its time to setup the store (provided you have bought or rented the space already).

  • It is important to plan the layout of the store in such a way that there should be a clean entrance and exit without the customers bumping into each other or any items.
  • The display area should be uncluttered so that the customers can browse the items easily and also see the selection that is available.
  • All the items in the display area should be priced so that the customers can see the prices.
  • The items should be displayed in such a manner that the customer should get an idea of how to use the item.
  • Stock should be easily accessible and organized so that you can service the customer quickly.
  • It should be easy to take out and put the stock back from its display easily.
  • Do not display any stock that is damaged.
  • Items should be easily viewable

Sales

In this phase, you have the items on display, the customers have come in to buy - now the challenge is to give them what they came in for. If you are planning to use sales staff then you need to keep this in mind

  • Does your staff know about your product - many a time people come in having no idea of how to use the product so the staff should be knowledgeable enough to explain it to them and how they can use it.
  • The staff needs to have patience and should devote their complete attention to the customer. One needs to understand what is important to the customer by observing the subtle hints that the customer gives you while looking at the product or by what they say - for some customers price is important for others the type of product is important and they really don't care about the price. So for the customers that price is important keep showing them things that are cheaper and cheaper by starting at the most expensive. It is important to keep their interest. For the customers that the type of item is important you need to keep showing them different quality products and keep their attention. The key is to keep the attention of the customer.
  • How dedicated is the staff in making the sale happen - if you do not tie in the payment to the staff to the quantity that is sold then the staff may just not care.

How many staff do you keep ? Too many - and you will just have them hanging around. Too few and you may be doing all the work yourself and having customers leave since no one attended to them. If you can determine the pattern of the customers coming into your store then you can determine the quantity of staff that you need.


Closure

Once you finish with all your sales it is important to bring closure to everything - pay off all your suppliers, clean up the place and hand it back to the owners, remove the banners and any other public advertising that was done and analyse all your expenses and your sales and determine how much money you made.

You do what you are

In the 2001 movie Along came a spider, there is an interesting quote by Morgan Freeman where he says "You do what you are" and the...