Integrated Outsource Partners

November 16, 2009

Open Mountain software projects succeed because of our tight integration with our primary development partner Avantica in Costa Rica.  This connection sets us apart from most other outsource providers.  After all, who can provide a local contact with significant career experience in the US and also deep experience with cost effective resources in another country?  You need two partners who spend the time and effort to remain tightly integrated.

How do you know for sure we are as integrated as we say?  Have a look at the photos below from some recent trips with us going to Costa Rica and our partner coming here.  Open Mountain and Avantica work well together because we make the effort to become familiar with each other.  We know the teams in Costa Rica and nearly everyone in the Avantica has been on one or more of our projects.

Leaders GG bridge

The leadership of our partner Avantica at the Golden Gate Bridge.

Better Leaders Napa

The Avantica team at Rubicon in Napa.

Teams Napa Improved

Open Mountain showing Avantica engineers one of the oldest wineries in Napa.

Team Costa Rica

One of our newest clients meeting with Bob and the team in Costa Rica.

Costa Rica

Where Bob and Tom stayed over the weekend in Costa Rica.

Napa

Avantica and Open Mountain enjoyed wine over lunch with this view of the vineyards.

After you look these over, you’ll have to tell us who visits the better location.  I do like my Costa Rican beaches and Imperial beer.  But how about the Golden Gate Bridge and wineries of Napa?  It’s a tough call that I am glad that I don’t have to make.

Thanks to all the travelers who donated images for this post! – Cheers.


Collaboration Tips for Near Shore Development

March 11, 2009

Near shore development has a major advantage over outsourcing to locations around the globe for US companies.  The advantage is that all parties work in relatively the same time zone.  Teams collaborate more frequently because everyone works the same hours as opposed to being hindered by 24 hour communication delays.

GlobeLet me illustrate the point more clearly with a simple picture.  Look at the globe to your left.  You see North America where  Open Mountain is located and you see Latin America where our near shore partner Avantica is located in Costa Rica.  Now let me ask you, what countries are NOT visible? When it comes to real-time collaboration, countries that see the sun at the same time are at work at the same time, which means that issues can be discussed when they need to be and without delay.

In my posts about my experiences working with Avantica, I talk about collaboration a lot, but I don’t really define where it helps.  Nor do I provide any guidance on what we do based on years of near shore development experience.  Here are a few areas where we collaborate along with tips for enhancing the experience:

Product definition

The first step in the software process is to define what we’re building.  Product owners define requirements.  Interface designers provide graphics and work flows.  Everyone works together on user stories and functional specifications.  Our experience is that it helps to push the various parties to think through as much of the details as possible before we  start coding.  This ensures the engineers are working on valuable functionality and reduces the risk of re-work or of missing important aspects of a feature.

We find the best way to collaboratively manage product definition is through online document tools such as Google docs or Zoho.  Everyone references the same user stories, which is important for keeping everyone aligned.  The team avoids issues that come from developers reading an earlier version of a specification they saved on their desktop.  When we review documents in meetings, we see changes being made real-time and that validates we all have the same understanding of the decisions.

Tip: Use Google sites or some other online Wiki tool to collect information in addition to online document tools.  Some documents will come from designers using desktop tools like PhotoShop and FireWorks.  You will need a central location to store all your product documentation and an online Wiki serves as a functional central repository.  For the documents that are created online, you can embed a link to those in the Wiki.

Tip: If you are the project manager or SCRUM master, you should periodically save important information locally.  Online documents are easily changed by others and not all providers support tracking changes.

Project Management

Managers must know what each team member is working on and how long that work is taking to see how well the team is tracking to schedule or the burn down.  Tracking is harder to do when everyone is not working in the same building.  Project management software such as Rally Software or Version One enable teams to collaboratively track progress in a central location that everyone sees.  These tools support Agile processes well and enable all team members to contribute status updates in an organized fashion.  Basecamp and Zoho offer good general tools for project management as well.  Our teams find that making updates part of the process keeps everyone well informed  and allows management to see what areas need attention.

Tip: Track bugs in the same tool you use to manage projects.  In the beginning of a development cycle, features drive the work.  But at the end of a cycle, it’s all about bug management.  Using the same tool for both gives you oversight for the entire life of the project and also encourages developers to communicate bugs during development using a familiar process.

Team SCRUM

Our development teams tend to meet 3 times a week.  True Agile development zealots will tell you that you should meet every day if only for 15 minutes.  Either way, nothing beats regular discussion for managing a project.  Near shore makes this more possible. Far shore teams tend to limit meetings to once a week, which then turns the meeting into a status report, or they meet more regularly by extending the working day for the US team members.  We recommend meeting with Skype at least 3 times a week to allow the team to ask questions and reveal what they are working on.  In fact, if you achieve this, you will find all your other collaborative efforts are enhanced and supported by these regular discussions.

Tip: Use a low cost screen sharing product such as Acrobat ConnectNow or GoToMeeting to encourage code walk-throughs and interface reviews.  Start the Web conference each meeting so that if an engineer has an inkling to share, he can do it right then and there.  Imagine that, working with an outsource team and yet still talking to the engineers on a regular basis and still having the opportunity to review code.

Leads Meetings

Discussions with the team lead remind me of those back room discussions from political arenas.  You know, the meetings where all the real decisions are made.  That’s not really the case with software development, but often critical issues can be effectively resolved with a quick meeting of the key minds.  Some managers set up a regular time each week for this.  If that works for you, great.  We save leads discussions for escalation.  Leaving them off the schedule means they happen only when they need to and that makes sense since issues should in general be discussed openly with the entire team.

Tip: Use video with lead discussions to enhance communication.  Facial expressions and visual cues are extremely helpful when reviewing difficult issues.  Plus, when your lead delivers a snarky response, it helps to see if he is genuinely not happy or just yanking your chain.  Believe me, both happen although some leads aren’t as funny as they think they are (sorry guys).  Skype with video on a MacBook is awesome for this.   There is no setup and starting the video is as simple as clicking an icon.  Below is a chat from just this morning where we reviewed a few last minute changes to our release.

Video tip: When you speak, look at the green dot on your computer and not at the video of your lead.  This is like looking at the camera, and not the monitor, when you are on TV.

collab

Thanks Christian (guy in the larger image) for letting me (guy in the baseball cap) post your picture!


Near Shore Development Enhanced by Travel to Exotic Lands

March 6, 2009

We recently returned from another trip to visit our development partner Avantica Technologies in San Jose, Costa Rica. The trip was fantastic as was meeting with our teams to discuss what went well, what they liked about the products they worked on and what could be improved.

The picture below shows our CTO Tom Johnson meeting with the Avantica team that we have working with us on the solution for our client Brightstorm. I actually know all these engineers from a previous project, my last role as a company VP, and specifically requested them to work with Open Mountain.

blog-team-photo

We tell all of our clients they should plan at least one visit because meeting directly with the team enhances the understanding of the work and leads to a better unified solution. Ironically, clients take that part almost for granted and often ask us about the country and what we have seen. So far we have enjoyed the active volcano at Arenal, the wildlife of the Monteverde reserve and the warm beaches of Tamarindo (pictured below) among other places. But there is still more of the country we would like to see.

blog-photo-beach

I have to admit that I didn’t start down this path of near shore development to see an exotic land. I just happened to have a long time friendship and rewarding working relationship with someone from Costa Rica. Mario Chaves, Avantica’s CEO, and I worked together at many different companies and even went to the same college although we graduated different years.

The first time I worked with engineers from Avantica was at a small startup in the advertising space about 10 years ago. The lead was an engineer named Henry who is currently the Director of Development at Avantica. Henry is as smart as they come. I went to San Jose once to meet with him and the team. We spent the entire day collaborating on different aspects of the product.

I knew then that Henry and the team were up to speed on the latest technologies and as capable as teams I had worked with in the US. I could describe a problem and know by their questions and solutions that they understood the essence of the problem. That to me is the difference between true collaborative development and remote outsourcing. I want my team to have a stake in the product, to understand what problem we are solving, because that will drive the best result.

This last trip, as always, I stopped in to see my friend Henry. He was playing with a new Google Android phone and we caught up a bit. Henry is in the picture below along with some of the others we have worked with at Avantica.

blog-company-photo

Had I not had that first positive experience, I might not have centered Open Mountain around near shore development. I had high expectations based on my experiences as a US developer. Software developers work fast. We like to throw our ideas and brain storm. Some of the best product ideas come from engineers discussing a problem and shooting off on a tangent. This type of collaboration happened on my first trip to Costa Rica and has become a repeatable experience throughout the years working with the teams of Avantica.

I go back again and again to the country for the purpose of direct team interactions. But I’d be lying if I didn’t say that I also go to see one of the most beautiful countries in the world. After all, who would you rather be? The person reading this blog or someone in the photo below? How about both? Cheers!

blog-photo-sunset

Click the photo so see more pictures from our trip!


Costa Rica Technology Conference Is Excellent

July 5, 2008

Software development is thriving in Costa Rica, so much so that their annual technology conference is definitely worth attending. Let me tell you about my experiences this year so you can understand why I feel this way.

I intended the international technology conference Costa Rica Insight 2008 this year. The conference is sponsored by the Costa Rican government agency Procomer which helps to bridge gaps between Costa Rica and technology companies around the world.

This was an amazing experience! Speakers from Costa Rica, the US and other countries shared information about the world landscape, technology and commerce. Many countries that attended were definitely on pace with US technology adoption rates. The Internet revolution is truly a global movement (maybe no big surprise there).

Costa Rica has become a tipping point for companies wishing to interact with Central and South America. I can corroborate this through my own experience. A few years ago, I would have to talk about the government and educational system of Costa Rica as part of closing a deal that used near shore engineering resources. Now, this is no longer the case, thanks in part to pieces like this that explain the benefits of near sourcing. Many companies I spoke with plan to expand first into Costa Rica and then look to Costa Ricans to help guide movement to other countries.

Some of my favorite personal experiences:

  • Discussing mobile e-learning with a company from Columbia that demoed mobile content and a mobile LMS.
  • Brainstorming with an Indian CEO about open source platforms and Software-as-a-Service businesses.
  • Speaking with a Mexican company about cost effective out-sourced co-location.
  • Seeing a friend from Costa Rica who is building a very similar practice as mine but focused on his native country of Spain.
  • Discussing multiple topics with representatives from the Jamaican government about what works for expanding in Jamaica.

There is so much to share and learn from a conference like this that it is hard to draw a finite set of lessons or conclusions. If I had too…

Near shore and off shore companies are technologically astute and therefore a viable choice to expand operations in a cost effective manor. You can reasonably expect to find knowledge and experience with the teams you hire. Experience is key to successful out-sourced development.

Market opportunities exist in many countries throughout the world. For example, personal finance online services in the US may be saturated but perhaps not so much in say Argentina. Similarly, much of the Software-as-a-Service market in the US is wide open to companies that are nimble and can find good local subject matter experts.

And most importantly, as with so many other aspects of life, thinking, working and collaborating with a global perspective is eye-opening to say the least and exciting to say the most.

I have created photo albums in facebook to share my experiences with all of you. I took a few images from the conference, of the beautiful country, and of my weekend get-a-way to Arenal to see an active volcano.

For myself, I actually attended as a speaker talking about Software-as-a-Service. I created an online version of my presentation. Please excuse the voice over as I was trying to keep the time down. I will add an online video of my talk when one becomes available.

I recommend a trip to Costa Rica in any event. It’s a beautiful country filled with interesting people. Best of all, you can learn a lot about the global technology movement if you plan your trip around this conference.