You’d think that software development is done in a lab, following a standard process is anything but social. That’s far from the truth – the truth is, it’s really a social exercise that involves developers spread across different time zones. For too long, our focus has been on improving synchronous human-to-human interaction only. But that's just half of the story. In order for an agile team to build better, faster and cheaper software, you need to tune in not only to the inputs from human peers but also feedback that are coming from the machine (Continuous Integration / Continuous Deployment (CI/CD) Tool chain).
While working through your agile sprints it’s crucial to have communication pipelines setup that help your team share information and make decisions quickly. That's where Cisco Spark comes in. Whether you're sitting together in one office or spread across the world. Cisco Spark has features that help agile teams stay organized and highly productive, it brings that level of contextually rich collaboration in a single virtual room. It supports virtual rooms where conversations can be synchronous or asynchronous, public or private, text-based or face-to-face video.
Cisco Spark integration with CD (Continuous Delivery) tool chain such as Jenkins (Continuous Integration Platform), Git (Distributed Git Platform), SonarQube, Continuous Security (App Vulnerability Assessment) etc. provides greater visibility into your software development process through real-time feedback sent to your project-specific rooms. Anand Sharma (@indrayam) along with lead developers Sujatha Muthuswamy (@smuthuswamy), Joey Wise (@jlwise2), Piyush Lashkari (@prince27888) and Vivek Sethi (@iSagar13) developed this solution, I was part of this development effort and blog has references to the sample code developed by this team. See how your agile team can get more from Cisco Spark Integration with DevOps - CI/CD tool chain at DevNet Hackathon from July 9 - 10th @ Las Vegas. We've put together a pretty compelling set of APIs and platforms for you to learn about and use at the Hackathon. You will see how below two 2 key components can be enabled using Cisco Spark.
1. Agility in Communication:
Agile means moving fast, and with the right communication tool & techniques. One of the recommendations of Agile Manifesto is "Individuals and interactions over processes and tools", which means to avoid "Context" lost in translation as traditional communication tools such as Outlook are not very effective in communication and avoid time zone challenges. However, in real world scenario teams are often distributed geographically, and it is not possible to have in-person communication, time constraints begin to affect the quality of communication between teammates. Technology can help to bridge these gaps, using Cisco Spark team not only chat, video conference, share ideas, code in real time but also can view all these persisted data in virtual room per their convenient time.
2. Integration with Agile DevOps CI/CD tools:
Feedback is essential to frequent, automated releases. Jez Humble in his book "Continuous Delivery" indicated three criteria for feedback to be useful.
Any change, of whatever kind, needs to trigger the feedback process.
The feedback must be delivered as soon as possible.
The delivery team must receive feedback and then act on it.
All the above three feedback criteria are possible through integration of CI/CD tools with Cisco Spark. Cisco Spark integration allows your team to stay updated with all your Agile DevOps CI/CD tools. You'll get notifications and updates in your Cisco Spark rooms when there are changes committed by team member.
To integrate any Agile DevOps CI/CD tool with Cisco Spark room, you can either use the Cisco Spark – Java SDKs to accelerate your development work or directly call Spark APIs for the integration. In Part II, we’ll show how to get started with Cisco Spark API Integration with CI/CD tools.