Postman brings Flexibility to API QA and Development

With the myriad of API development and QA tools in the marketplace — we’ve covered many examples, most recently, SOAtest — finding one to meet the needs of your shop seems like a daunting task. Postman positions itself as an application able to plan, develop, build, test, and document APIs. Not surprisingly, it is known as the “Swiss Army Knife” of API tools.

Let’s take a closer look at Postman to see if it makes sense in your team’s toolbox. It just might be the API development application with the flexibility to supercharge your productivity.

Build APIs more Quickly with Postman

As an integrated suite for the entire API development lifecycle, Postman offers the promise of building APIs faster and more efficiently. The Postman is app is available at no cost for the Windows, Mac, and Chrome platforms, while Cloud and Enterprise versions with more collaboration features cost only a nominal monthly fee.

The application’s UI facilitates the creation of HTTP requests, while integrating unit testing features to validate both response data and response time. Different requests are able to be grouped into Collections for better management. You can organize these collections into folders to mimic an API’s online structure. Sample responses are stored with each request to better explain its functionality and expected output.

It is important for developers to enter descriptive information into the request and response metadata, as the Postman UI leverages this information to describe the functionality of each request and the entire API. Developers can use the powerful search engine to find a specific request to meet their needs. This same metadata is used to automatically generate the API documentation, which becomes publically sharable with a button click — a boon for shops developing their own public APIs.

An Application Architecture to add even more Flexibility

Postman supports a variety of add-ons to make the application even more flexible. Newman provides automated testing features, including integration with your build app and the ability to kick off testing in a cron job. Chrome users need to check out Interceptor which leverages the Chrome window to easily view cookies and to capture and import requests into the Postman app.

Both add-ons are available as free downloads.

Enterprise Collaboration Features

As mentioned earlier, the regular Postman app is a free download, but development teams can upgrade to either the Cloud or Enterprise versions of the app, providing additional collaboration features for an inexpensive monthly fee.

Postman Cloud is priced at $4.99 per user per month (billed annually), and includes access to Postman’s Cloud API along with real-time collaboration features. Enhanced team management functionality is also part of the Cloud feature set, in addition to support for admin and billing roles — another plus for public API development shops.

All the features of Cloud are also available in Postman Enterprise, with the inclusion of invoice-based billing. Enterprise is priced at $21.99 per user per month billed annually.

Considering the basic version of Postman is simply a free download, it makes perfect sense to grab a copy and give the app a test run. You may find it becomes an invaluable part of your API development arsenal. The Cloud and Enterprise editions add useful functionality for shops specializing in public API development.

Keep an eye on the Betica Blog for additional dispatches from the worlds of software development and QA. Thanks for reading!

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.

A Practical Application of Agile Tribes for Software Development

Last week we provided an overview of Tribes, a recent innovation in the world of Agile software development methodologies. In a nutshell, Tribes organizes a development shop into teams of employees known as Squads, Tribes, Chapters, and Guilds by either the projects they work on, as well as their role in the company. Squads and Tribes relate more to specific project work, while Chapters and Guilds focus on their profession (developers, testers, etc.).

If all these different groups seem a bit confusing, check out last week’s article for a more detailed explanation. This time out, we are going to look at a practical example of how a software development shop uses this organizational structure to build applications in a more efficient manner.

How Spotify made Agile Work

Spotify, the music streaming company, is one of the first enterprises where the Agile Tribes structure saw a successful implementation. Alistair Cockburn, one of the original developers of the Agile idea, was reportedly impressed with Spotify’s Tribes matrix implementation.  “Nice. I’ve been looking for someone to implement this matrix format since 1992, so it is really welcome to see,” said Cockburn.

A matrix-like structure isn’t completely new when it comes to structuring a software development organization. Spotify’s innovation comes by grouping people with different skill sets into Squads, so software engineers, QA professionals, and business analysts all work on the same team reporting to a Product Owner. The focus is on product delivery as opposed to organizing workers by their function. Instead, the Chapter structure organizes employees in this manner.

At Spotify, technical professionals are typically in all four groups; this means they essentially have two bosses. The Product Owner of their squad is focused on the building a top notch product, while the Chapter Lead encourages everyone in their Chapter to strive for technical excellence.

Spotify realizes that clashes sometimes occur within this organizational structure. Maybe a Product Owner wants to speed up a development cycle against the wishes of the Chapter Lead responsible for the developers on that PO’s Squad? The company feels this is a healthy kind of tension that ultimately results in a better product for consumers. 

The System Owner is responsible for the Overall Architecture

With a host of Squads all working on their own specific projects, there can be difficulty in enforcing standards and a common technical architecture across the entire department. Spotify felt there was a need for a System Owner role responsible for the overall architecture of their music streaming product. The System Owner includes two professionals following the DevOps principle: one is typically a developer Chapter Lead, while the other works in a systems role.

The System Owner role essentially serves as a traffic cop, ensuring the various Squads don’t clash when working on common parts of the overall application. The release process, documentation, stability, and scalability are some of the other areas of responsibility. Finally, the System Owner works with Spotify’s Chief Architect who handles architectural standards across all applications released by the organization.

Hopefully, this look at Agile Tribes in actions offers some insights for organizing your own company’s software development process. Stay tuned to the Betica Blog for additional news and ideas from the world of software development.