Happy New Year - 2008

Filed under: News @ Indus — Mukul Gupta at 6:15 pm on Monday, December 31, 2007

I hope that this year’s trip around the sun was very good for you and we wish that 2008 will be great as well! This was a great year for Indus Net Technologies and was marked by various events:

1. Two new development centres created in Chennai
2. Two new development centres created in Kolkata
3. Started on-site projects in UK
4. Initiatied CMMI Level 3 implementation
5. Launched Indus Net Academy
6. Sales doubled up

At the end of this year we came out a bigger, bolder and more capable organization with a clear dominance established in Eastern India in the domain of PHP Programming and Web Design.

We cannot help but feel a heart warming gratitude towards our clients and employees without whose support we are just a name and furniture. Thus, on behalf of the management of Indus Net Technologies, we wish our clients great success and everlasting prosperity. May our relationship thrive onward. And to all our employees and associates, we wish you peace, good health and happiness.

Let’s raise a toast to another trip around the sun!! Cheers!

Staffing across the Project Lifecycle

Filed under: Offshore outsourcing, CMMi, Management — Mukul Gupta at 5:22 pm on Monday, December 31, 2007

I have already discussed how the progress of a project looks slow during the initiation and closing phases and what are the reasons behind that. Today, my point is to discuss how the staffing changes during the project phases. First, let’s understand what staffing means. For our purpose, we will assume that staffing means:

1. Personnel required for a project OR,
2. Utilization of personnel across the project lifecycle.

While the first definition means the physical quantity of people who are working on the project, the second definition means the % of time spent on project activities each person days (this is especially valid in case of small, single person projects that we do). If we plot in graph, the staffing of a project with respect to time, we will see something like this:

 

 

 

 

 

 

 

 

 

 

 

 

Let’s attempt to understand why this happens:

1. Each project goes through a cycle of Requirements, Product Design, Detailed Design, Coding and Unit Testing, Integration and System Test. For a typical 100 person-days project here is a breakup of effort that you may expect is 10% for Requirements, 20% for Design activities, 50% for Coding and 20% for Integration and System Testing. These activities can be sequenced or iterative and in either case, not all effort is spent at once. Since all effort is not spent at once, the resources are allocated in proportion to requirement i.e. effort is pulled based on the demands of the project.

2. The important thing to understand here that Allocation and Utilization may not mean the same thing. Even if someone has been allocated full-time/exclusively to your project, they may not be able to be utilized 100% on it. For instance, during the initial stages, only one person is required to do requirements analysis while during coding several developers may be allocated to the project. There is no point in allocating the full team at the time of project initiation itself.

Four Type of Causes

Filed under: Management — Mukul Gupta at 1:25 pm on Wednesday, December 26, 2007

Aristotle was one of the greatest philosophers who ever lived. I think his contribution to both science and philosophy is enormous. He described that there are four types of “causes” i.e. Material, Formal, Efficient and Final. Let me describe these causes in the following way: Let’s assume that a programmer has made a software using PHP.

In the above example, PHP is the material cause because this forms the material from which the software has been made. The Formal cause is the essence or the need for fulfilling which the software has been created. The efficient cause is the act of programmer keying in PHP codes into the computer because this act actually results in the software to be created. Otherwise, the programmer can look all day at the screen and there will no software at the end of the day. The final cause of the software is the programmer itself and what he had in mind about the essence of the software.

Why is this important to know?

When I spent some time thinking about it, I realized that the impact is very deep. For one thing, causes leads to effects. The final cause of the software is the programmer’s interpretation (or misinterpretations). Thus, the final cause may end up producing a software which is very different from the formal cause. What if there is unity between the final cause and formal cause but the material cause is insufficient i.e. the technology used to produce the software is incapable of producing the desired application?

Thus in order to meet the formal cause of any software application it is important that:

  • The technology (or material cause) should be available or acquirable.
  • The process and resources (efficient cause) should be available or acquirable.
  • The understanding of the formal cause should be shared across the team members.

Merry Christmas!

Filed under: News @ Indus, HRD — Mukul Gupta at 6:06 pm on Monday, December 24, 2007

As the Holiday season approaches, there is always so much activity and personal business to attend to that it is easy to forget to thank our valued customers, like you, for the wonderful relationship that we have shared.  It is people like you who make being in business such a pleasure all year long. With customers like you, we find going to work each day a rewarding experience.

So, before we forget, thank you, and may this holiday season bring to you and your family all of the joy and happiness that you deserve. Indus Net Technologies would like to wish Merry Christmas and a Happy New Year to you, your family and all your loved ones. Please click here to see the card that we have created specially for you. We want to extend warmest wishes for the coming holiday season.

If you have any trouble opening the URL then you can copy and paste the following link in your web browser http://www.design2please.com/card/

Thanks for the wonderful year!

Best Wishes,
Indus Net Technologies

Celebrating a Birthday

Filed under: HRD — Mukul Gupta at 5:50 pm on Monday, December 24, 2007

Sourav Sinha, is working with us since past 2 years. He started out as Sr. Business Development Manager and is currently looking after the entire sales team. Here are some images of his birthday that we celebrated today:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Project Progress during Starting and Closing Phases

Filed under: CMMi, Management — Mukul Gupta at 1:09 pm on Friday, December 21, 2007

I think 80% of the project work is completed in 40% of the total time while it’s the remaining 20% that takes 60% of the time. Those of you who ever had to manage a project will notice that the it starts very slow and then it picks up speed and you see a lot of progress being made everyday but suddenly towards the end it slows down again and you feel that your team has lost the zest or they are slacking behind. But is this not expected ?

if you plot the progress of the project (% of feature completed with time), you will see it takes up a S-curve as below:

S-Curve 

 

 

 

 

 

 

 

 

 

 

Let me explain why initiation and closing is slow.

During Initiation

Initiation refers to the starting phase of the project when you receive the notification that the project has started. It needs to be understood that unlike race-course horses, developers cannot dash out the gate at full throttle towards the finish line. They have just been allocated and they don’t even know what the project is all about. Here are some reasons which will slow down the progress during the starting phase:

Team Establishment

This is not about allocation of people. The team goes through a whole stage of Forming-Storming-Norming-Performing (Bruce Tuckman). This duration of this cycle depends on both the size of the team as well as diversity of domains/specialization within the project.

Ambiguity in Requirements

From no documentation to hundreds of pages of requirements, but I am yet to see a requirement document that is understood exactly in the same way by all people. There are multiple round of discussion between the team members and with the client during which the progress seems frozen.

Tools and Environment

In certain cases the project is dependent on tools and environment which is hard to duplicate in our development environment. I once remember a search engine portal project that we were doing in which our job was to make some enhancements. The current system extensively based on XPATH queries and we lost 10 days in just setting up the system on our server. In another project we are doing, the client had four different versions of the same application and the application called files (PHP includes) from multiple versions. We had to set up a team of 3 people for 7 days just to clean up the code and set it up on our servers.

During Closing

Closing is the abyss between when a developer says the job is complete and when you say that the job is complete. Here is what happens:

Product Integration

Often we have to wait for days (or weeks) for simple things like Payment Gateway info, SSL Certificate or information from 3rd party vendors on proprietory systems (web services) that the system must be intergrated with. Sometimes, server does not supports parts of codes that we have written and upgradation of server or rework of code is required.

Note: CMMI required all integration requirements and environment to be planned earlier but still, if your hosting company responds to request within 5 days then what are we supposed to do?

Defects

As more features are added into the system, more bugs are also introduced. As the bug database takes a life of its own, there is a tendency to increase the mix of bugs to new client-valued functions being coded. The result is that the overall speed of the team is maintained but an increasing percentage of the effort is devoted toward fixing bugs or adding “bells and whistles”

Enhancements

Buy enhancement I am referring to all the things a developer had to do which he did not knew he will have to do when he started the project. This mostly comes in the form of - “Of course it was supposed to be there!” and with some luck we will be able to point back to requirement document and say “nope!”. The problem is that time is spent in these negotiations and discussions which would rather be spent on stabilizing the current set of features that the product already has.

At the end, I remember what one client told me - “Project is like painting the wall - it’s the corners that take most of the time!”

Managing Sesonality with Dedicated Hiring

Filed under: Offshore outsourcing, Management — Mukul Gupta at 2:18 pm on Thursday, December 20, 2007

My earlier post talked about how seasonality impacts your business.

Dedicated Hiring allows you to change your cost structure depending on the business realities. One important feature of this service is that it allows you to change the cost structure based on sales volume and at a notice of less than 30 days.

In order to understand it benefits, see the graph below:

 

 

 

 

 

 

 

 

 

In the above graph the shaded area represents that profits that your business can made even in the case of slow business seasons. Since you have the ability to switch costs “On” or “Off”, it ensures that you can cut down the costs to match the current revenue levels.

Illustrated Example
Total Cost of operating your business consists of two things:

Employee Cost + Operational Expenses

Employee Cost = Recruitment Expenses + Salaries, Wages and Bonus + 401(k) + Insurance + Employee Welfare Expenses + Vacation Costs

Operation Expenses = Software Expenses + Communication + Travel + Rent + Legal + Office facility maintenance + Computer equipment maintenance + Electricity + Recruitment and Training + Office supplies

Here is an easier method to calculate the cost of running the operations. Take the employee’s base salary and multiplies it by 1.25 to cover employment taxes and benefits.  Then multiply that number by 1.75 to cover rent, equipment etc. 

Some management personnel are needed and some of the employee time is spent in non-billable technology development, multiply that number by 1.25.  Thus a full functional managed employee costs about 2.7 times the base salary!

Here is how you can benefit from Dedicated Hiring:

1. You need to pay only a fixed fees per month for actual work that is done - there is no other operational expense.  

2. The employee cost is lower and can be managed based on business volume. Thus, this is a triple benefit i.e. lower costs, scalable manpower and no operational expenditure.

3. You don’t need to hire in-house resources for the non-core area. Dedicated Hiring allows you to manage these jobs in a more flexible way. For instance, if you specialize in Enterprise Applications and you have a infrequent request for a web design, you can get it done through Dedicated hiring program.

4. Ad-hoc maintenance requests on projects can be easily managed through this program as well. Your prompt attentions to these post-delivery requests are important to ensure repeat business and it can especially difficult if the resources have been re-deployed to other projects. In such scenarios, Dedicated Hiring can be of great help.

5. Overflow jobs can be easily be outsourced by this way and it can be directly be managed by you. This is probably the most hassle free of dealing with outsourcing projects that require variety of skills and it saves time as you do not have to go through complex and time consuming selection process.

Understand how Seasonality Affect Your Business

Filed under: Management — Mukul Gupta at 4:26 pm on Wednesday, December 19, 2007

The profitability of your business is a function of two things, namely, Revenue and Cost. Revenue is the revenue is the amount of money that your company actually receives from its sales of product and/or services. Cost is money that you have to pay for production of the products and services.

Your revenue is directly affected by the seasonality of your business i.e. in peak period your revenue is high whereas in low period when the volumes are low, the revenues will fall. The Graph below shows the effect of seasonality on your business:

 

 

 

 

 

 

 

 

Assuming that you business that a fixed cost of operations (i.e. fixed number of staff members with other fixed expenses like infrastructure etc.), The area of Triangle “A” represents the profits that your business makes as it gains steady volume while being able to keep the cost low. Area of Triangle “B” represents the losses that your business may have to incur while keeping the costs same but as revenue falls.

Now there are several variations here:

Area of Triangle “B” is less than Area of Triangle “A”
Here your company faces fewer losses than the profits that it has made in the previous cycle. Your profitability is determined by Total Profits – Total losses which effectively means that the downward cycle negatively affects your business but you are still profitable.

This is case with managed companies or the companies that sell highly profitable products.

Area of Triangle “B” is equal to the Area of Triangle “A”
Here your company faces same amount of losses as the profits it has made in the previous cycle. Here your Total profits = Total losses. Thus, although your business is not loss making but your operations are risky and growth prospects are minimal. 

This is the scenario at Small companies which get infrequent flow of projects and assignments and lack the management expertise to plan ahead. In downtime they consume whatever profit was generated in a high period.

Area of Triangle “B” is more than Area of Triangle “A”
Here your company is loss making at the end even though you have generated positive sales. Here your Total Profits is less than Your Total Losses.

This is the scenario at start-ups and individual freelancers which do not have any reserve and they end of being unprofitable and have to close down their operations. 

Next: How companies can manage this sesonality with outsoucing?

Indus Net Technologies inagurates new development center in Chennai

Filed under: News @ Indus — Abhishek Rungta at 8:22 pm on Tuesday, December 18, 2007

Indus Net Technologies has launched its second development center in Chennai on 16th December 2007. This development center will primarily accomodate our ever increasing Open Source Technologies team in Chennai. We plan to double our Chennai PHP team in Q1 of 2008 to provide a better talent pool to our expanding client base in Europe.

Some photograph taken during the holy ceremony that marked the inaguration of the center is displayed below:

 

 

 

 

I wish the Indus Net Technologies - Chennai team all the best in days to come. I am sure they will continue to grow at this pace for years to come and make Indus Net proud.

With best wishes,
Abhishek Rungta
Founder / CEO
Indus Net Technologies

Drawing your HR Map for 2008

Filed under: Offshore outsourcing, HRD, Management — Mukul Gupta at 4:40 pm on Tuesday, December 18, 2007

I know its not the end of financial year as we still have one more quarter to go. It’s however very important to draw of all significant plans within the last quarter and then start making adjustment early on so that you can take on the first three quarters of the next financial year without “loosing” more time in planning.

Planning for the HR is very important function in order to ensure that you have production capacity to undertake any expansion plans or support other organizational objectives. You need to sit down and answer the following questions:

1. What are new positions within the organizations that will be filled?
2. How many people will be required in what positions?
3. How will the current man-power evolve? (Think promotion and attrition!)
4. What are the new competencies that will be required?
5. What jobs would you like to remain in-house and what would you like to outsource?

Once the future labor requirement and the current availability has been clearly established, the gap is action oriented target that can be handed over to the HRD (if you have one!) or in some cases you may need to draw a more detailed plan to fill those gaps. As soon as you begin to think of HR requirements, it is important to separate the qualitative issues from the quantitative issues. Let’s talk about them in more details:

Quantitative Issues

The quantitative issues are easiest to spot. A simple way to do this is simply calculating the ratio between number of people in the company and the current revenue and then calculating the number of people required to achieve the targeted revenue. Ofcourse, this assumes that efficiency with the organization does not change and this short process usually does the job pretty well.

So, if you have 2 employees who are maintaining 40 client installations and generating $20000 every month, you simply calculate that by doing 60 client installations, you will generate revenue of $30000 and you will need one more employee. This “1″ employee then needs to be hired and trained before he is actually needed for production.

Qualitative Issues

In a layman term these are the sort of issues that you can’t put number against and usually means that the current man-power or a part of it does not have the skills and knowledge future job requirements or in some cases you may see that the person is overqualified for the particular job. These are the sort of issues that can only be handled by Training and Restructuring. As as business owner you must realize that right people with right skills and doing the right jobs are the precondition to success.

Is Outsourcing a Qualitative or Quantitative decision?

Outsourcing is a quantitative decision only when same economies of scale can be achieved with an outside vendor or when it’s a strict question of changing capacity within an existing relationship. Getting this plan ready with you will allow you to look for possible outsourcing opportunities early and notify your vendor in advance about your ramp-up or ramp-down plans. However, if you ask yourself - “Can this job be done better by a specialized vendor because I want to focus on core areas?” - it becomes a qualitative decision.

The core is that you must plan ahead of time about what you are going to outsource and in what volume.

Next Page »