Welcome!

Java Authors: Liz McMillan, Pat Romanski, Trevor Parsons, Yeshim Deniz, Ivan Antsipau

Related Topics: Java, SOA & WOA, .NET, Open Source, AJAX & REA, Web 2.0

Java: Article

Continuous Integration, Continuous Deployment and Continuous Feedback

Developing products the smart way

Context
At Usersnap we spend a lot of time thinking about optimizing the developer workflow. With great tech startups helping us with our tests, and Continuous Integration, we want to add Continuous Feedback to the dev checklist. Fortunately we don't need to stress the importance of receiving feedback from clients, co-workers and users before, during and after your development process. Let's move on to the how.

The Build-Measure-Learn-Workflow
We have all read Eric Ries' The Lean Startup - or at least we say we did - and its call for agile product development and validated learning. Figuring out what to build (next), instead of spending months, sometimes years, perfecting a product without ever showing the product to the prospective customer, it's all about developing a minimum viable product (MVP) to begin the process of learning as quickly as possible. Lean is about putting a process, a methodology around the development of your product. Core component is the build-measure-learn feedback loop.

The Feedback Loop - Build, Measure, Learn

Say you're a startup about to launch a new product or improve on an existing product. After a period of competitor research, as well as market research, you're ready for an (informed!) brainstorm on what problem you're trying to solve, for whom and how.

After collecting the ideas of your team, you (together) pick the one with most potential, or filter until you've constructed a clear strategy combining elements of the best ideas. Make sure you're not building everything for everyone, it's called minimum viable product for a reason. No feature freaking!

Next you'll build your MVP. Here, done is better than perfect. Don't forget we're building a prototype, to test if the product resonates with our users and / or potential customers. To test if development and communication are still on the same page, we recommend regular feedback rounds. Both development and marketing/communication should keep in mind that they should not add extra features in this stage.

Once development is done and copy is in place, it's time to open up your product or feature to the world. Measuring engagement, interaction, retention and possibly even mentions on social media, you collect data to test your initial hypothesis. Do people really need your product / this feature? Would they pay for it? Do they use it in the way you had expected?

Collect all the data you can get your hands on and make sure to share it with your team. Together you minimize the chance of coming to biased conclusions. With the data fresh in mind, you can then improve on your ideas (or skip a certain feature as a whole, if it doesn't look like it's ever going to pay off) and enter the feedback loop for a second time. And a third time. And... Making small iterations at a speedy pace.

Release new features in small iterations

Usersnap has a constant reminder of how they should publish small iterations, on their white board

Continuous Deployment
Continuous Deployment
allows you to speed up this process even more, as you'll collect real user data. At Usersnap, we're no big fans of test panels. We believe that after you've done 3 user experience tests, you're basically a UX expert and you don't have this fresh outlook on an application anymore. Many startups copy best practice sign-up funnels and your tester will recognize these. You'll not get qualitative feedback from actual users struggling with the sign up form and you will definitely ask yourself why - once your site is online - the bounce rate on the register page is so high.

Worse even, the tester might not even be interested in the product, and therefor engage in a completely different way than a potential customer would.

Continuous Feedback
For every step of this build-measure-learn cycle, you need feedback. Both from your customers or users - ever thought about inviting them to your office and look over their shoulder while they use your product? - and from your team members, especially when you're a distributed company and it's hard to plan pairing sessions due to different timezones.

Don't ever economize on feedback and user input. Remember: this is where ‘the corporations' fail, building stuff that people don't need. Rather: select, build, measure, improve, and keep the pace!

Continuous everything
Ever too often companies build products without researching the field they're entering, or if there's a need for their tool or service. Only to then go on and release it, without ever testing the use case. Without proper understanding of who your prospective customer is and what he wants, how are you ever going to build a sustainable business?

Following the build-measure-learn feedback loop, as described in The Lean Startup, and making feedback a crucial part of your workflow, you'll be able to move forward fast, building great products for great customers.

Happy developing!


This is a guest blog post by Floor Drees about Product Management and Product Development. Let us know in the comments if this is content you enjoy reading. If so, we will provide more articles about it in the future!

Floor is Head of Communication at Usersnap.com. Usersnap is "reinventing the way team members, visitors and clients give feedback, enabling you to see what your customers see. Comprehensible feedback and visualized customer request make endless email-loops a thing of the past. Start getting actionable feedback today!"

Continuous Integration, Continuous Deployment, Continuous Feedback

More Stories By Manuel Weiss

I am the cofounder of Codeship – a hosted Continuous Integration and Deployment platform for web applications. On the Codeship blog we love to write about Software Testing, Continuos Integration and Deployment. Also check out our weekly screencast series 'Testing Tuesday'!