News from the World of Software Development — February 2018


Welcome to this month’s edition of our regular software development news digest. We try to cover a few recent stories of interest to both software engineers and QA professionals. Hopefully, the insights within help foster some ideas to help your own team’s application development efforts.

If you are interested in checking out last month’s digest, simply click on the following link.

Apple actually slowing down its Software Development Process

Given that hardware – the iPhone, iPad, and even the new HomePod smart speaker – drives Apple’s enormous revenue, sometimes we forget they remain one of the largest software development companies in the world. Recently, Cupertino suffered a few highly publicized bugs in its iOS mobile operating system. Perhaps the company approaches the SDLC in a too “agile” fashion?

As such, Apple plans on slowing down the rate in which it releases iOS and macOS updates. The company hopes to increase its focus on stability and bug fixes as opposed to trying to fit a ton of new features into every release. News about Apple’s shifting development cycle appeared this month in ExtremeTech among other sources.

Major iOS version releases are now expected to take place every other year instead of on an annual basis. Given that the older iPhone battery slowdown “bug” attracted interest from the U.S. Government, it is a smart move for Apple to take a more measured approach to OS releases. It will be interesting to see how well they keep to a more deliberate schedule in a competitive computing industry.

If you want to read more on this topic, check out former Microsoft engineer Steven Sinofsky’s blog entry. Considering Sinofsky’s role in leading Windows OS and Microsoft Office development, his insights are worth your time.

Automated QA Tool Company gets Venture Capital

Giving software engineers the ability to test their code in an automated fashion remains a key part of any Agile or DevOps implementation. A Boston-based startup led by former Stackdriver principals is building an automated testing tool suitable for continuous delivery scenarios. Their nascent product shows promise as evidenced by the $10 million in venture capital awarded to their firm, named Mabl.

News about Mabl’s venture capital success appeared this week in Xconomy. The fact that Mabl’s chiefs, Dan Belcher and Izzy Azeri, sold Stackdriver – a Cloud management software company – to Google in 2014 likely helped attract funding for their new venture. In an era where continuous deployment is the Holy Grail for many companies, automated testing is vital.

At the core of Mabl’s tool is a service that operates like a virtual QA engineer. Dan Belcher described the approach of Mabl. “Think of Mabl as an extension to your QA team, like you hired a new QA person. Just as you’d train the person about your app, you train Mabl, and expect [it] to write new tests, new test cases, run tests automatically, and find defects based on an understanding of how the application works,” said Belcher.

The tool leverages machine learning routines to improve its ability to find bugs and even predict their existence. It integrates with Slack as well as other email and messaging tools. If Mabl looks like something your development team needs, explore the information on the company’s website.

That’s it for this edition of the Betica Blog News Digest. As always, thanks for reading!

Automate your IT Infrastructure with Ansible

More modern software development shops continue to boost productivity by leveraging a variety of modern methodologies — most notably Agile and DevOps — as well as the software tools to make things run smoothly. Automation also plays a big role in helping the development and QA processes become more efficient. Ansible is one such automation engine earning accolades in IT departments for its simplicity and power.

If you are looking to get more done in less time — a common refrain in today’s technology world — read further to learn more about Ansible. It might just be the missing link in your shop’s arsenal of tools.

A Closer Look at Ansible

Ansible’s automation engine handles a host of tasks normally taking up the valuable time of software engineers, QA personnel, and network administrators. These include the provisioning of Cloud environments, application deployment, configuration management, and loads more. Since it was first developed for multi-tier architectures, Ansible won’t have a problem modeling your shop’s entire IT infrastructure — Cloud-based and on-premise.

This free-software automation tool first became available under the GNU Public License in 2012, and it is compatible with the Linux and Windows platforms. A company named Ansible, Inc. offers commercial support while maintaining the application’s codebase. Ansible, Inc. was acquired last year by the major Linux distributor and open source software company, Red Hat.

Similar configuration automation tools include Chef and Puppet. Ansible holds an advantage over these older applications with its agent-less architecture. This allows management of remote machines without a local daemon present, greatly reducing the overall network traffic.

Simple and Elegant Configuration Management

With no remote agents and no additional security considerations, Ansible deploys in an easy manner. It uses simple documents, called Ansible Playbooks, written in a YAML format to describe automation and configuration tasks. This means nearly all system functionality is controllable using only a text editor and a terminal program.

When running, Ansible connects to all the nodes in a system, while quickly installing and executing a small program called an Ansible Module over SSH to perform a variety of orchestration and management tasks. The module then removes itself upon completion. Modules can be written in a variety of scripting languages: Python, Perl, Ruby, or anything that can output JSON.

The tool plays well with other network applications, enabling you to connect and get inventory information from a variety of Cloud management tools, like Rackspace, OpenStack, and EC2. Of course, you can simply define all this information in a text file — simplicity and flexibility are the keys. Ansible also comes with over 200 pre-written modules, so you can get started managing your network environment with minimal hassle.

A simple architecture with little network overhead, combined with Modules to perform functions and Playbooks to orchestrate the whole show makes Ansible worthy of consideration for automating your organization’s technical infrastructure. It integrates nicely with your existing Cloud investment while taking advantage of your development staff’s scripting language acumen. Download Ansible and give it a test run to see if it makes sense at your shop.

Come back to the Betica Blog regularly for additional news and information about the software development and QA universe.