There are seven steps that are used in project estimation management.

Assigning Estimator

Project Manager should assign a member of a project team to be the Estimator. In general, the Project Manager, Business Analyst or Product Analyst of a project can be the Estimator.

Collecting Information

Estimator should collect all available documents and information of a proposed system. In Proposal and Initiation stage, Estimator should gather the client requirements and use them as an input to the subsequent procedures. In Design and Build stage, Estimator should collect the latest version of Requirement Specification and Design Specification before starting the estimation.

Estimating Project Size

Estimator should estimate the size of the code working and documentation working based on the business and technical requirements, and historical data. Estimator should estimate the size of code working in terms of intermediate measurement units required by different estimation methods. Different estimation methods use different intermediate measurement units to represent the size of code working. Besides code working size estimation, Estimator should estimate the size of documentation working. For documentation working, the size measurement unit is number of page.

Regardless of the method used, the Estimator shall document the estimation result and any assumptions made when perform the estimation.

Estimating Manpower Effort

Estimator should convert the intermediate measurement units to total project effort. Estimator should consider the software and programming language used, system architecture and the development lifecycle that a proposed system will be followed for design, develop, test, deploy and documentation. Besides, Estimator should also consider the effort used in the activities of a project. Estimator should use historical performance indicators to estimate the project effort when possible. If estimator has to change the estimation formula, the rationale and assumption of this change should be documented. In addition, Estimator should estimate the effort of each documentation working based on the estimation of number of pages and past experience of similar projects and record in the documentation working list work sheet.

In the Build stage, Estimator should create a Product Assignment Form for each code working and estimate the man days required to complete a PAF based on the complexity of a Work Product and the experience level of the programmer.

Estimating Resource & Schedule

Estimator should estimate the number of team members who will be working in a project and determine the duration each team member involves in.

Once manpower resource is determined, estimator should spread the resource measurement data into a calendar schedule. Estimator should decide the time interval of the calendar schedule depending on the duration of a project, expected completion date of all major milestones and other constraints and document them into the Resource & Manpower Cost Sheet and the Milestones Sheet. Estimator should record any assumptions used in estimating the resource and schedule. In addition, Estimator should determine computer resources and the schedule they are required. Computer resources include development workstations, system integration test servers, UAT servers, network bandwidth, load test servers etc. Estimator should fill in computer resource name, deadline, criticality, cost and other columns on the Critical Computer Resource Worksheet.

In the Build stage, Estimator should fill in estimated start and finish date of each PAF. Estimator should assign PAFs to each programmer in a project team with the consideration of the skill set of the programmer and the complexity of the product as described above.

Estimating Cost

Estimator should calculate manpower cost according to the daily rates of the corresponding position of team members. Estimator should document the cost in Resource and Manpower Cost Sheet of the corresponding estimation worksheet. Also, Estimator should then sum up total project cost that may include manpower cost, hardware and software purchases or rentals, training courses, and others.

Verify Estimation

Project Manager should verify the estimation made in different stages. After the estimation is verified, Project Manager should put it in a project plan for progress tracking. Throughout a project period, Project Manager should track the size, effort, schedule and cost of the project. If Project Manager finds that the actual size, effort, schedule or cost are deviated from the project plan and beyond the pre-defined tolerance level, appropriate action has to be taken in conjunction with the Project Planning and Tracking Process.

A project plan consists of two main elements that effort and time form the basis for tracking the progress of a project. Project manager requires estimate these two elements as accurate as possible. Therefore, estimation management process involves an analysis of a proposed or active project to produce a forecast of the project’s effort and time. Proper project planning and tracking is not possible without a sound and reliable estimate.

 

The estimation is one of the most challenging and important activities in software development. If the effort of a project is not estimated at the beginning, appropriate resources cannot be mobilized and deployed timely to the project. If the time is not estimated, it is impossible to perform critical path analysis during the project life cycle.

 

Not having a sound and reliable estimation can be just as bad as not having estimation at all.  Under-estimating project will lead to under-staffing it and deadlines will be missed.  On the other hand, over-estimating project will affect the firm’s sustainability as more than necessary resources are engaged in the project.

 

The following results are expected to be achieved by defining and implementing a good estimation management process:

  • Appropriate resources are being involved in a project at the right time
  •  An objective measurement is in place to reflect how well a project is progressing

Estimation Management includes the software development and implementation, system maintenance and consulting.

 

According to Capability Maturity Model (CMM), the management estimation should be done by two roles:

 

Roles

Responsibilities

Project Manager

·         Assign a project team member to be Estimator

·         Verify the estimation done by Estimator

Estimator

·         Collect and analyse all available information for estimation

·         Estimate the project size

·         Estimate the manpower and other resources

·         Estimate the schedule

·         Estimate the cost

 

Estimation management can be divided in several steps: assigning estimator, collecting information, estimating project size, estimating manpower effort, estimating resource & schedule, estimating cost and verify estimation

 

Next blog will discuss each step in detail. 

Recently, Google has implemented the local search for Google Hong Kong (or at least I just noticed), and we are on the top 10 list. The result has been awesome. We are getting a lot more conversions since.

bs-an-april

In April, we are not getting much traffic from search engine (most are referred from Yahoo), and the number of conversions are not too spectacular.

bs-an-june

In June, we can find our own website on Google’s local search, and the result is awesome. We are getting more new inquiries than ever.

Optimizing for local search is extremely important, and it gives a newer site like ours a chance to be on top of Google.

Posted in SEO.

Many people do not understand the differences between Yahoo! Store and a self-hosted e-commerce solution such as Prestashop. Both solution has its own advantages and disadvantages. Some customers ask us whether they need a self-hosted e-commerce solution or not. I always tell them that it really depends on what their needs are. In general, if our customers are unsure of their sales target and just want to open a store, I would recommend them to first use a simplier solution such as Yahoo! Store to test the market. Otherwise, I believe a self-hosted e-commerce solution will save more money in the long run. Here is a simple comparison of the two solutions.

Feature Yahoo! Store Self-hosted e-commerce solution
Cost Yahoo! Store costs around $400 HKD for the initial setup fee. In addition, for its starter package, it has a monthly fee of around $320 HKD and a 1.5% transaction fee (does not include credit card payment or Paypal payment fees). For its professional package, it costs around $2400 HKD monthly and a 0.75% transaction fee. A self-hosted e-commerce solution has a one time setup fee (which includes web site design and programming fee) which is significantly higher than the Yahoo! store (depending on the functionality). In addition, there is a server cost to host the solution. There are no hidden fees.
Design Somewhat customizable, but it requires a programmer and graphics designer to do it (cost depends on the rate of the design team). Fully customizable, and the cost is already included in the solution package.
Reliability Depends on Yahoo!’s server uptime Depends on the hosted server uptime (you must ask yoru server provider what is its guarantee uptime)
Functionality Limited to what Yahoo! offers to its customers (cannot add new functionalities) Fully customizable (for example, you can integrate the shop’s user account system to an existing user database)
Ownership The shop is hosted on Yahoo and it belongs to Yahoo.  You cannot easily move your shop to another provider. The shop belongs to you, you can open the shop on several different web sites without paying anything extra (except for server fee).
Performance Depends on the performance of Yahoo! Depends on the hosted server (you can choose the location of the server.  For example, if your shop is opened in HK, then you can get a server in Hong Kong to get optimum speed)