ChatOps — a Way to facilitate Agile and DevOps

Improved collaboration is at the core of the Agile and DevOps methodologies — especially the latter. All this interaction between technology professionals — developers, software testers, network engineers, and business stakeholders — requires enhanced and timely communication, either in person, over the phone, or increasingly using some form of messaging client. The speed of the software development process depends on it.

The term for this modern software engineering model is known as conversation-driven development, or a catchier moniker: ChatOps. Let’s take a closer look at ChatOps to see it makes sense to use it at your shop. Maybe it can supercharge your software development efforts?

A Closer Look at ChatOps

ChatOps takes the instant messaging communication model and enhances it by adding the capability for the chat bot being used to recognize certain commands and execute them as scripts. These scripts are used to run builds, message everyone on the team, or any number of relevant functions. A variety of open source chat bots (that are in turn compatible with different chat clients) are able to be configured to execute commands that work with build servers, deployment servers, and more.

Some of the chat clients able to be used with ChatOps include Campfire, Slack, and HipChat. They need to be paired with a chat bot, such as Hubot, Lita, and Err. Since the bots are all open source and written in popular languages, like Ruby or Python, modifying them to suit your team’s purposes shouldn’t be difficult.

Many software development pundits credit GitHub for devising the conversation-driven development model and coining the term, ChatOps. For an example of the methodology in action, Flowdock describes in a blog post how they implemented ChatOps as part of their development process.

Essentially, ChatOps adds a functional layer to the conversations at the heart of collaborative software development in the Agile era. The ability to perform some development tasks, like starting a build, deployment, or automated test scripts, while exchanging messages with the other members of a DevOps team simply adds efficiency to the entire process.

Agile continues to evolve how Software gets Written and Managed

ChatOps, in a similar manner as DevOps, is simply a continued evolution of Agile’s influence on software development. No longer do programmers and QA personnel sit in their cubicles working alone except for a daily meeting. Team members are able to interact through messaging, in addition to the added visibility and functionality provided by a chat client executing builds or notifying everyone when errors bubble out of a production server.

This model is especially effective when considering the widely distributed nature of many software development teams. The other programmers may be working in a different continent instead of in the same building. Additionally, leveraging automated tasks implemented using the chat bot reduces the adverse effects of human error on software projects.

In short, if Agile and/or DevOps is your methodology of choice, you need to consider using ChatOps to truly get the most out of your investment. It even offers advantages to any software development methodology.

Stay tuned to the Betica Blog for further insights from the world of software development.

News from the Worlds of Software Development and QA — August 2016

Welcome to this month’s news digest where we take a look at a few of this month’s interesting stories from the QA and software development worlds. If you are interested in checking out some technology news from July — including the hottest technologies for software developers — simply follow this link. Hopefully, this month’s digest offers some insights relevant to your daily work.

Outsourced Software Testing Market to Grow

A recent study from Research and Markets noted the global outsourced software testing market is slated to grow at an annual rate of 10.8 percent through the end of the decade. Part of this growth is expected to be driven by a shift towards business outcome-based metrics which is a sign of the continued maturity of the overall quality assurance market as these outcomes are able to be defined more clearly.

The study reported some of these reportable business impacts include: customer satisfaction, client revenue, the length of the QA lifecycle, as well as the overall release time. Yet another Cloud-based service acronym — TaaS (Testing as a Service) — was also noted by the study. As businesses continue to eschew their own in-house IT functions for Cloud offerings, the growth of the outsourced QAaaS or TaaS market makes perfect sense.

SAP developing Software at a Faster Pace

One of the main reasons why enterprises continue to embrace modern software development methodologies and practices like DevOps and Continuous Deployment is to speed up the process of application enhancements and fixes. The German ERP software company, SAP, recently reported they enjoy a software development lifecycle four times faster than only a few years ago. This news was told to the Wall Street Journal.

Company CFO Luka Mucic described the faster nature of their SDLC. “A couple of years ago, SAP would have released a major update to their core business suite modules every two years. Nowadays we are down to half-yearly development cycles,” said Mucic. The use of Cloud-based services, automation, and leveraging modular software designs are the major reasons behind SAP’s process improvement.

No Man’s Sky swaps out their QA Team

The development company behind one of the more popular new videogames, No Man’s Sky, recently brought on a new QA team to help fix some critical bugs hampering gameplay, according to an article in IGN. This science-fiction title available for the PS4 and Windows platforms has garnered a lot of publicity for its open-ended storyline and a massive universe featuring over 18 quintillion unique planets to explore. Yes, that says “quintillion.”

Hello Games, the developer of the videogame, hopes to release a patch addressing some of the bugs and other issues. The new QA team is actually larger than the entire development staff, which makes one wonder how many software testers originally worked on the project. The most egregious bugs involve a player becoming stranded without their starship — a difficult proposition in such a large virtual universe.

A release date for the No Man’s Sky patch is still to be announced.

Keep visiting the Betica Blog for additional insights and news from the software development and testing world.

News from the Worlds of Software Development and QA — July 2016

Welcome to this month’s look at a few interesting stories over the previous few weeks from the worlds of software development and QA. Last month, the new continuous testing QA methodology and the hope for standardized software testing practices in the video game industry were some of the topics we covered. Read further to see if any of July’s news inspires your own development and testing efforts.

Leveraging the Scrum to improve the QA Process

Companies that are veterans of the Agile methodology typically use scrums to promote communication between developers and their business stakeholders. These daily stand-up meetings ensure project statuses get reported and important action items aren’t missed. In a July article for TechRepublic, Transworld Data President, Mary Shacklett, talks about the benefits gained including QA personnel in the scrum.

She describes a variety of software failures in her past that could have been prevented if only collaboration between QA and developers were improved. This needs to happen throughout a project, but it is especially vital at the beginning when application design and prototyping take place. In the past, we’ve talked about the importance of catching software (or design) errors early in the process, as the cost of fixing issues increases exponentially later in the SDLC.

Shacklett also feels both developers and QA engineers need to be involved with executing unit tests, a task typically falling to the developer who wrote the code in question. End users and business stakeholders also need to be involved at important points during the SDLC, most notably before the app (or enhancement) is deployed into production.

Popular Developer Phrases that annoy the QA Engineer

As we just noted, it is important that software engineers and QA professionals work well together on the same team. That doesn’t mean developers don’t have their pet sayings that annoy their software testing colleagues, as noted in an article in DZone. While humorous on the surface, they do reveal a need for better collaboration — something improving in the industry with the increased adoption of Agile. Here is a quick sample.

“But it works on my machine” — is a common refrain after a QA engineer finds a bug in code that probably passed the developer’s unit tests. Maybe that company needs to use a better environment manager, like Vagrant

“Are you sure you are testing the right version?” — which is a phrase potentially illustrating the poor management of versioning and builds.

Check out the DZone article for other similar examples of programmer-speak.

The Hottest Technologies for Software Developers

A recent survey of software engineers from Evans Data reveals the hot technologies currently in vogue with developers. Four technologies stood out from the rest of the pack. The Internet of Things was noted by 45 percent of the surveyed Big Data developers, while the Cloud is considered hot by 27 percent of all developers.

Over half of the data mining app developers are working on robotics applications, and nearly a quarter of all developers are involved in machine learning development.

It is surprising to note the importance of parsing massive amounts of data among IoT and robotics applications, which probably speaks to the higher adoption rate of those two technologies in the industrial sector compared to the home.

Come back to the Betica Blog for additional news and insights from the related worlds of software development and QA.