Monday, March 30, 2009

Presentation: Distributed & Offshore Agile Development

The slides and a webcast of my presentation at Agile Denver on Distributed & Offshore Agile Development are available on my web site. Many thanks to Amit Malhotra for recording and editing the video!

Monday, March 16, 2009

Definition of Done: UI standards

If you are developing an application with a UI, I recommend adopting a set of UI standards or guidelines to ensure a consistent, high quality user experience. The standard forms a baseline expectation for the team and product owner eliminating the need to explicitly define mundane details for every screen for aspects such as tabbing through controls, initial cursor position, tool tips, progress bars, etc. Instead, those generally accepted best practices can be included in the team's "definition of done" (DoD) for each story / feature.

Here is a list of UI guidelines from Microsoft that can serve as a checklist for your UI. There are others out there, too. If you know a good one, please let me know.

Saturday, March 14, 2009

Visas for travel to the US

Why a post about Visas on an agile software blog, you ask? Well, if you have a distributed team with members around the globe, and you believe in the agile principle that the most effective method of conveying information is face-to-face communication, then you might need to have some people hop a plane. Here is a summary of the types of US Visas that you might pursue for offshore team members.

  • B-1: for conferences, meetings, business events
These can typically be used for visits of 2-4 weeks, and they must not involve US employment. In the past many companies got away with much longer visits on B-1, but the government has cracked down on that abuse recently.
  • H-1B: for temporary employment in the US
Only about 65,000 H-1B visas are granted each year, and most of those are claimed by large companies. Visa holder must be compensated at US market rates.
  • L-1: for intra-company transfer to a US-based branch.
For L-1 The US & foreign company must share common ownership, and applicant must already be employed by the foreign affiliate. Larger companies can obtain blanket L status.
  • H-3: for training at a US company that is not available in the applicant's home country*
* Many restrictions apply ;-)
  • J-1: “exchange” visitors in pre-approved areas of study.*
* Again, many restrictions apply with the J-1 program.

For all types of visas, applicants that don't have strong ties to their home country (such as a spouse, children, and property) may be denied. There is a Visa waiver program for visits of 90 days or less from 27 countries (mostly European, also Japan, Singapore, NZ).

Allow lots of time for visa applications to be approved, too. Plan on several months for applicants from places like India and China.

Are you thinking about pushing your luck on a B-1 Visa? Tread carefully. Attempting to obtain a visa by the willful misrepresentation of a material fact, or fraud, may result in the permanent refusal of a visa or denial of entry into the United States.

On the bright side, it's very easy for US citizens to obtain visas to almost any country - unless your offshore team is in Cuba, that is.

Thursday, March 05, 2009

Problem with Windows Vista VPN resolved

I've been using a PPTP VPN connection from my Windows Vista box for a while, and suddenly it just stopped connecting, and throwing error code 800. After many hours of banging my head against the wall and googling for a solution, I finally found it at this link. It turns out to be related to Microsoft Virtual PC 2007.
"If you have installed Virtual PC 2007 on your machine, it can happen that some windows update (I would really like to know which one) destroy some kind of mapping between VPN connection and WAN Miniport driver."
To fix it you need to uninstall "Virtual Machine Network Services" on your physical network adaptor properties.

Arghhhh.