With the New Year approaching, the Insights editorial team is thrilled to announce the top technical content from 2014 as well as editor's choices from our Technology, Software Testing and Continuous Delivery channels.
Each blog comes from a ThoughtWorker’s real-world experience and goes up with a short write-up by the editor. We hope you enjoy them a second time around. Let us know your top technical content in the comments.
Good Practices to Build Your AngularJS Application by Tania Gonzales
Some useful tips and lessons from one ThoughtWorks Brazil team who used AngularJS for a while. Experience shared from structure, dependency injection, extension of the HTML, scope and modules make this the number one blog from 2014 in the technical field.
100 Years of Computer Science by Chris Ford
One paper per decade. Check out 10 computer science and academic papers changed the past 100 years of world. You will also see in the post the beautiful 100 years infographic named by Kapost as one of the top 5 best Infographics in 2014.
Demystifying Conway's Law by Sam Newman
According to Conway’s Law, the system under build and it’s design structure is reflecting the organization’s communication structure. An analysis from Harvard Business School also supports this mapping. Microservices architecture promoted by ThoughtWorks allows organizations much more flexibility in aligning the architecture of their systems to the structure of their teams in order to ensure that Conway’s Law works.
Microservices: Lessons from the Frontline by Zhamak Dehghani
Great shared talks revealed the core lessons ThoughtWorkers have learnt building a variety of systems with Microservices architecture globally. They aimed to help viewers identify Microservices and their counterparts, and guide them on where to use them. The talks deliver a series of practices for technologists to build, test, deploy and operate a Microservices architecture.
Testing AngularJS apps with Protractor by Daniel Amorim
This is the top post from 2014 in the Software Testing channel, as the accompanier to the number one blog “Good Practices to Build Your AngularJS Application” from across all Insights channels.
Happy 10th Birthday, Selenium by Paul Hammant
Selenium as a technology is now 10 years old. ThoughtWorks is proud to have created and open-sourced what is now the defacto-standard for cross platform cross browser web-app functional testing. In this insight, we put together a timeline to help people understand where Selenium comes from, and where it will go.
Introducing the Software Testing Cupcake (Anti-Pattern) by Fabio Pereira
Testing Pyramid is already proved to be the starting point when teams consider and implement testing strategy for system under build. But we still see team falling into different traps, one is known icecream cone anti-pattern, in this insight Fabio and his colleagues reveal another anti-pattern - Cupcake.
Guide Test Automation by the Twist Team
This is an evergreen article which definitely indicates its great value to guide test automation in designing and implementing a testing framework using a systematic approach. It walks through 10 different process stages to be followed in order to reap key-benefits.
The Case for Continuous Delivery by Jez Humble
Continuous delivery is a set of principles and practices to reduce the cost, time, and risk of delivering incremental changes to users. This post is for the many managers and executives who remain unconvinced as to the benefits anbd who would like to know more about the economic drivers behind CD.
Model everything to fail fast by Mark Chang
The teams who want to go faster need to fail faster. Go gives teams the power to model and remodel a Build-Test-Release workflow so that they get super quick feedback on every change.
How Canary Release Helped us Deliver a Rails Upgrade by Marcos Brizeno
Your system is still evolving with new features when a requirement of upgrading some software in production comes up to the team. A Big Bang release is tempting but means all or nothing. Read why Canary Release as a technique can solve this problem.
In Praise of the ./go Script - Part I by Pete Hodgson
Defining and implementing a custom development tool will greatly enhance individual productivity, as well as lowering the learning bar for a new team member to understand your workspace environment. Teams should always create such team specific effective tools to automate process like compiling, building, db migration, testing, and deploying, etc.