News from the World of Software Development – March 2017

Welcome to this month’s software development and QA news digest. As 2017 enters its third month, the application engineering world continues to evolve at a rapid pace. If you are interested in February’s digest, simply click on this link.

Hopefully, you are able to leverage these insights to improve or inform your organization’s software engineering process.

Software Engineering Trends going Mainstream

Earlier this month, The Next Web published a story from the software intelligence company, Raygun, looking at three software development trends essentially becoming standard practice. We covered some of these same directional shifts in our 2017 industry trends article, and it is interesting to see them widely adopted.

The growth of ChatOps to enhance communication amongst a development team is one trend Raygun noted. ChatOps even allows software engineers and QA personnel to kick off builds and automated tests from a chatbot interface, while the entire team stays in the loop. The use of bots works well for companies already embracing DevOps and a continuous deployment model.

Speaking of continuous deployment, it is another one of the trends highlighted in the Raygun article. An increasingly competitive business world places the onus on companies to build and maintain applications faster than ever before. Following a continuous delivery model allows firms to deploy new code several times a day.

The increased use of software intelligence was the third trend discussed by Raygun, which isn’t a surprise, considering the company’s main line of business. Leveraging this form of automated intelligence hastens the discovery of problems or issues before the customer.

“Software intelligence gives you the ability to automatically detect when a user’s experience was poor and how you can improve it, with full diagnostic details being provided for every individual user error, crash or performance issue,” the article mentioned. This new era of application performance monitoring is one worth watching by anyone responsible for public-facing applications.

The Principles of Agile Software Development

Late March saw the appearance of a Forbes article in our news feed detailing the daily principles of Agile software development. While this is more of an evergreen topic than “news” per se, anyone new to Agile would benefit from studying these concepts. Scott Stiner, the CEO of UM Technologies, a software firm focusing on innovative user experience (UX) design, authored the article.

Stiner highlights the fact that traditional software engineering methodologies – most notably the Waterfall – lack the iteration compatible with the modern business world. The high cost of finding defects too late in the development process isn’t a risk many organizations want to take. This, combined with the faster speed of business noted earlier, is a major reason many software shops have embraced Agile over the last decade.

Early delivery of prototypes and strong customer interaction remain a major focus of Agile. Changes to requirements are welcome; not considered to be scope creep as with older methodologies. Analyze the rest of these Agile principles to see if a change in how you write applications makes sense for your organization.

Keep coming back to the Betica Blog for additional news and information regarding the wide world of software development. As always – thanks for reading!

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!