Outsourcing To Paradise

“We want to create X but we can only afford to make Y”.

From Samuel Asher Rivello of RMC: …Or “How can we lower our current costs? Our current risks?” These are common conceptual starting points for considering outsource development in Software Development. For many companies the bottom financial line is most important. For others of us, there are other reasons to buck convention and think outside of our borders. I do not challenge the traditional reasons for outsourcing. Rather there are myriad resources about that. I offer some complimentary thoughts;

Non-Bottom-Line Reasons for Outsourcing Your Software Development

  1. Live In Paradise: Noone says your second office needs to be in a polluted city in North India. There are plenty of beautiful temperate mountain climates (Bogota, Cusco, Mendoza) and beach-side warm climates (Costa Rica, Panama, Brazil) that can make a great place to visit or stay long term as you expand. These locations have the people and infrastructure to support you.
  2. Challenge: There is a reason you didn’t stop at 5 employees, 100 clients, and a 6 figure net income. Challenge yourself. Meet new people, enjoy (and pull your hair out about) the legal differences worldwide
  3. Cultural Exchange: Targeting Latin America? Targeting Asia? Employees in those markets, at all levels of employment, can help you focus your product, service, and marketing to meet the needs of your audience.
  4. Access to World Class Capabilities: World class providers make extensive investments in technology, methodologies, and people.
  5. Benefits to Existing Employees: I’ve consulted with several companies who attract new employees and reward existing ones in the home offices with a 1 week ‘Paycation‘ each year. This new trend allows an interested employee to receive compensation to work a full or partial week from an exotic location. Employees get reinvigorated, but maintain productivity. This is more appropriate if you have a second office of your own, rather than just use a vendor in foreign soil, but it is a great ancillary expansion.
  6. Improve Company Focus: With your vendor executing tasks, you can free your current staff and mindshare to other things. Innovation, experimentation, R&D, more!
  7. Improve Your Personal Focus: Work less, experiment more. Bring more of your personality into the worksplace.

Whether your reasons are financial or otherwise here are some great resources to learn more about outsourcing. From Accelerance: In the Outsourcing in Paradise webinar Jim Tooley explains how his company calculated the total cost of developing software in Silicon Valley and in his company’s Indian center in Bangalore. The added cost of using programmers offshore was offset by the much lower cost of their salaries. It’s a similar calculation when outsourcing, actually simpler because you need to consider only the rates charged by the vendor without concerns for facilities and other G&A expenses.

To compute your total cost of outsourcing consider these factors:

  • Travel Costs – air fare, hotel, meals plus the indirect costs of travel time, jet lag recovery and time away from the office and home.
  • Requirements & Specifications – the time needed to create better documentation compared to direct and informal communication typically used with local programmers
  • Management Time – additional time needed to ensure milestones are achieved and communications are clear
  • Ramp-up Time – recruit and train the programming team
  • Attrition & Time to Replace Programmers – reflecting the competitive market for programmers and the ability to replace those that leave
  • Wage Inflation – the increase of cost over time (if any)
  • Exchange Rate Risk – if you are paying for your programmers in something other than dollars or your home country currency

Jim’s company was achieving cost savings with their offshore center in Bangalore. In their case the total cost of offshoring compared favorably to hiring programmers in Silicon Valley.

But there were several situations where the offshore programmers did not perform as well as expected. Jim’s conclusion was that the differences in physical distance, time zone and culture were a significant inhibitor of productivity when working on new software features using an Agile and collaborative approach.

As you will see in the webinar, Jim concluded that a nearshore approach was better suited to these situations. His goal was not to replace the Indian center but to use a new global location better suited to the kinds of programming assignments he needed to accomplish. And the alternative of hiring more programmers in Silicon Valley would be at a cost very difficult to get approved by management.

To get started quickly, Accelerance was able to give Jim a list of pre-qualified nearshore vendors that were experienced in Agile development and close in time zone. Very quickly he was able to discover that technical skills, English competency and cultural affinities were very strong.

However, the hourly costs were higher than India (and other places in the world).

Out came the spreadsheet and the total cost of nearshore outsourcing was computed. The reduced travel and excellent communication easily compensated for the higher hourly rates.

Another way to compare the cost of outsourcing to different programming vendors and to hiring your own programming employees, is to compute an average effectiveness or “efficacy” of a programmer in each team or location.

Jim concluded that the efficacy of the programming team in India was about half that of his Silicon Valley team. It’s not personal – efficacy is heavily influenced by the overall environment at each location and distances involved. The efficacy of the nearshore team in Costa Rica started at about three-quarters of the Silicon Valley team and improved quickly.

Are we saying that everyone should use nearshore outsourcing? No. As Jim acknowledges, they still do great things with their programmers in India. And of course there is great programming talent the many other countries in between!

Cost is one factor in making your decision. Just make sure you consider the total cost in selecting your outsourcing destination.

High Times For Flash Gaming

As a Flash Game Development professional, I’m incredibly excited to see major growth in the industry. While developers have employed the Flash Player for over 10 years, the past 2-3 years and in particular 2010 have brought major strides.

There are a dozen major, polished, quality, (non-pirating), Flash gaming sites and dozens of major venues for your Flash games. There has never been more work for Flash game developers.

Also…

Great Support For Games

Adobe’s EDGE Magazine has supported Gaming with a game series I’ve authored this year. 4 of the 5 articles have launched so far.

Flash Game Articles

  1. An introduction to developing games on the Adobe Flash Platform
  2. Deconstructing the zOMG MMO game from Gaia Online
  3. Developing physics-based games with Adobe Flash Professional
  4. Developing Flash Platform games with PushButton Engine
  5. Making Money With Flash Game Development (Release TBD)

Flash Builder Debugger Can’t Connect? Now It Can!

$#^& Debugger!!!

I can’t tell you how many times I’ve had a Flex project that stopped being debuggable. The App could be published from Flash Builder 4 as ‘Run’ or as ‘Debug’ as always, but in the latter there would be no connection made. This delays the project build and you have to work around the missing ‘trace()’ functionality.

Next Steps

  • This solution in the link (See ‘Member Resources’ below) worked great. It works for my MAC too! And I blog about it hoping only that someone finds the solution more readily now.

Member Resources

[private_Free member]Enjoy this members-only content!

[/private_Free member]

Crowdsourcing Web Development

As part of an experiment and as part of research for a writing assignment, I am crowdsourcing a new web development project. “Crowdsourcing” is the act of outsourcing tasks, traditionally performed by an employee or contractor to a large group of people or community (a crowd), through an open call.

The nature of the work is not an area of strength, so it will be interesting to see how the process goes. I have listed this project on April 20th, 2010 only on Elance.com. I will update again following the completion of the project.

Here is the posting.

RMC Vacation-Based Training

Training In The Tropics: August, 2010:
Cartagena, Colombia


Apartments

Colonial Center

Islas Rosario

A Truly Original Blend of Technical Training, Inspiration, & Relaxation @ Cartagena, Colombia.

This trip is designed for independent Flash Platform professionals looking for education, inspiration, travel, and rejuvenation.

WORKSHOP TOPICS: (4 – 8 Hours Each) – Led By Samuel Asher Rivello and attendees too.

  • Adobe Flash Frameworks: PushButton Engine (PBE) for Games – Part I & II
  • Adobe Flex 4 Frameworks: Robotlegs – Part I & II
  • The Flash Text Engine – In Depth
  • Attendee Topics… (TBD)

DETAILS:

  • This is not a conference or a ‘camp’. It is an informal engagement where attendees each present and collaborate.
  • The group size is 5-10 hand-selected attendees. A broad cross section of talents and personalities is key.
  • The time is balanced between presenting & attending, between work & leisure. Productive fun!

INCLUDED:

  • 3 Days of In-Depth Collaborative Workshops
  • 2 Days of Activities – Relaxation & Local Colonial Spanish Culture
  • 5 Nights Accommodations in luxury private apartments (Double Occupancy) with Gym, Pool, & Beach
  • 5 Days Internet (3.5G USB or Broadband Wifi) Breakfast & Lunch, Coffee, Softdrinks, & Snacks
  • Not included: International Flight, Dinners, Alcoholic Beverages

ITINERARY: Wednesday Night (Arrival) August 4th, 2010 to Monday Night (Departure) August 9th, 2010

  • DAY 0: Arrival to Cartagena, Colombia (CTG). Ground transportation to accommodations.
  • DAY 1: Workshops A
  • DAY 2: Activities: Tour – Spanish Colonial El Centro
  • DAY 3: Workshops B
  • DAY 4: Activites: Islas De Rosario – Tropical Beaches
  • DAY 5: Workshops C
  • Attendees may arrive early or stay longer to enjoy
  • 3 Days Breakfast & Lunch, Coffee, Softdrinks, & Snacks

PRICING & NEXT STEPS: Wednesday Night (Arrival) August 4th, 2010 to Monday Night (Departure) August 9th, 2010

  • This is a past event and is no longer available. Stay tuned for future events.
  • Estimated: 600 USD$. Final pricing pending based on number of attendees.
  • Contact Samuel Asher Rivello for More Information (info [at] RivelloMultimediaConsulting [.] com

Developing Adobe Flash Games: Physics-based Games

DURATION: 60 Minutes (Overview) or 4 Hours (Comprehensive)

DESCRIPTION: Flash game developers will engage users with a departure from hackneyed gameplay mechanics. Users are attracted to unique experience they can’t find elsewhere. Physics-based gaming can give your game development repertoire a huge boost, enabling sandbox-style game mechanics and emergent gameplay.

AGENDA: We will see the types of physics games you can create with Adobe Flash technology and examine the ROI of adding physics to your existing games as well as creating all new physics-based game experiences. After an overview of the Physics libraries available, we will review the basics and go in depth with two examples; a quick demo, and a complete game. Attendees may experiment and republish the project (source provided) via Adobe Flash CS5 Professional or Adobe Flash Builder 4.

While the examples shown will be specific to Adobe Flash CS5 for deployment to the browser, this session is equally relevant for application developers of other technologies including Adobe Flex 4 for the browser and Adobe AIR desktop deployment.

AUDIENCE: Intermediate to advanced Adobe Flash CS4 and Adobe Flex 4 developers with equivalent ActionScript 3.0 knowledge.

LAPTOP REQUIRED: Optional

TAKE-AWAY: Attendees will have another tool in their belt for creating great physics game projects. All source code and documentation will be available to attendees.

SECTIONS:

  • Section 1: Background of and Benefits of Physics-based Games
  • Section 2: Background of and Benefits of the Box2D Library (via AS3Box2D & QuickBox2D)
  • Section 3: Box2D Applied
    • Creating a New Box2D Physics Project from Scratch
    • Creating a New Box2D Physics Project via the Box2D Physics Template Project
    • In Depth Tips and Tricks for Physics Games

DATE:

  • Not yet confirmed for any event.
  • Leave a comment to request I speak at your event.

Adobe Flash Frameworks: PushButton Engine's Platformer Starter Kit (PSK)

DURATION: 60 Minutes (Overview) or 4 Hours (Comprehensive)

DESCRIPTION: The PushButton Engine (PBE) is an Open Source, Flash game engine and framework that’s designed for a new generation of games. PushButton Engine makes it easy to bring together great existing libraries and components for building Flash games. Spend less time on code, more time on building fun games. PBE represents the most significant and ambitious effort to standardize Flash game development into a modular reusable code-system.

AGENDA: We will overview the goals and benefits of using PBE. Most of the session will be the applied use of the ‘Platform Starter Kit’ (PSK) for PBE. This add-on let’s you start IMMEDIATELY with a great level editor, graphics, physics, and controls for a platform game (such as a Super Mario Brothers style game).

While the examples shown will be specific to Adobe Flex 4 for deployment to the browser, this session is equally relevant for application developers of other technologies including Adobe Flash CS5 for the browser and Adobe AIR desktop deployment.

AUDIENCE: Intermediate to advanced Adobe Flash CS4 and Adobe Flex 4 developers with equivalent ActionScript 3.0 knowledge.

LAPTOP REQUIRED: Optional

TAKE-AWAY: Attendees will have another tool in their belt for creating fast, powerful, and extensible Flash Platform game projects. All source code and documentation will be available to attendees.

SECTIONS:

  • Section 1: Background of and Benefits of the PushButton Engine (PBE)
  • Section 2: Background of and Benefits of the Platformer Starter Kit (PSK)
  • Section 3: PSK Applied
    • Creating a New PSK Game from Scratch
    • Customizing a PSK Game
      • Adding New Graphics/Animation
      • Creating New Levels
      • Creating New Puzzles
      • Extending PSK to do your bidding…

DATE:

  • Not yet confirmed for any event.
  • Leave a comment to request I speak at your event.

Adobe Flash Frameworks: PushButton Engine (PBE) for Games

DURATION: 60 Minutes (Overview) or 4 Hours (Comprehensive)

DESCRIPTION: The PushButton Engine (PBE) is an Open Source, Flash game engine and framework that’s designed for a new generation of games. PushButton Engine makes it easy to bring together great existing libraries and components for building Flash games. Spend less time on code, more time on building fun games. PBE represents the most significant and ambitioius effort to standardize Flash game development into a modular reusable code-system.

AGENDA: In this session well review the benefits of using an established game development framework for Flash. PBE uses ‘modules’ (in a PBE sense, not in the ‘Flex’ sense) to organize code instead of the typical approach of class inheritance. We’ll unlock the secrets of this unique approach and see how to apply the system to solve common game development problems.

While the examples shown will be specific to Adobe Flex 4 for deployment to the browser, this session is equally relevant for application developers of other technologies including Adobe Flash CS5 for the browser and Adobe AIR desktop deployment.

AUDIENCE: Intermediate to advanced Adobe Flash CS4 and Adobe Flex 4 developers with equivalent ActionScript 3.0 knowledge.

LAPTOP REQUIRED: Optional

TAKE-AWAY: Attendees will have another tool in their belt for creating fast, powerful, and extensible Flash Platform game projects. All source code and documentation will be available to attendees.

SECTIONS:

  • Section 1: Background of and Benefits of Frameworks
  • Section 2: Background of and Benefits of the PushButton Engine (PBE)
  • Section 3: PBE Applied
    • Creating a New PBE Project from Scratch
    • Creating a New PBE Project using the PBE Template Project
    • Overview of the 3rd Party PBE Utilities and add-ons

DATE:

  • Not yet confirmed for any event.
  • Leave a comment to request I speak at your event.