March 30 2010

Tip: Keeping Your HTML and CSS Code Clean

Adding a comment to closing div tags helps make your code easy to read and maintain.

Example:

<div id="sideColumn">
...
...
...
</div><!-- #sideColumn ends -->
March 10 2010

How Google Uses your Voice

I’m always amazed by the innovative ways in which Google uses the raw data it collects. The New York Times mentioned something really interesting about how Google used recorded voices to create a better speech recognition system:

In 2007… [Google] began offering 800-GOOG-411, a free directory assistance service that interprets spoken requests. It allowed Google to collect the voices of millions of people so it could get better at recognizing spoken English.

A year later, Google released a search-by-voice system that was as good as those that took other companies years to build.

March 9 2010

Is the Nexus One Online Sales Model Failing?

ZDNet is reporting that the online-only sales model for the Nexus One may be responsible for missed targets:

Goldman Sachs reduced sales estimates from 3.5 million units in 2010 to a mere 1 million, and only 2 million in 2011 if they launch a second phone, do a lot more marketing themselves, and decide to sell it in retail stores too.

UPDATE: 74 days after its launch, 135,000 Nexus One devices have been sold. By comparison, after an initial 74 days the Motorola Droid sold 1.05 million and the iPhone sold 1.0 million.

November 17 2009

How to Create a Burndown Chart

A burndown chart is an excellent way of tracking the project status in an iterative software development environment.

Here are the steps for creating your own burndown chart:

  1. Capture user stories.
  2. Assign high-level effort estimates to the user stories.
  3. Organize and prioratize the user stories into iterations.
  4. Break each user story up into tasks.
  5. Create your your burndown chart.

1. Capture user stories

First off, you’ll have to work with the stakeholders to capture the business requirements of the project in the form of user stories. User stories are a great way of capturing requirements because they allow the stakeholders to express their requirements in non-technical business language. An example of a user story would be:

The ability for customers to purchase widgets on-line using their credit card.

Work with your stakeholders to prioritize each user story. Label each user story in sequence using numbers.

2. Assign high-level effort estimates to the user stories

Work with your developers to assign high-level estimates against each user story.

3. Organize and prioritize the user stories into iterations

Organize your user stories into iterations. Our iterations will be 30 days in duration (about one calendar month). In this example, we’ll aim to have approximately 40 days of work within each iteration.

4. Break each user story up into tasks

Now it’s time to work with your developers to break each user story up into tasks and apply effort estimates to each task. It’s most likely that your effort estimates at the task level will not match the effort estimates at the user story level. This is okay, the user story estimates were used to roughly divide the work into iterations. These new task-level estimates are more accurate.

5. Create the burndown chart

Now add up the effort for all the tasks in your iteration. Also, take a look at a calendar and add up all the working days you have during the duration of your iteration. Recall that our iteration is 30 days, however not all of those days are working days due to weekends and holidays.

At the end up this step you’ll have two numbers:

Work (effort): 43 days

Time: 20 working days

Now it’s time to start creating your burndown chart. On the Y-axis we’ll place our work remaining in days. On the X-axis we’ll place our time remaining in days. Each day we’ll track our progress by placing a dot in the appropriate place. Once a task is complete, we can remove it from our task list and reduce the amount of work remaining.

You’ll notice we’re not tracking a % complete. A task is either complete or not complete. This eliminates the problem of tasks getting stuck at 90% complete forever.

Meet with your team each morning to update the burndown chart.

A burndown chart will quickly show whether or not you’re on track or behind schedule. If you’re plotting above the line you’re behind schedule. If you’re plotting below the line you’re ahead of schedule. This allows you to accurately report project status and allows you to identify potential schedule problems quickly.

September 29 2009

Google Tech Talks: Scrum

Ken Schwaber speaks about Scrum, a project management process he co-developed.

« Previous PageNext Page »