Sunday, November 25, 2012

Business - First Step

This is a Second post among the series of blog posts I am composing about starting a new business.

After deciding on starting up a new business, the next steps to focus on are the business idea and the business setup. To begin with the business idea, some people are fortunate enough to stumble upon a great business opportunity or business idea, other however have to undergo a grueling process of constant vigilance and earnest observation for new ideas and market demands as well as potential customer needs. Another big seller would be a better and improvised representation of an already existing idea with enhanced aesthetics and operations.

Ease of Doing Business Country Wise Index - Wikipedia
As for the business setup, it is tied up with various pertinent formalities with regards to regional areas. Different countries have different set of rules regarding setting up a new business and its day-to-day ease of running.

This link points to an article on wikipedia which ranks all the countries in the world according to starting a new business and running it with ease. According to the list in 2012, it is the easiest to setup and start a business in Singapore followed by Hong Kong and the most difficult country in the world is Chad. Wall Street Journal also published an article in 2010 which represented various facts and figures about business setup in different countries. These factors need to be carefully weighed in before taking a decision in which country to start a company.

Wednesday, November 14, 2012

Start of a Business

Starting with this post, I will be posting a series of blogposts in which I will share my experience in setting up a new business and running it along with the issues I have faced in its wake.

I had been thinking of starting my own business for a very long time. I have had a consistent full-time job for more than 6 years now and have been working in and out for 8 years but to have my own business has always been at the back of my mind.

I have numerous instances where people quit everything in order to peruse their dream of being self employed. Some of them stop short of success in their ventures and I believe that it is because they give up too early.

I also know of many inspiring people who have been able to fulfill their dream of owning their own businesses as well as successfully sustaining them.

There will always be people who are risk averse and are reluctant in giving a thumbs-up in starting a new venture because of all the extranalities involved. Despite all of this, I recently launched a new startup and have yet to see how it progresses further, but let me assure you, all the efforts, the hard work, the feeling of owning your very own enterprise, there is nothing like it.

Thursday, January 19, 2012

Setup Xcode 4 with a new Github repository



With the release of Xcode 4, it has become fairly easy to integrate Xcode 4 with Github's repositories. It requires a few basic steps that need to be followed if your a first time user.
  1. You need to install git and setup a new Github repository as described here.
  2. Open Xcode.
  3. Create a new project under Xcode and try to keep it of the same name as the Github repository. It saves you from hassle
  4. Select "Create local git repository for this project". (It is usually selected by default)
  5. Go back to the newly created git repository and follow directions to setup an existing repo. It should resemble the image below:
  6. Keep in mind, the "existing_git_repo" directory is your current project directory created by Xcode.
  7. Now your all set and you can commit your changes to Github through Xcode either by right-clicking on the project and selecting commit or by going to File->Source Control -> Commit (alt+command+c).
  8. Once your ready to push changes, goto File->Source Control -> Push and you should be able to see your commit on Github.

Sunday, May 3, 2009

Mastery requires 10,000 hours of dedication

According to a renowned sociologist Macolm Gladwell, it takes 10,000 hours of dedication and commitment to become an expert at something. I have given it a lot of thought and have come to the conclusion that this statement checks out. 
This formula can be applied to any aspect of human life. 
  • Business : Take the example of Bill Gates. He achieved those 10,000 years well before anyone due to his dedication with the ASR-33 Teletype. He would end up spending late nights and would skip class just to sit in and work on it. And today, he is bearing the result of those efforts.
  • Sports : Who doesnt know of Tiger Woods. He has some many records and wins to his name and that too at a very young age. He started gold at the age of 2. He would spend numerous hours a day practicing golf and gained mastery at a very meagre age. 
  • Marriage (Social) : According to many studies, average young couple spends about 1-2 hours of quality time with each other, which is fairly low. Now, even if they spent 10 hours/week; it would still take them 20 years to have understanding of their marriage and their mate. This very much accounts for the high divorce rates we have these days.

Two things can be concluded from this. 
  • Its not easy to be a master at something because 10000 hours requires great dedication and commitment. If you spent 20 hours per week on something. It will still take you 10.4166 years to become perfect at it. 
  • Its very much impossible for one person to be a master of two things in his life time. Most of us neither have the dedication nor the stamina to go through it. 
Now, I am not saying having these 10,000 hours on your side guarantees your success in this world. You also need some luck and good judgement to get on top! 

Thursday, March 26, 2009

An AGILE approach towards testing using Mercury's QTP

I have been in many different projects each following a somewhat different software development methodology. There are many core methodologies out there, common ones being Agile,Extreme Programming,Waterfall etc.. However, since i am a huge advocate of agile methodology, I recommend that quality/functionality testing should also be done in an agile manner.

Now there are unit tests which are written before each piece of code. However, once the developer is done with his/her part, it is passed on to the QA team. There are some who claim that QA can not perform testing following an agile approach. But i believe it is definately possible and proves to have a better result. Here is my take on how QA can follow an agile approach. The testing tool to be used for automation purposes is mercury's QTP.

The basic requirement is that development team delievers regular builds and there needs to be some co-ordination between the QA team and the development team.

Now automation scripts can be developed for each individual screen for a web-based application. Even if a page is not ready, one can acquire a .jsp or asp file from the developer which should contain all the required ids, elements and their names.

Once this is achieved, the tester can write scripts using VBScript and desciptrive language for that page according to required functionality.

Hence, as soon as the development of a page is done and goes into the build, it can be tested right there and then. This really saves time for testing as all the pages are tested hand and hand and then there is no requirement to have 2-3 months dedicated specifically towards testing time.

Monday, March 2, 2009

Mercury QTP.. automated testing tool.. List of "Do-nots"

Recently I have had the privilege of working on Mercury's product called Quick Test Professional. I found it to be very powerful in terms of use and operation. It can be used to automate user actions in two ways:
  1. Recording
  2. By Scripting.

1. Recording
It is fairly simple and all one has to do is press Record button and then perform actions as a user would normally. These actions are stored and then can be played back again & again for regression purposes. It uses an object repository to store different properties of elements on the page. e.g. a drop-down list with properties such as name, list values, x and y co-ordinate etc are all store in the repository.
Based on this, it becomes easier for QTP to recognize a specific element and perform functionality accordingly.

2. Scripting
This is the method that I used the most. The language used is VBScript. If you have some hands on experience with VBScript you can really use it to your advantage. The VBScript in combination with scripting language handles many functionalities mimicking end user.
The method certainly has some dis-advantages attached to it. It you are purely using Scripting for testing purposes, you will have to handle a lot of properties for an element. Here are a few reasons for why I am saying this
  • Lets say there is a drop-down list which has a name: list1 and id: weblist1. Now if these two tags remain the same you are good to go, otherwise, if they are removed or changed, your script will break or shoot an error.
  • Secondly, if the page is not coded in a good fashion, many of your elements may end up having the same tags. On this QTP shoots an error of "many elements with same id. unable to identify"
  • Thirdly if you resort to using Index values, which I highly discourage. At any point in time, the screen layout may change and the element that your indexing, its index will either increase or decreasee. Hence you will loose reference of your element.
  • If you do not have your elements defined properly, it may cause QTP to halt your machine for a minute or two especially if you are on a report page which has a list of elements which are read-only and do not have well defined ids.



Sunday, March 1, 2009

TinyUrl.Com.. making it small and palatable

Tiny URL has a lot of advantages. It can really save people the hassle of remembering those big long URLs.

The use of Tiny URL is really easy. One can simply navigate to the site www.tinyurl.com and plug in a URL which needs to be reduced.

e.g. a URL. http://www.google.com/search/new/window/name:=hasaangilani
can become
http://tinyurl.com/hasaangilani