Saturday, March 27, 2010

So What is SCRUM?

Scrum is an iterative, agile project management methodology. Its key goal is to get some usable functionality out the door with each iteration. It also recognizes that a customer can change their mind about the requirements anytime during the project and is designed to deal with that.

The iterations, known as sprints, run 2 to 4 weeks each and must result in some usable functionality. In normal software development, this means something that the end-user can actually use, and technically you analyze as you go. Of course its not that clean as it one really need some upfront analysis to flush out the initial requirements, known as stories, to include in the product backlog (list of prioritized requirements, as well as issues to be addressed).

From the product backlog, high-level requirements are selected for the next sprint and are recorded in sprint backlog. During the sprint the requirements are fleshed out, modified, or discarded. The goal for each sprint is to get something useful to the end user out the door. Now for networking, this will need to be modified to something useful to the network since, for instance, a new fiber run, may not be of immediate use to the users until the new high-speed switches are installed in the next sprint.

In each sprint their is a analysis/design phase, build phase, and test phase. At the end of the sprint the finished product is demoed to the product owner and other stakeholders to get signoff and feedback.

A key rule is that what is included in the sprint must be able to be finished during the sprint, if it is not, then the requirement must be broken up into chunks that can be delivered in a 2 to 4 week time frame.

Another key rule is that the people responsible for the work get to set the schedule via their estimates. If management says they must deliver by X date, then management via the product owner must decide what requirements will be dropped from the planned release.

SCRUM teams are small, running from 5 to 9 members. and consist of the SCRUM master, a product owner, and various other members, such as developers, testers, etc. SCRUM is usually used in conjunction with some agile development methodology, such as eXtreme Programming.

As someone who has successfully delivered agile projects involving virtual teams spread over multiple cities, companies, and even continents, the one thing that annoys me about SCRUM is the obsession with having everyone work out of literally the same room. Frankly haven't these people heard of Skype?, teleconferencing, and Netmeeting?

There is a lot more to SCRUM than I have outlined here, but my purpose is not to teach you SCRUM, but to modify it for use in data and voice network projects.

You can learn more about it at the SCRUM Alliance, or by Goggling SCRUM.

My future articles will go into my specific modifications, so stay tuned...

Wednesday, March 17, 2010

Award for employee excellence

Well my employer, Hawaiian Tel just awarded me their Hui Lanakila Award for Employee Excellence. Four people get this each quarter out of a staff of over 1400. So this is cool feedback on the job I am doing.

Planning several interesting execises

Right now I am busy reading the Cisco Press CCDA Study Guide and listening to the CBT Nuggets CCDA audio lectures. Once that is digested and I pass the CCDA exam, I plan pursue several interesting exercises. The first one is mapping the Cisco network design methodology into the Scrum project management methodology. Scrum is an agile project management methodology that I think is really cool.

My second exercise is one I plan to conduct in conjunction with my preparations for the CCIE Voice written exam. Basically I want to explore how a service provider could use the Cisco Voice product line to create a hosted VoIP product to be sold as a turn-key solution for small and medium businesses as an alternative to the the usual carrier-grade solutions such as Metaframe or Broadworks.

I think this would be a really cool design exercise that would both reinforce my Cisco Voice knowledge as well as satisfy my curiosity as to what that would look like.

So stay tuned...

Wednesday, March 3, 2010

First Impression Review of VoiceBootcamp's CCIE Voice Troubleshooter Video Series

As I have said in my first post, I have decided to go with Voicebootcamp's CCIE Voice products as they looked to offer the best bang for the buck. So far I am happy with the materials I've received.

Part of the packaged I recently purchased is VoiceBootcamp's CCIE Voice Troubleshooter Video Series as part of their CCIE Voice bundle and have run through the videos a couple times. As a Technical Trainer for a Telco, I looked at the material from both a user's and an instructor's perspective.

It is a new product which currently consists of 18 video labs; these are:
Lab 1 Troubleshooting IP Phone Registration Problem
Lab 2 Troubleshooting IP Phone status issue
Lab 3 Calls between two IP Phones are not completed
Lab 4 Calls between two IP phone on same site fails due to CoS
Lab 5 Call fails due to misconfigured class of service
Lab 6 Calls from PSTN to CallManager fails using h323 gateway
Lab 7 H323 call fails but shows connected on the IP Phone
Lab 8 H323 calls fail - unknown or unassign number
Lab 9 h323 calls not reaching end IP phone instead user gets dial tone
Lab 10 Calls to PSTN Emergency Number fails due to number type
Lab 11 Inbound PSTN calls fail due to resource unavailable
Lab 12 Inbound PSTN calls fails to reach IP Phone with unallocated number
Lab 13 Unable to register MGCP Gateway to CallManager due to DNS issue
Lab 14 PSTN call fails due to Layer 3 issue
Lab 15 MGCP Gateway Registration fails due to config issue
Lab 16 Calls to local number in PSTN fails due to digit
Lab 17 Call routing fails due to Class of Service
Lab 18 Inbound PSTN call to IP Phone fails due to Class of Service

Those of you who have watched CBT Nugget's CCVP videos will note that Faisal's style is similar to Jeremy's , in that he uses a highlighted cursor pointer to mark up his slides as he lectures. I personally prefer the use of a highlighter cursor in conjunction with the lecturing as it helps me focus on the point the lecturer is making. Content-wise, Faisal does an excellent job covering the topics.

While applicable to troubleshooting in a production environment, his focus is dealing with the more common problems one would encounter during the lab exam. These include everything from simple oversights to subtle configuration problems. The videos are scenario-based and cover;
what is the problem,
Why it occurs
How to resolve it
How to ensure it never happens again

By reviewing these videos and labbing them on a rack one not only will you be less likely to make these errors, but if you do, you can quickly identify and resolve them. This is key, as time is the killer on the lab exam. By either eliminating or significantly reducing the number of more common problems, you have more time to deal with any of the more unusual problems should they occur. Of course, reviewing and racking these problems is also a great confidence builder,

The production quality is good and the videos run well on both my Mac Book Pro and my old HP laptop.

There is a saying about Hollywood movies that is applicable here; a bad movie is always too long and a good movie is always too short. In this regard VoiceBootcamp's troubleshooting videos leaves me craving for more of Faisal's excellent lectures. Which I'm sure he has in the works.

While it lists for $699 you get it for free when you buy the UC ResourceKit bundle.