The Importance of Project Estimations

We wanted to share our approach to project estimation based on our extensive experience on a variety of projects. Early project estimation is the key to proper project definition and communication with customers. It helps establish project attributes (such as cost, duration, resources, and tasks), set expectations, and ensure that all parties involved have the same understanding of the project objectives.

Estimation process is a difficult task for a variety of reasons, including over/under estimation, exclusion of risks, lack of requirements, failure to involve the experts, etc.

DSR’s project estimation is done at a WBS (work breakdown structure) level and each task is estimated down to an hour. Estimating at this level helps identify areas of potential concern and expose inconsistencies between the estimates and client’s expectations. Inconsistencies may exist either due to client’s lack of understanding of the underlying complexities or DSR’s incomplete understanding of a task. Resolving these types of issues early in the process decreases the overall project risk, increases the quality of the estimates, and creates a realistic representation of a project.

During the estimation process, we generally try to keep in contact with the customer as much as needed to get the necessary clarifications on tasks and customer’s expectations. This ensures that the scope of the project is set correctly and increases the quality of the estimates.

At DSR, estimates are always done by resource(s) with most experience in the given task type and are reviewed by other specialists in the company to ensure validity.  In addition, the estimation process goes through several iterations, which allows the customer and DSR to develop full understanding of the project and its execution, which contributes to the overall quality of the project delivery. Using previous projects’ performance and experience to refine the estimates increases the accuracy. Estimates are produced in three measures – optimistic, expected, and pessimistic. The final estimate is a combination of those measures taking into account the risk of each task.

All of these factors contribute to DSR’s project estimation process and deliver our customers quality information about the cost and duration of their projects.

A Tip for Better Video Optimization when Porting Android to New Hardware

Several Android porting projects we’ve been working on require video optimization.

Video performance issues are usually related to one of the following:

  • video drivers
  • OpenGL
  • codecs

The most recent video performance issue occurred because video displayed with a rate of 7 frames per second instead of 25 FPS (the way it should be).

After using a series of benchmark programs to isolate the problem cause, it became clear the video player was displaying frames with frequency based on the audio stream time. As soon as we changed the frame rate frequency based on system time, everything started working OK.

Of course, this partial fix is not the final solution since some side effects are possible, such as non-synchronized video and audio streams. Experience shows that troubleshooting such issues becomes the essential and significant part of Android porting projects.