Monday, February 1, 2010

Project Metrics

Project Status


The status of a project can be reported by using certain metrics. Similar to a way checks the health of a person by checking their pulse, temperature etc, Project managers and stakeholders can monitor the progress of a project by using the following six criteria:

Time (Project schedule)

Cost (Expected and actual expenditure)

Resources (Estimated man-days and actual time spent)

Scope (Track scope changes and it's effect on schedule and costs)

Quality (Monitor bugs and specify their priority level)


For the Time metric, one can compare the baseline schedule set at the beginning of the project and compare it to the time-line as the project progresses. At any point if it is observed that the tasks are not going as planned, a red flag can go up.

For the Cost metric, one would need to compare the planned costs versus the actual costs as the project goes on. E.g. if the planned budget was for $100,000 for 10 months, then each months outlay would be $10,000. If at 6 months, the actual budget is more or less than say 5% (figure can vary as it would be a figure agreed with Project Sponsor beforehand) of $60,000, then the costing would need to be looked at again to see how to bring it back in budget.

For the Resources metric, one would need to consider the man-days that were proposed and the timsheets that are being filled up.

For the Scope metric, one would need to check for scope creep and monitor the effect that it has on the schedule and costs.

For the Quality metric, the QA team would need to report on the bugs, get them resolved. One would also need to prioritize the bugs and see which are critical and minor. By the time the project is delivered, these should hopefully be at zero. Although one could come to an agreement with the project manager as to what kind of bugs are acceptable as we all know that Microsoft when it releases its products has a known bug-list along with it.

By focusing on these areas, one can monitor the health of one's project.

Outsourcing

What is Outsourcing


Definition


Outsourcing is defined as:

(1) Contracting with outside consultants, software houses or service bureaus to perform systems analysis, programming and datacenter operations.

(2) Contracting with organizations outside your country for work that could otherwise be done by employees within your company.

Outsourcing has primarily come up because of the improvements in technology and connectivity as well as the development in the telecommunication industry.

Initially, when outsourcing started companies gave operational tasks that were of less strategic importance to their company to the providers. But, over time, the companies have gone ahead and formed strategic partnerships with the providers.

Types


Depending on the location of the outsourcing, there are different types of outsourcing that can be considered.

Onshore outsourcing or homeshoring:

When work is outsourced to a company within one’s own country, then it would be termed onshore outsourcing e.g. a company in USA contracts work to another company in USA itself.

Nearshore outsourcing:

When work is outsourced to a company near one’s country’s borders, then it is called Nearshore outsourcing e.g. when a company in USA contracts work to Canada.

Offshoring or offshore outsourcing:

When work is contracted to companies in distant locations e.g. India, China etc, then it is called Offshoring.

Bestshore outsourcing:

When work is contracted to a “shore” based on parameters like communication, productivity and costs.

.. To BE CONTINUED

Legal Guide to iPhone Application development

There is a useful Legal Guide to iPhone Application Development at informit.com. Managers need to be aware of the various clauses in it so that they do not violate the agreement and have the application pulled from the Apple Store.

There are clauses related to owning full rights to any music that is used within the application.

There should be no objectionable material in the application.

One should also obtain copyright protection.

One also needs to be aware whether the application was created by an employee of the company or an independent contractor.

One should also trademark one's application so that it can be distinguished from other applications of same nature.

The conclusion would be to take the legal issues associated with the development seriously as ignorance and inadvertent breach of these clauses can lead to problems later on.