Costa Rica – A Roadmap for Success?

I was unable to attend this year’s Nearshore Americas Nexus event recently held in San Francisco, but I had a chance to watch a very informative presentation from former President of Costa Rica, Laura Chinchilla, titled “Costa Rica wants to export talent, not people”. You can see it here on the Nearshore Americas site . It is great insight from the former President, regarding Costa Rica specifically and LATAM’s overall economic situation and position as a provider of innovative talent.  Of course, this is of special interest to GlobalNow, since we provide IT development and QA services from our Colombia and Costa Rica affiliates, but I believe President’s Chinchilla speech provides a possible road map on how societies can evolve to a high level of economic success. My key takeaways from President Chinchilla’s presentation include: Costa Rica’s success is not accidental. The government has made important CHOICES that has propelled Costa Rica as thriving democracy and leader in the services industry Strong support for the rule of law, security, public health, foreign direct investment, free trade and renewable energy (100 percent of Costa Rica energy consumed is now from renewable resources) has been critical to Costa Rica’s long time economic success. But, probably the most important choice was Costa Rica’s long time commitment to invest in the education of their citizens.  This includes ensuring free public education across the majority of the population, but also mechanisms for higher education such as scholarships for Master’s and PHDs in high tech Due to the above, Costa Rica has transformed from an economy dominated by the agriculture industry to a service/high tech...

Using Geb/Groovy as Open Source Alternative to Stand-alone Selenium for Test Automation

Configuration of Geb automation environment using Spock, Groovy and IntelliJ for Dummies By Alex Chaves – GlobalNow IT QA Manager Introduction: Selenium by far is one of most widely used tools to automate regression testing and other functional testing requirements; due to its perceived cost (it is open source) and inherent flexibility. To deploy an effective Selenium automation project, an intermediate or higher level of programming skill for a language such as JAVA is required to build and maintain the project over time. Geb (http://www.gebish.org/) is a browser automation solution that works as an additional layer with the selenium web drivers in order to provide a more user friendly solution than stand-alone Selenium. This is very handy for QA engineers that may not have advanced programming skills.  For instance, Java is often used to create Selenium scripts, and even though Java is very powerful, it requires a good working knowledge of the Java language to develop and maintain Selenium in this fashion.  GEB can avoid the use of JAVA, allowing you to use Groovy – a simpler scripting language. By using Geb/Groovy, and avoiding a language such as JAVA, the cost of maintaining the automation solution should decrease, plus responsiveness and delivery velocity may also increase due to the simplicity of Groovy. Below is a step by step procedure that you should follow in order to enable the Geb automation environment. Although there are some references on the internet where you can find explanations of various components of the configuration, I was unable to find a site that clearly explained all the required steps that will enable your GEB...

Remote Work Teams – Tools of the Trade

I’ve seen an uptick on articles promoting the benefits of remote work over the last week, including this good one from http://bit.ly/1LsnKYO Mike Elgan / CIO Insights. The acceptance and use of remote workers is becoming more common throughout many industries, especially IT.   Meanwhile, IT Trends such as Agile and DevOps makes the need for successful collaboration even more important. These methods require even MORE effective teamwork, not less.  Since our company is in the business of providing both U.S. and Nearshore IT resources, we are accustomed to seeing the requirements, tools and impacts from remote team collaboration. I previously blogged on the importance of culture/attitude (seen here), and how the desire from the evolving global workforce is a very important consideration.  But it would be very difficult to successfully collaborate without the emergence of some of the great tools that we now commonly use and I was recently thinking about how they specifically help with our productivity. So, I asked members of our DEV/QA team what tools they use and like, and I thought it would be interesting to share some of their personal preference and insight: Julian, Senior Dev Lead likes Jira because of its ability to document and organize user stories into team sprints and coordinate break/fix tickets within the sprints. It is also easy to then assign work and manage the remaining effort. Alex, our QA manager likes Trello for small development projects/teams because it is simple and cost friendly. For larger, more complex environments he prefers Confluence for its integrated management of multiple areas of software process from requirements to testing – and especially...

QA Automation – Requires not only tools but Innovation as well – Selenium example

From my experience, successful software QA automation requires not just tool expertise but also team innovation and creativity. For one of our recent engagements, our QA engineers established an automated smoke test using Selenium. The smoke test was incorporated into the continuous integration environment and applied following system builds to ensure the latest software changes did not break any of the main system functionalities.   The use of Selenium as the base tool required the creation of a custom framework to launch the automations and enable the use of a dataset to support the testing “paths” dynamically rather than hardcoding each of the data locations within the automations themselves. Engineering a testing path/location repository solution as part of this framework provided the ability to manage a single automation with a variety of data conditions and locations. There are 3 main benefits of this approach: Maintenance – The number of automations to create and maintain are reduced significantly. Therefore as the application changes, and the testing automation needs to be updated, there is less automation code to maintain, which reduces ongoing costs. Velocity – New data paths can be added quickly and painlessly without the need to open up the automation code/logic itself. Quality – spending less time on keeping existing testing conditions working means more time can be spent on assuring new code works as expected. By solving the problem in such a way that focuses on the data conditions rather than the automation, the ROI on automation testing is improved tremendously. The agility to make adjustments maintains the velocity of the software development process and more time can...

Automation – Impacting LATAM Solution Providers and the Broader Workforce

I recently shared a Nearshore Americas article which touched on Costa Rica’s advanced “readiness” to deal with the onslaught of workforce automation. According to the article, “Automation, sometimes referred to as ‘no-shoring,’ is still in its infancy, but when combined with business process as a service (BPaaS), has all the potential to be a powerful force for disruptive change.” The same article also spoke to the progress Colombia has made on the AT Kearney Global Services Location Index (a measure of countries by business environment and availability of skilled talent), jumping 23 spots to be ranked 20th, making the largest advance of any country in the Index, with significant impact from its growing technology workforce. It forecasts that Colombia is among the brightest hotspots amid a global services environment where the threat of machines taking jobs from humans seems to be at an all-time high. This got me thinking about the bigger picture of automation readiness for the global workforce. How should societies specifically deal with this ongoing, disruptive and imminent shift of human labor to automation? In the U.S. and elsewhere, we initially saw this in manufacturing and we are now seeing more of it in the services arena. Plus, ironically, automation itself often requires a new type of skill to manage and administer. We see this in our own QA automation practice, where QA engineers now need more technical IT background, and even stronger interpersonal skills to allow them to effectively collaborate across functions and geographic borders. So what is the secret for preparing a workforce to handle the automation push? How can it be embraced in a fashion that...

“The Culture of the New Workforce” William Gordon’s presentation at our DevOps session

We were fortunate to have William Gordon, Regional CIO of NetApp speak at our DevOps community session last week here in Dallas. I’ve seen William speak several times previously, and as always, William’s presentation was engaging and informative, and his topic “The Culture of the New Workforce” was very relevant to the DevOps movement. William provided great insight regarding the current job demands faced by CIOs and how it relates to the expectations from the millennial workforce. I tried to capture some of his key thoughts – highlighted below: The job tenure of CIOs appears to be shorter than ever, with significant pressure to meet multiple objectives – some that often appear to be conflicting. For many CIOs, data and system security is the overriding concern, as we can all understand and appreciate. But, the CEOs are demanding (and applying strong pressure) that CIOs enable rapid product delivery to meet market demands. In general, the millennial workforce is often more comfortable and capable with “balancing” security requirements for agility (at least that’s the perception of many CEOs). This reality/perception can sometimes be a disadvantage to more senior CIOs, as they can be viewed as out of touch with the skills and methods necessary for rapid delivery.     So how is the above relevant to DevOps?   As William pointed out, there are at least two tangible tie-ins: DevOps inherently can improve speed and accuracy of delivery, meeting the needs of millennials and the business If implemented properly, DevOps can help save the job of CIOs that are under fire for rapid delivery Most of us understand that DevOps, without the...
Share This Page
Share on FacebookTweet about this on TwitterPin on PinterestShare on LinkedInShare on Google+Email this to someone