Mobile, Social & Local

More Cloud Services – Test your Mobile Application

Posted: June 23rd, 2010 | Author: Julio Hernandez-Miyares | Filed under: Cloud Computing, Mobile, Technology, Technology Outsourcing |

As Jittr’s focus are Smartphone applications , primarily Android but eventually and soon iphone, we are caught in the dilemna of how to test on a cross section of the handset devices we are targeting.
Test Engineering is one of those technical areas that we wish to outsource to a team in a far away place where supply of engineers is high, competence equally high but costs are way low. India is one such place, though not the only one but since my principals and myself have years of experience with teams in India, that is the out-source geography we are most familiar and comfortable with.

So far so good but we are not talking about testing on an emulator running on Windows or Mac workstation. That is good for development testing. Real test engineering has to test on the actual devices running the actual variant of the Android OS possibly customized by the Wireless Carrier.

Device Anywhere to the rescue!
I just completed the live webinar on DeviceAnyWhere Test Center application. Quite impressive! As an aside, I signed up for a free open trial prior to signing up for and viewing the howTo seminars and put the product (both the Test Center and Test Automation Facility) through it’s paces but the Web based live walkthrough was still worth the hour of investment of my time. This is a profitable (or so they say) startup in Cloud Services with about 2,000 clients and their main claim to fame is making handsets available via the cloud to engineering teams that need to test their mobile applications on as well rounded set of different handsets as possible. They have multiple data centers including one in Europe, the USA of course and a new one opening in Brazil shortly. The data centers are centers where the actual physical devices are located. All testing is done on real handsets which a tester acquires via the Test Center/Automation application prior to running through the test cases.

All activity performed on the physical unit is streamed in a pixel perfect manor to the testers’ workstation which renders in an image which resembles the physical device.
Also, those pixels are captured to form a basis of screenshots that show the visual state of the device as the testing proceeds.

The Test Center also includes it’s own feature to define and manage test cases in a centralized manor. No more having to use Excel or something similar for the same purpose.
The probable use case would be for someone in Jittr, let’s assume myself for the moment, would define the testcases within the test center and then outsource the actual testing to a remote team in India. The Test Center makes this easier to accomplish. The Test Case Manager has the functionality to assign pass or fail to the test, attach screenshots of what was observed on the handset for each particular test

Another useful feature is the ability to share an acquired handset to someone to put the application through it’s paces.This feature I have not exercised yet so I am not sure if the invitee has to download the testcenter application to actually avail oneself of this feature. I find this a potentially useful way to let someone , say one of my principal none technical colleagues, someone like a Product Manager who is remote, run the current state of the application through a real device even if the real device is somewhere hidden out in the clouds. A lot simpler I hope and will confirm then having them install Eclipse and the Android development kit to have the use of an emulator to simulate the functioning of the Android Application.

Overall, appears quite impressive from my kicking the tires and the Webinars and as the world moves quickly in the mobile market, this company as well as others should form the bedrock of the way mobile testing is done except for the absolutely largest companies.
I am in the process of converting from a free trial account to a paid account. They have flexible plans for startups like Jittr where breaking the bank is not an option. I will come back to this post with information as I put it through it’s most important paces which is for real and with a virtual team using it as the foundation for test engineering.


Outsourcing Software Engineering 60 to 1 (Part 2 of N)

Posted: March 7th, 2010 | Author: Julio Hernandez-Miyares | Filed under: Technology, Technology Outsourcing |

I was communicating with an ex Software Engineer report of mine the other day asking how things were going in my old company. Without going into much detail about extraneous things, he volunteered that “most of the work was moving to India” , that he and the rest of the team stateside didn’t have much individual responsibility or work to do but that they were spending most of the time hand-holding the people they were collaborating with in India. He used the ratio 60 to 1 (60 hours to do what he could do in one hour).
That ratio in my estimation is a wild exaggeration but it is not totally off in certain respects.

The biggest problem in my experience with productivity of software engineering outsourced to India is in the realm of managing towards overall effectiveness not solely the metric of cost. Of course, outsourcing a high wage activity such as software engineering to a much lower wage rate location will reduce gross engineering costs at least in the short-term. Accomplishing that is as deterministic as anything within the raft of different resourcing options any company has at it’s disposal.
If that metric is the sole determinant of success, the company following this approach will be measuring success or failure on a metric that anyone with a calculator or the most basic business sense can appear to succeed at.

The true measure should be similar to how employee investment Rate of Return is determined stateside or anywhere else in the world. What am I getting in terms of value for my investment? And since in this particular case I am talking about the Web business, how is the time to market impacted in outsourcing these critical activities to bring goods to market?
Software Development is an esoteric craft or at least treated that way by many folks who have decision making or sign off authority for outsourcing this important function. The cost in time and opportunity lost by the Stateside developers having to support in numerous ways

  • providing business context
  • providing elaboration usually nuanced on product requirements
  • reviewing for standard implementations

the effort from India as well as trying to do their job is rarely a point of consideration.

From the aforemetioned one would assume I am against outsourcing to India. The fact is I am not, I have had success with it (and some quite bumpy rides as well) and if done for the right reasons

  • abundant supply of of young Software Engineers
  • a timezone that coupled with Timezones within the USA can result in a follow the sun iteration (this is not for the faint of heart. It is easier said then done)
  • Better context of what works in the India or Asia Pacific Rim if the product is being tailored for that market
  • And of course, a positive cost benefit for your efforts

A criterion for Success is to make the India team especially it’s India based management strictly accountable for the efforts of the India based Development staff. That may seem obvious and it is but usually for reasons of expediency a Program manager or a stateside liaison is the point of contact obscuring the true accountable parties for success of an India Development center.

To be continued….

Bangalore IndiaOutsourcing Software Development Part One


Outsourcing Software Development

Posted: February 6th, 2010 | Author: julio.luis.miyares | Filed under: Technology, Technology Outsourcing |

Bangalore June 14-22,2006 If we outsource our Software Development , we can save considerable labor costs. For each USA based employee we can have 4 or 5 based on current ratios of India development resources.  True, if the disparity between where the resources are currently located and where they will be outsourced to is large, you will save some personnel costs but is that the sole determinant whether it is a good idea or not?
Dispersing technology development/support (or operations) throughout the world has benefits besides cost and based on labor rate differentials. If you have a large enough inventory of sites to support that operate 24/7, having a team of System Administrators that overlap various timezones should improve the responsiveness when things inevitably go wrong. Also allows for system maintenance during the slow hours in whatever market the particular site has it’s lull.  Also, you can smooth out the demand and supply imbalances  in actual engineering resources that make acquiring engineering resources problematic regardless of what the pay scale is in certain markets.
On the other hand, if you are working in a domain that is subject to large amounts of uncertainty and market pressures in leap frogging features, what does a lower labor rate coupled with the latency inherent in time differences and maintaining context get you except 2nd , 3rd or further down in timely meeting the market need?
I have worked in situations where design is in the Eastern Time Zone and Web development on India time. A change in design would easily take 48 hour turnaround just to get the correct understanding of what the feature represented and how it fit into the rest of the product/design flow before anything could possibly be engineered.  Given that Frontend Web development is relatively low technology this minimum latency is dysfunctional and has an attendant cost in frustration on the part of the involved product team including executive management as well as missed opportunities in the marketplace.

The aforementioned should not be cast as a criticism of engineering in India as those engineering teams are  thrust into a position where success is not achievable.