Archive for year: 2010
My Adobe EDGE article about the PBE was mentioned on the PBE blogs. Cool!
- Read about it here: PushButton Engine: GDC Online, Community Activity
“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
- 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.
- 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
- 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.
- Access to World Class Capabilities: World class providers make extensive investments in technology, methodologies, and people.
- 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.
- Improve Company Focus: With your vendor executing tasks, you can free your current staff and mindshare to other things. Innovation, experimentation, R&D, more!
- 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.
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.
Great Support For Games
- Great 1st Party Support: Robust ActionScript 3.0 language, powerful Flash 10.1 Player, and AIR runtime for Desktop as well as mobile. Go Adobe! We can even compile C++ to Flash via Alchemy and write our own 2D pixel-level effects (and multi-threading of game logic) with Pixel Bender.
- Great 3rd Party Tools, Engines and Frameworks such as Flixel, FlashPunk, PushButton Game Engine (fantastic!), easily edit physics based levels with Bison Kick, and Box2d Flash Alchemy Port + World Construction Kit – and 3rd Party 3D Rendering (still waiting for native 3D support in Flash Player) Papervision 3D, Away 3D, and Sandy 3D. Even More 3rd Party goodness…
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
- An introduction to developing games on the Adobe Flash Platform
- Deconstructing the zOMG MMO game from Gaia Online
- Developing physics-based games with Adobe Flash Professional
- Developing Flash Platform games with PushButton Engine
- Making Money With Flash Game Development (Release TBD)
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.
- 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.
[private_Free member]Enjoy this members-only content!
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.
Training In The Tropics: August, 2010: