News from the World of Software Development – January 2017

Welcome to a brand new year and a fresh look at the latest news from the constantly evolving world of software development. If you are interested in checking out the stories from the end of December, simply click on this link. Leverage this month’s insights and information to help make your application engineering process more efficient and productive. Good luck!

The Cloud is making Software Engineering Faster

Software development teams are increasingly using Cloud-based services to produce new applications, make enhancements to current apps, and fix bugs at a faster rate. Collaboration with remote development teams and a new Features-as-a-Service (FaaS) API model for code reuse appear to be two of the most common use-cases for Cloud-enhanced software engineering. This growing trend was reported on this month in TechTarget.

The TechTarget article also covers the wider use of containers, something we also mentioned in our 2017 Trends in Software Development post. Tools like Docker, Vagrant, and others allow software engineering shops to leverage virtualization – either in-house or Cloud-based – to make managing development, production, and QA environments a more efficient process. Companies hoping to achieve a Continuous Delivery model are increasingly using Cloud-based virtualization as part of their methodology.

Cloud-based APIs and services – increasingly marketed with the FaaS moniker mentioned earlier – allow development teams to meet deadlines without having to “recode” the wheel. Code reuse has been in the wise developer’s toolbox for decades, and Cloud-based services simply make it easier. Amazon and Microsoft are continually adding new routines to their own publically-available Cloud-based APIs.

Componentization and microservices are two other ways development teams are using the Cloud to improve their software engineering process. Expect to hear more information on microservices in an upcoming blog post.

Tom Nolle, the writer for TechTarget, sums up this growing trend. “The most important impacts of the cloud on faster software development are being felt only now, and it’s clear that we’re heading for a true software revolution in just a few years,” said Nolle.

AI and Data Science are Important Skills for New Developers

Anyone interested in moving into software engineering, or current developers hoping to keep their skills up to date, need to ramp up their knowledge of Artificial Intelligence and Data Science. That is the opinion of an article published this week in InfoWorld. The IT magazine spoke with Jim McHugh, vice president and general manager for Nvidia’s DGX-1 supercomputer, to get his insights on the growing importance of AI in the industry.

The DGX-1 is largely used in deep learning and data analysis scenarios. McHugh feels the supercomputer and its employment of AI and data provides an example of how the process of writing software is being transformed. “We’re using data to train the software to make it more intelligent,” said McHugh. 

Part of the application infrastructure, like the interface and flow, are still coded using largely traditional methods. The actual meat of the app, however, uses data analysis to influence new feature sets. McHugh mentioned developers manage and curate the data while guiding the app through learning its new enhancements.

The influence of AI in the software development process is definitely an area to watch over the upcoming decade.

Stay tuned to the Betica Blog for additional insights and news from the ever-changing software development universe. As always – thanks for reading!

Implementing Continuous Delivery with Screwdriver

Continuous Delivery is the Holy Grail driving many companies to initiate Agile and DevOps programs with the hope for rapid software development, enhancements, and fixes. In a competitive business world, quality applications are a big differentiator between the top organizations and those merely treading water. CD helps enterprises manage their development process in a more efficient manner.

Screwdriver is an application from Yahoo that facilitates Continuous Delivery; the company recently released it into open source status. Let’s take a closer look at the software to see if its features make it worthy of exploration as part of your company’s CD program.

A Closer Look at Screwdriver

Offering scalable continuous delivery, Screwdriver is a tool well-suited for organizations with a widely distributed application infrastructure. Yahoo developed the app for its own array of internal applications. It is possible they are open sourcing it before the company is fully acquired by Verizon.

James Collins, Yahoo’s senior director of engineering commented on the tool’s major advantages. “Screwdriver handles over 25,000 builds per day and 12,000 daily Git commits as a single shared entry point for Yahoo. It supports multiple languages and handles both virtual machine and container-based builds and deployment,” said Collins. Enterprises with large development teams stand to benefit from the application as part of their own CD initiatives.

The application’s architecture is relatively straightforward. A front-end manages handles users input and receives status messages from the rest of the software. The back-end includes a stateless API, which controls and launches builds and other functionality. Docker Swarm is used within Screwdriver to manage environment clusters.

According to Collins, the three main benefits of the application are making deployment pipelines easy, optimizing for trunk development, and to facilitate change rollbacks. Yahoo wanted their trunks shippable, so they leveraged Selenium to handle automated testing as part of Screwdriver’s build process. In short, Screwdriver allows for the efficient management of the build process – an important component of any Continuous Delivery initiative.

Screwdriver has been in use at Yahoo for over five years and is a major part of the company being able to implement CD and DevOps. Collins feels the tool lets programmers fully control the state of an application’s production infrastructure – a key part of the company’s DevOps organizational structure.

The Future of an Open Source Screwdriver

Yahoo is still planning to make enhancements to Screwdriver. These include the storage of build metadata, improved metrics and reporting, system templates, as well as more detailed log analysis. All these features are expected to let companies better refine their Continuous Delivery processes.

With a great proprietary CD-optimized build tool, what prompted Yahoo to release the application to the vibrant open source community? It appears to be an act of charity with a potential benefit to many organizations hoping to implement Continuous Delivery. These companies need to fully explore what Screwdriver brings to the table to ensure they are able to stay competitive with the rest of the business world.

James Collins sums up how Screwdriver enabled CD at Yahoo. “Yahoo’s engineering has modernized as it has embraced Continuous Delivery as a strategy for improving product quality and engineering agility. All our active products deliver from commit to production with full automation and this has greatly improved Yahoo’s ability to deliver products,” said Collins.

Keep returning to the Betica Blog for additional news and insights from the robust world of software development. Thanks for reading!

2017 Trends in Agile and DevOps

As the Agile software development methodology gets closer to its 20th anniversary, it has truly entered the mainstream, illustrated by its wide adoption at many enterprises and smaller businesses. The maturity of this application engineering practice is evidenced by novel organizational structures aimed at facilitating Agile, most notably Tribes. The growth of DevOps is another example of a business innovation – focused on collaboration – influenced by Agile.

What follows is a look at a few of the expected trends in both Agile and DevOps over the coming year. Maybe some of these ideas spark some inspiration in your own software projects?

Companies demanding Candidates with Agile Experience

A recent study from Udemy for Business, an online learning platform, noted the candidate skills most in demand at organizations in 2017. Commenting on the growth of Agile workplaces throughout many industries, Udemy forecasts that businesses desire candidates with experience working in an Agile office or on projects using the methodology. These companies also want candidates with the soft skills – strong communication, business acumen, etc. – to help them thrive in an Agile environment.

This prediction truly reveals how this methodology, first developed in the early 21st Century, squarely resides in the technology mainstream.

Agile leads to the Growth of “Citizen Developers”

There’s no denying that Agile, DevOps, and other methodology innovations made the process of software development significantly faster. One 2017 Agile trend is the growth of “citizen developers,” essentially employees working outside of a traditional IT role leveraging rapid application development (RAD) environments to quickly build software applications to serve a specific business need. Industry pundit, John Carione, commented on this trend for TechTarget.

“Agile methodologies changed how companies evaluate and implement technology. In 2017, we’ll see a new wave of Agile thinking enter the enterprise — this time with a focus on helping enterprises make strategic decisions more quickly. Employees — whether in IT, operations or a marketing department — will be able to use rapid application development and automated research tools to run quick tests and answer questions on their own. By more quickly understanding which processes and strategies are working and which are not, employees can be empowered to make intelligent decisions and adjust their business approaches on the fly,” said Carione.

Cyber Security becomes more Worrisome for DevOps Shops

IT security seems to be a constant worry for many CIOs, especially considering the growth of ransomware. Shops combining development and network operations under the DevOps moniker need to remain vigilant against hacking and other nefarious activity in 2017. This is the prediction told to TechRepublic by Reuven Harrison, CTO of the network security solution provider, Tufin.

He feels the need for compliance at many enterprises will force them to enhance their security, which may be difficult considering the rapid rate of project initiation and completion in the DevOps era. Ultimately, it is better to be safe than sorry. “We may see a major breach that gets tracked back to the DevOps approach, causing DevOps and security teams to become new best friends,” commented Harrison.

Be sure to return to the Betica Blog for additional insights from the ever changing world of software development. As always, thanks for reading!