Hack Week 2016

VersionOne Hackathon 2016

Planning to Succeed

Not so long ago I joined VersionOne. This fall, I experienced my first VersionOne Hack Week in all its glory. Hack Week? Wait, did you say *week*?!? Yes, Hack WEEK! None of that Hack Day stuff around here. 😉

As a company, one of our core values is encouraging initiative and innovation. One way we do that is setting aside a substantial block of time for our team members to try new things that could bring value to the business.

In order to qualify for Hack Week, a proposal should be at least *peripherally* related to our business focus. For one example of just how peripheral, read about our Tapster app .

Getting to What

This year, several of my colleagues banded together to form the Planr team. As a tester on an agile team, I was interested in this idea of a lightweight way to collaborate better on three amigos meetings for planning work. However, as much as I love testing every day at VersionOne, I wanted to try a different role for Hack Week. I wasn’t sure how I could help the team. Would they need a tester trying on a product owner or developer role for size?

After joining the team for the in-depth description of Planr’s vision, I asked what help the feature lead wanted. I found out that product owner would indeed be a useful addition to the team and I felt that my decade of experience grooming and planning stories would enable me to provide direction and input. Now, part of my experience has been just how test-centric the concept of “done” for a story actually is. If there isn’t a test describing a behavior, it may not be obvious that there’s something to do or something to review.

So we set out to build a backlog of workitems for Planr. I talked about the opportunities I see to improve our collaboration and the other team members incorporated that feedback into the work breakdown. We had a large enough team that being able to do work concurrently was important to us, so having a written list of things to do felt valuable to coordinate work.

Planr - Search For Epic

We focused on expressing tests in behavior-driven development (BDD) scenario format as a way to more precisely define the value we want to achieve through a workitem. Why would this be a useful addition to our conversation? Well, human-readable sentences are very useful for communicating, but an output of our process is machine-readable lines of code. The BDD Given When Then (GWT) format helps us to find a nice middle ground where we can express ourselves in a way the business can easily read while spelling out some of the logical conditions that engineering needs to know. We keep the benefits of business domain language while adding in concrete information during specification by example .

Planr - Adding Tests to Story

Planr allows us to experiment with explicit formatting for GWT in user story acceptance tests. In order to keep this experiment timeboxed and decoupled from the main product release, we chose to create a separate tool that communicates with VersionOne through our SDK to populate user stories with the precondition, action, and postcondition information contained in our Planr GWT tests. This separation allows us to iterate quickly through experiments while dogfooding Planr.

Getting to How

Since Hack Week is about experimenting and trying new things on our way to innovation, the usual constraints are lifted. You can work with anyone, anywhere, on anything, in any way that makes you productive. So I thought what better chance to try out Javascript development? I consulted my development team for recommendations and started out with a video tutorial paired with a children’s book on Javascript. That gave me some basic syntax understanding and helped to explain more about the structure of the language, so I thought that would prepare me to be a contributing developer on Monday. As it turns out, and is true in many other languages, there are frameworks and conventions in the Javascript technology stack that are much more complex than just how to write a line of code so that it parses correctly.

Javascript is a lively ecosystem of tools and solutions. In particular, the open source tool VersionOne.JavaScript.SDK provides a means to interact with VersionOne’s rich API in a succinct way. The SDK allowed for Planr to exist as a standalone product that is enriched with the data from the VersionOne platform. In addition, building Planr allowed for enhancements to the SDK to improve its usefulness for everyone outside the scope of the product. Planr can also provide developers outside the VersionOne development team an example of using the JavaScript SDK to empower them to create their own tools and products. 🙂

Individuals and Interactions

I realized that working as a pair with a developer was a shorter road to contributing than trying to understand all of the moving parts. Since our developers are familiar with pairing and tend to pair every day, it was easy for me to find a pair in progress and join in. At first, I felt like a third wheel but pretty soon I was discussing problems we were addressing, algorithm design, and even throwing in a few method calls that I’d picked up in my reading. I’ve heard some people refer to this type of interaction as being a paradev. Pairing was a great opportunity for my developers to teach and for me to do a little sneaky test coaching. 😉 It’s the little things.

The Planr team tracked very small workitems in a simple kanban board so that we could easily find the next piece of work. We didn’t need status meetings with the team constantly collaborating on the tasks and rapidly updating the tracking system, including adding questions and comments along the way so everyone was in the loop even when they were working remotely. We also used chat clients, videoconferencing, and screensharing to reduce the friction of working with a distributed team in real time.

At the end of Hack Week, our feature lead presented Planr during the project review. The development organization received it warmly and had great questions and feedback for us. We all felt proud of our contributions to the project and about the dynamic of our teamwork.

What’s next for Planr?

Now that Hack Week is over and we’re working on our usual backlog, we have adopted Planr as our team’s collaboration tool for story planning. Our first run through yesterday predictably ran into old habits and uncovered a few usability snags. Now we have a better backlog for improving our Hack Week project that’s now an internal tool. We know where the greatest value lies for our next baby step forward and we are already achieving improved communication.

As a team, we had several hypotheses that we wanted to test, but we prioritized focus on some microinteractions around describing acceptance tests. One of these ideas was that our GWT tests often occur in clusters of very similar content with each refining a particular aspect of the business rules. We created a way to easily re-use the previous acceptance test as a starting point for the next one. We noticed initially that our expectations of the three amigos sessions didn’t match this way of working, but it quickly improved our iteration on the business rules. From the very first planning session, we found benefit in the new tool.

Planr - Save And New

By any measure, I consider my first Hack Week here at VersionOne a complete success! I got to try completely different roles. I bonded with new and existing teammates. I learned so much about our technology stack so that we can communicate more effectively about our regular work. We provided each other honest feedback about what was working and what wasn’t. We trusted each other’s choices and supported each other in accomplishing the tasks. We respected that each person had a unique contribution to make to the team. Together we delivered the extraordinary. Isn’t it funny how our core values converge? I love it when a plan comes together!

Get Involved

This month is Hacktoberfest! If you like what you’ve read about Planr, contribute during this month’s event by submitting a pull request for one of our tagged issues. To get the event stickers or t-shirt, sign up through the Hacktoberfest website.

Planr - Hacktoberfest

Special thanks to Walker Smith for contributing technical information and for review of this post

Posted in AgilePoweredByPeople | Leave a comment

Free Beer When You Use the VersionOne Rest API!

Use VersionOne Rest API, SDKs, Integrations

Okay so I lied, but since I have your attention, I’d like to introduce myself. My name is Mark Irvin and I am a developer and developer advocate at VersionOne. I’ve spent a good chunk of time helping customers use VersionOne integrations, APIs, and SDKs.

This blog post is the first in a string of posts that will allow me to get into the mental zones of all of you VersionOne users, help you learn more about leveraging VersionOne’s APIs and SDKs, and learn from you so that we can improve our products. This feedback loop is vital to the successful adoption and expansion of our integrations because, ultimately, we want to create development tools and APIs that you actually want to use to make our platform more valuable for you and the way your team works.

In the past seven years, one of our observations was that not only do developers use the API, but also directors, managers, testers, systems administrators, project managers, support team members, and some not-necessarily- IT-professionals need to extract data for reporting purposes. Our goal is to expand the audience that we originally considered, rewrite the documentation, simplify integrations, redesign some of our SDKs, and focus on facilitating access to our platform for users that fall within a wider range of tech skills. This effort will also include robust working samples in multiple languages and new blog posts on interesting ideas and features.

In order to better serve you, I’m going to need your help. Periodically, we’ll announce contests, giveaways, and testing efforts. For example, the VersionOne Quarterly Cool Hack, case studies, new API or Feature Beta Testing, and documentation ‘user’ testing. Our hope is that you’re an integral part of the evolution of VersionOne APIs and SDKs. I want you to be an active participant in one or more of these events. Your level of technical expertise is far less important than your willingness to be a part of contributing any idea or effort that could help me help you be more productive.

Feel free to leave suggestions and comments.

Posted in AgilePoweredByPeople | Leave a comment

Tapster – Part 1: What and Why


Tapster | Mind your Beer!

Hello, my name is Mickey Rogers and I’m a developer at VersionOne. I am writing this multi-part blog to explain Tapster, our new beer monitoring application, built in-house as a Hackweek project, conceived from an empathy mapping training session for our mythical character Bob (the beer drinker). Part 1 will focus on what Tapster is and why we developed it. For efficiency, I’ll use links throughout the text to well-documented concepts and technology sites.
Continue reading

Posted in Our Practices | Leave a comment