<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by FreeAgent on Medium]]></title>
        <description><![CDATA[Stories by FreeAgent on Medium]]></description>
        <link>https://medium.com/@freeagent?source=rss-32393fef0afb------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*25-1PasGOLVMzeqp6HRLNg.png</url>
            <title>Stories by FreeAgent on Medium</title>
            <link>https://medium.com/@freeagent?source=rss-32393fef0afb------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Thu, 28 May 2026 04:54:54 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@freeagent/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[From company strategy to team impact: how we build strategy at FreeAgent]]></title>
            <link>https://freeagent.medium.com/from-company-strategy-to-team-impact-how-we-build-strategy-at-freeagent-a07a2216f26d?source=rss-32393fef0afb------2</link>
            <guid isPermaLink="false">https://medium.com/p/a07a2216f26d</guid>
            <category><![CDATA[alignment]]></category>
            <category><![CDATA[good-strategy]]></category>
            <category><![CDATA[strategy]]></category>
            <category><![CDATA[autonomy]]></category>
            <category><![CDATA[empowerment]]></category>
            <dc:creator><![CDATA[FreeAgent]]></dc:creator>
            <pubDate>Tue, 16 Dec 2025 11:25:42 GMT</pubDate>
            <atom:updated>2025-12-16T11:25:42.621Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/727/1*EBB26U1PAABksIhx2SrINQ.png" /></figure><p>Strategy can be an overused word. Too often it becomes shorthand for long documents, ambitious roadmaps, or lists of initiatives that sound impressive but lack real focus.</p><p>At FreeAgent, we take a different approach.</p><p>Our strategy is designed to be clear, coherent, and actionable from company level, through departments, and right down to individual teams. To do this, we use the framework from Richard Rumelt’s <em>Good Strategy/Bad Strategy</em>, which gives us a shared language for what <em>good strategy</em> actually looks like.</p><p>As we close out the year having completed our team strategy reviews, it’s been genuinely inspiring to see just how aligned and focused each team is on the impact they want to make and how clearly that impact connects back to our overarching company strategy.</p><p>This post explains how we do it.</p><h3>What good strategy really is</h3><p>One of Rumelt’s most important insights is that strategy is not a vision, a goal, or a plan.</p><p>Good strategy has a clear foundation, made up of three essential components:</p><ol><li>Diagnosis — a clear, honest understanding of the challenge we are facing.</li><li>Guiding Policy — the approach we choose to address that challenge.</li><li>Coherent Actions — a coordinated set of actions that bring the policy to life.</li></ol><p>We use this framework as a quick gut check. If it doesn’t fit the three parts, or the story doesn’t quite add up, then it’s not really strategy.</p><p>This shared understanding allows us to move away from vague aspirations and towards deliberate, focused choices.</p><h3>Company strategy: setting direction with clarity</h3><p>At company level, strategy begins with a shared diagnosis of our environment:</p><ul><li>What’s changing in the market?</li><li>Where are customers struggling most?</li><li>What opportunities and constraints do we face as a business?</li></ul><p>From this diagnosis, leadership defines a small number of guiding policies as the strategic choices that focus the organisation. These policies are intentionally opinionated. They clarify where we will invest, what we will prioritise, and just as importantly, what we will <em>not</em> do.</p><p>Only then do we define coherent actions, the outcomes and initiatives that move the business forward in a joined up way.</p><p>This company strategy becomes the anchor point for every department and team.</p><h3>Department strategy: translating direction into focus</h3><p>Each department then creates its strategy by asking a critical question:</p><p>“Given the company’s strategy, what is the most important challenge we must solve to contribute meaningfully to it?”</p><p>Departments don’t restate the company strategy. Instead, they interpret it through their own lens, creating:</p><ul><li>a department-specific diagnosis</li><li>a clear guiding policy that explains how they will support the company direction</li><li>a small number of coherent actions that teams can align behind</li></ul><p>This ensures departments aren’t operating in silos or running parallel strategies. Instead, each department plays a clearly defined role in delivering the overall company strategy.</p><h3>Strategy as an enabler of empowered, purpose-driven teams</h3><p>One of the reasons we use Rumelt’s framework so deliberately is that it doesn’t just create alignment, it enables empowerment.</p><p>Clear strategy creates <em>freedom</em>, not constraint.</p><p>By being explicit about the diagnosis and guiding policy at company and department level, we give teams clarity on:</p><ul><li>the problem that really matters</li><li>why it matters now</li><li>the strategic choices that have already been made</li></ul><p>This clarity allows teams to focus their energy on <em>how best to create impact</em>, rather than second guessing direction or optimising for local priorities that don’t move the business forward.</p><p>Teams are not handed a fixed list of solutions. Instead, they are trusted to:</p><ul><li>define the most meaningful challenge within their remit</li><li>make informed trade-offs</li><li>choose the right actions to deliver outcomes</li></ul><p>This is what we mean by purpose-driven teams. Teams don’t just know <em>what</em> they’re working on, they understand <em>why</em> their work exists and how it contributes to FreeAgent’s wider mission. Each team will demonstrate this by answering five questions as they build their strategy card.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/748/1*2pVgAkqBAORA7eF9YAaa1A.png" /></figure><h3>Team strategy: turning strategy into real impact</h3><p>Team strategy is where strategy becomes tangible.</p><p>Each team creates its strategy by clearly connecting three things:</p><ol><li>The company strategy.</li><li>The department strategy.</li><li>The specific impact the team exists to make.</li></ol><p>Teams define their own diagnosis, identifying the most important problem they need to solve and articulating a guiding policy that explains how they will approach it. Their coherent actions then become the outcomes, bets, and priorities that guide their work.</p><p>This approach gives teams:</p><ul><li>clear ownership of impact</li><li>autonomy in how they deliver</li><li>confidence that their work matters beyond their immediate backlog</li></ul><h3>Autonomy with alignment</h3><p>Empowerment without alignment leads to fragmentation. Alignment without empowerment leads to disengagement.</p><p>Using a shared strategic framework allows us to balance both.</p><p>Because every team strategy clearly connects back to the company diagnosis and guiding policies, teams have autonomy within clear boundaries. They can adapt, experiment and respond to learning, while staying aligned to the broader direction of travel.</p><p>The result is teams that are more engaged, more accountable and more confident in the impact they’re driving.</p><h3>Reflecting on our team strategy reviews</h3><p>As we close the year, we’ve completed our team strategy reviews — and the results have been genuinely energising.</p><p>Across FreeAgent, teams are:</p><ul><li>sharply focused on the problems that matter most</li><li>clear on how their work contributes to company goals</li><li>making deliberate trade-offs rather than trying to do everything</li><li>using a shared strategic language that enables better conversations</li></ul><p>The alignment we’re seeing isn’t accidental. It’s the result of consistently applying a clear framework and giving teams the space and trust to think strategically and not just execute.</p><h3>Why alignment matters</h3><p>Alignment isn’t about control. It’s about coherence.</p><p>When company, department, and team strategies are aligned:</p><ul><li>decisions are faster and more confident</li><li>trade-offs are easier to make</li><li>teams understand <em>why</em> their work matters</li><li>the organisation moves forward together, not in fragments</li></ul><p>Good strategy doesn’t eliminate complexity but it gives people clarity within it.</p><p>As we head into the next year, this alignment gives us confidence that FreeAgent is not just busy, but purposefully focused on delivering meaningful impact for our customers and the business.</p><p><em>Inspired by Richard Rumelt’s Good Strategy/Bad Strategy and brought to life by the incredible teams at FreeAgent — Angela Fleming, VP Product</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/376/1*9RZsi0wM3MZw33t-LZtNlw.png" /></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a07a2216f26d" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[My Finn-ternship at FreeAgent]]></title>
            <link>https://freeagent.medium.com/my-finn-ternship-at-freeagent-2b90c25d4441?source=rss-32393fef0afb------2</link>
            <guid isPermaLink="false">https://medium.com/p/2b90c25d4441</guid>
            <category><![CDATA[design]]></category>
            <category><![CDATA[branding]]></category>
            <category><![CDATA[creativity]]></category>
            <category><![CDATA[internships]]></category>
            <category><![CDATA[graphic-design]]></category>
            <dc:creator><![CDATA[FreeAgent]]></dc:creator>
            <pubDate>Mon, 25 Aug 2025 08:12:32 GMT</pubDate>
            <atom:updated>2025-08-25T08:12:32.278Z</atom:updated>
            <content:encoded><![CDATA[<p>I spent a few months as a communications design intern at FreeAgent — and instead of just watching from the sidelines, I actually got to do things. Proper things. Like branding internal teams, developing campaign ideas, and turning HMRC reporting into something a little more… fun.</p><figure><img alt="Seven members of the FreeAgent Design team, including Finn McEwan, the author of this piece, pose within a large illustrated picture frame created for FreeAgent’s LearnFest." src="https://cdn-images-1.medium.com/max/1024/0*a2FmYWHOIuY3uguS" /><figcaption>Finn McEwan (third from right) with members of the FreeAgent Design team.</figcaption></figure><p><strong>Wings and things<br></strong>FreeAgent has three internal teams that employees can join. Fungineers live the company value of “enjoy it”, FreeAngels volunteer and help others by leading charity initiatives and organising volunteering opportunities, and GreenAngels make the world greener. They each had a logo — but that was in years-old FreeAgent branding and didn’t really reflect the teams.</p><p>I got to work on exploring options to refresh these identities — the kind of project where you’re balancing brand consistency with letting different teams express their own personality.</p><p>The brief was to refresh some long-standing internal team identities and bring them more in line with the external brand. After a lot of design concepts (and I mean A LOT), I discovered something: if you take the FreeAgent wing, rotate and mirror it, you can create some genuinely interesting shapes.</p><p>From there, the icons practically designed themselves. Working within FreeAgent’s existing colour palette meant looking at which colours worked best with each concept rather than starting from scratch.</p><p>I brought a few colour options to a crit (a group feedback session where designers review and discuss work), where I got to walk the Design team through my thinking. Hearing their perspectives not only helped me sense-check my design decisions, but also gave me a better understanding of how people respond to colour emotionally. In the end, we landed on the right direction — and I got a better sense of how to balance instinct with input.</p><p>Then came the fun part: rolling it out. Stickers, presentation templates and some foolproof brand guidelines that even the most design-averse team member could follow.</p><p><strong>Campaign time<br></strong>I’d never really worked on campaigns before. Most of my experience has been with branding and design itself. There are a lot of crossovers, but also a lot to learn.</p><p>I joined early concept sessions to help shape ideas that were smart, funny, and flexible enough to stretch across different formats. We explored tone, came up with headlines, and stress-tested them to see if they really said what we meant. There were whiteboards. There were slides. Some ideas got a bit ridiculous.</p><p>The real challenge wasn’t generating ideas — it was making sure those ideas worked hard, without working too hard. Simple enough to read in a second. Strong enough to carry a message. And not too clever for their own good.</p><p>Each concept had merit, each could work. But picking which direction to go in wasn’t down to me — and that’s just how the process works. My job was to help shape the options, not make the final call.</p><p><strong>To HMRC with love<br></strong>I’ll be the first to admit that I am not much of an illustrator. I can convey a concept, but that’s about it. So when I got a brief through to create an illustration, I panicked. Fortunately, my task was to come up with the concept and then brief a freelance illustrator. Phew.</p><p>The illustration was for a guide titled “What do I have to report and pay to HMRC and when?” We wanted the audience to feel confident in understanding the timeline around payroll — therefore trusting FreeAgent to break down barriers for them and make payroll easier.</p><p>The process of prepping for HMRC is pretty complicated (shocker), there are things you have to do monthly, others that you do yearly. But our customers don’t have to worry so much about that, as the software handles the bulk of the stress.</p><p>My first concept was elaborate: a conveyor belt system where the customer inputs data and various machines automatically process everything along the way. Smart metaphor, clear process, totally overcomplicated.</p><figure><img alt="A sketch on lined paper of a conveyter belt and items being handled by a series of robots." src="https://cdn-images-1.medium.com/proxy/0*ZxYzRiv-fET7sJCJ" /><figcaption>Concept one — totally overcomplicated.</figcaption></figure><p>Round two: one machine instead of five. Customer inputs data, everything comes out ready. Still too complex.</p><figure><img alt="A sketch on lined paper of a stick man operating a machine labelled ’HMRC-approved’." src="https://cdn-images-1.medium.com/max/1024/0*fixIqvtnYT3-eGYA" /><figcaption>Concept two — still a little too complicated.</figcaption></figure><p>Back to the brief. I ran through rapid concept generation — designers call it “crazy eights”, sketching eight ideas in eight minutes to push past the obvious ones, though mine turned into “anxious twenty-fours” — until I hit the right idea: a beautifully wrapped present with a bow and a gift tag reading “To HMRC with love.”</p><p>Simple. Funny. Very FreeAgent.</p><figure><img alt="Two sketches of a gift-wrapped parcel. The first, on the left, is more basic. The second on the right is coloured, has more detail and has a tag saying ‘To HMRC with love’." src="https://cdn-images-1.medium.com/max/1024/1*gAHg-G50lGjXPVGsGcJEZg.png" /></figure><p>The team loved the concept. Nailed it!</p><p>I sketched it out, wrote a brief for the illustrator, and after a few rounds of revisions, we had our hero image. A cheeky, lighthearted way to show just how easy HMRC submissions could be with FreeAgent, which fits the <a href="https://www.freeagent.com/guides/small-business/payroll-what-to-report-hmrc/">guide</a> perfectly.</p><p><strong>Top 5 things I learned:</strong></p><ol><li>Sometimes the best solutions hide in plain sight.</li><li>Good campaigns start with a real problem, not a creative brief.</li><li>When in doubt, make stickers — people love stickers.</li><li>The most obvious joke might be the best one.</li><li>You might not get it right the first time (or second), but you will get there.</li></ol><p><strong>Reflection<br></strong>Before this internship, most of my design work lived in uni projects or agency work. So jumping into an in-house team for the first time was a bit of a learning curve. I’ve learned how to get to the point quicker, how to simplify my ideas, and discovered that your first idea is rarely your best — and that’s a good thing.</p><p><em>Finn McEwan is a design intern at </em><a href="https://www.freeagent.com/"><em>FreeAgent</em></a><em>, the UK online accounting software for small business owners and their accountants and bookkeepers.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2b90c25d4441" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[From assumption to insight: our beta testing playbook at FreeAgent]]></title>
            <link>https://freeagent.medium.com/from-assumption-to-insight-our-beta-testing-playbook-at-freeagent-9c69cd7def52?source=rss-32393fef0afb------2</link>
            <guid isPermaLink="false">https://medium.com/p/9c69cd7def52</guid>
            <category><![CDATA[beta-testing]]></category>
            <category><![CDATA[user-research]]></category>
            <category><![CDATA[management-report]]></category>
            <category><![CDATA[product-management]]></category>
            <category><![CDATA[saas]]></category>
            <dc:creator><![CDATA[FreeAgent]]></dc:creator>
            <pubDate>Fri, 27 Jun 2025 13:41:45 GMT</pubDate>
            <atom:updated>2025-08-13T14:24:09.174Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="An illustration of a jigsaw puzzle with four pieces — each piece has a symbol relating to finance." src="https://cdn-images-1.medium.com/max/1024/1*gauFECdD5vXM6TEHDnH1eg.png" /></figure><p>At FreeAgent, beta testing is more than a final checklist item. It’s a way of building <em>with</em> our customers, not just <em>for</em> them.</p><p>As a product manager working on features for accountancy practices, I’ve seen how powerful a well-run beta can be. It’s not just about spotting bugs or measuring performance. It’s about learning whether what we’ve built actually works in context; in the messy, real-world workflows of accountants doing their jobs.</p><p>In this blog, I’ll walk through how we run beta tests at FreeAgent, using the launch of our new Management Reports feature as a case study. Whether you’re in product, design, engineering, or accountancy, we hope this case study will demonstrate to you how we use early releases to shape stronger launches.</p><h3>Why we run betas</h3><p>No amount of internal testing can fully replicate what happens when real users interact with a new feature.</p><p>People use software in ways you don’t expect. They overlook the things you thought were obvious and focus on things you didn’t prioritise. Beta testing gives us a crucial opportunity to observe this; to catch gaps, understand friction points, and confirm whether the problem we set out to solve is actually being solved.</p><p>Beta tests aren’t just about validation; they’re about <em>adaptation</em>. Done well, they shape what we release, when we release it, and how we improve it afterward.</p><h3>Our beta testing process at FreeAgent</h3><p>Beta testing at FreeAgent follows the same six-step process we use for any structured research. These steps ensure we’re clear on what we’re testing, why we’re testing it, and how we’ll use the feedback.</p><p>We also work closely with our dedicated user research team, who support the beta test with everything from planning and recruitment to feedback analysis.</p><h4>1. Define the problem</h4><p>Before we start a beta, we clearly articulate what we want to learn. In the case of Management Reports, we wanted to know whether the Minimum Viable Product (MVP) we’d built met the core needs of accountants preparing client reports, as well as what was missing.</p><p>We also set outcome-oriented goals. For example, we aimed for at least 70% of testers to say they could see themselves using the new functionality in their regular workflow.</p><h4>2. Select the approach</h4><p>Betas can be open or closed, public or private. We usually run closed betas for new product features, especially when we’re seeking focused feedback from a particular user group.</p><p>For Management Reports, we invited a small number of accountancy practices that varied in size, structure, and use of client reporting tools. This gave us a rich mix of perspectives without overwhelming our team.</p><p>We also timed the beta to coincide with a period where year-end or quarterly reviews would naturally occur, ensuring the feature was tested in real workflows.</p><h4>3. Prepare thoroughly</h4><p>Good betas start long before the first participant gets their hands on the feature. We spent time getting clear on:</p><ul><li>What functionality was in scope for the MVP</li><li>How we would onboard participants</li><li>What research questions we needed to answer</li><li>What feedback methods we would use</li></ul><p>We created an onboarding guide, FAQs and a feedback survey. Internally, we made sure that Support, Sales, and Engineering teams knew who was in the beta, what was being tested, and how to help if issues arose.</p><h4>4. Collect feedback from multiple sources</h4><p>During the beta, we collected both <strong>quantitative</strong> and <strong>qualitative</strong> feedback.</p><p>For Management Reports, this included:</p><ul><li>A structured survey with a <a href="https://www.scribbr.co.uk/research-methods/likert-scales/">Likert scale</a> and open-ended questions</li><li>In-product usage tracking</li><li>One-to-one exit interviews with participants after release</li></ul><p>This mix helped us validate usability, capture first impressions, and explore what participants valued or found frustrating. For example, we discovered that while many practices liked the overall direction of the feature, they had different expectations about how certain elements (like notes or exports) should work in context.</p><h4>5. Analyse and prioritise</h4><p>We then worked with the User Research team to analyse what we’d heard and seen. We looked for recurring themes, strong opinions, usability blockers, and unexpected behaviours.</p><p>In the case of Management Reports, feedback helped us:</p><ul><li>Prioritise features like a spreadsheet export and per-report Notes</li><li>Identify usability issues with the current Notes placement</li><li>Understand different views on visualisation tools</li><li>Spot gaps in the way we framed the MVP’s limitations</li></ul><p>Rather than treating the feedback as a long wishlist, we aligned it with our roadmap and objectives, then focused on what would add the most value in the short and medium term.</p><h4>6. Share findings and close the loop</h4><p>Beta testing is a team sport. Once the data is in, we make sure to share key insights across product, design, engineering, and customer-facing teams. This keeps everyone aligned and builds a shared understanding of user needs.</p><p>We also follow up with participants to thank them, let them know what we’ve acted on, and continue the conversation. For us, a beta is often the beginning of an ongoing feedback loop and not a one-time event. Building this kind of relationship helps us stay closely attuned to evolving customer needs and often turns early testers into long-term champions of the product.</p><h3>A few lessons from the Management Reports beta</h3><p>Although every beta is different, here are a few takeaways we’ll carry forward:</p><p><strong>Framing matters.</strong> A couple of participants described the MVP as basic; not because it didn’t meet their needs, but because it didn’t do everything they’d hoped it might. It was a reminder that even in a closed beta, we need to set expectations clearly. If development will continue post-launch, we need to say that explicitly.</p><p><strong>Small samples can deliver big insight.</strong> Our beta group for Management Reports was fewer than a dozen practices, but their feedback helped shape the next six to 12 months of development. You don’t always need large numbers to find clear patterns.</p><p><strong>Feedback is only useful if you act on it.</strong> Running a beta creates an implicit promise: that you’re listening. We made sure to follow through by prioritising the most common requests and improving weaker areas of the MVP quickly after launch.</p><h3>Final thoughts</h3><p>Running a beta test takes time. It requires cross-team coordination, thoughtful planning, and willingness to hear things you might not like. But for us, the return is always worth the effort.</p><p>Betas help us validate product decisions, uncover unexpected friction, and build with real confidence. More importantly, they help us stay connected to the people we’re building for.</p><p>A beta test isn’t just a box to tick; it’s a vital stage in product development that helps ensure you’re building something meaningful, useful, and grounded in the realities of the people you’re building for.</p><p><em>Stu McEwan is a Staff Product Manager at </em><a href="https://www.freeagent.com/"><em>FreeAgent</em></a><em>, the UK online accounting software for small business owners and their accountants and bookkeepers.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9c69cd7def52" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Product Operations: why we shook things up and created it]]></title>
            <link>https://freeagent.medium.com/product-operations-why-we-shook-things-up-and-created-it-82958eda7047?source=rss-32393fef0afb------2</link>
            <guid isPermaLink="false">https://medium.com/p/82958eda7047</guid>
            <category><![CDATA[product-ops]]></category>
            <category><![CDATA[product-operation]]></category>
            <dc:creator><![CDATA[FreeAgent]]></dc:creator>
            <pubDate>Fri, 14 Mar 2025 16:11:11 GMT</pubDate>
            <atom:updated>2025-03-14T16:11:11.525Z</atom:updated>
            <content:encoded><![CDATA[<h4>The beginning of the Product Operations story at FreeAgent.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Fpj76npoqJ0jy9LX" /><figcaption>Image courtesy of <a href="https://www.freepik.com/free-vector/collab-concept-illustration_10791990.htm#fromView=search&amp;page=1&amp;position=46&amp;uuid=bb04e977-7d8f-44c8-a56d-04cc4cb53038">FreePik</a></figcaption></figure><h3>Firstly, what is Product Operations?</h3><p>The discipline of Product Operations is currently trending in Product Management, and is already adopted by companies like Google, Amazon, Uber and Open AI.</p><p>But what is Product Operations?<a href="https://medium.com/u/d5387b79efe8"> Melissa Perri</a> and Denise Tilles (who became the unofficial Queens of Product Ops after publishing the first<a href="https://www.amazon.co.uk/Product-Operations-successful-companies-products/dp/B0CK3HL4WF/ref=sr_1_1?adgrpid=152425983254&amp;dib=eyJ2IjoiMSJ9.zRyLjesZS1unMmqMApRAUEh4G8oxMdMxSZrG5sbL20fWkKck5sxVpN-qsqZnPhotLaEUs-loiE19TEH59DVLmtVzeMvmFfIF22uYkopoauY.Mk5wKncw9rxy8oiWYabQdkMlwcCe0VFxK28jW20LNl8&amp;dib_tag=se&amp;hvadid=674630248291&amp;hvdev=c&amp;hvlocphy=9046944&amp;hvnetw=g&amp;hvqmt=e&amp;hvrand=228817243657632807&amp;hvtargid=kwd-2091125426824&amp;hydadcr=24833_2248298&amp;keywords=product+operations+melissa+perri&amp;nsdOptOutParam=true&amp;qid=1732353317&amp;sr=8-1"> book</a> on the topic) describe it as follows:</p><p><strong><em>“Product Operations surrounds the team with all essential inputs to set strategy, prioritise and streamline ways of working.”</em></strong></p><p>In short, Product Ops aims to be a force multiplier for Product Managers. We focus on improving data-driven decision making and enhancing ways of working to <strong>help Product Managers ship more of what our customers love.</strong></p><p>In other words, Product Ops is to Product Managers what DevOps is to Software Engineers. More on what we do shortly, but before that…</p><h3>Why did we create a Product Ops team at FreeAgent?</h3><p>FreeAgent already had a strong Product Management function made up of world-class Product Managers regularly shipping great product. But as with most teams, <strong>we have many more ideas than we have capacity to build</strong>. This means, to create the best product possible, we need to be extremely efficient when deciding what to build, and extremely efficient when building it.</p><p>Just before we created the Product Ops team at FreeAgent, we had four Business Analysts who were supporting our eight Product Managers in getting product to market. They would rotate round Product Managers as and when needed. Over time however, the Business Analysts had started acting as extra capacity for Product Managers; they would do bits of work the Product Managers didn’t have time to do; such as writing up requirements and specifications.</p><p>This was hugely valuable work, but one day our VP Product, Angela Fleming, took a step back and asked this key question:</p><p><strong><em>“Instead of providing individual Product Managers with overflow capacity on an ad hoc basis, why don’t we focus more on </em>the systems and ways of working <em>that could save all Product Managers time?”</em></strong></p><p>When assessing it, we found there were many things that could be made more efficient to free up Product Manager time including reducing the time taken to:</p><ul><li>access and draw insights from data (for roadmap decision-making)</li><li>report outwards and upwards about roadmaps and results</li><li>prioritise backlogs</li><li>generate innovative new ideas</li></ul><p>By improving underlying systems, tools and ways of working, <strong>we could help <em>all</em> the PMs ship more product, at scale, and on an ongoing basis.</strong></p><p>The plan was that we would redirect Product Manager capacity from doing everything Product Manager-related:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*vQ5wN5gQeDxfByOz" /><figcaption>Before — when Product Managers were doing everything. (Image created by author).</figcaption></figure><p>To a world <strong>where Product Managers focused on what they do best (</strong>deciding what to build, getting it built and evaluating whether it worked) and Product Ops help them do more of it.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*RgMAiTFhuUBcP5jY" /><figcaption>After — where Product Managers focus on shipping great product, and Product Ops support. (Image created by author).</figcaption></figure><p>So, our VP Product made the call and we changed from this structure:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*uushAD_f2i21mvT0" /><figcaption>Our original structure. (Image created by author)</figcaption></figure><p>To this new structure, where we had a dedicated Product Ops team supporting Product Management and Product Leadership:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ovVpJ1io2kupU2Cp" /><figcaption>Our new structure; with a Product Ops Team. (Image created by author)</figcaption></figure><h3>What we’re trying to achieve</h3><p>At FreeAgent, the Product Ops Team mission is to:</p><p><strong><em>Enable the Product function to make good decisions and deliver what our customers want at pace</em></strong></p><p>What does this mean?</p><p>It means we aim to add value in the following two ways:</p><ol><li><strong>Helping Product teams quickly find the biggest opportunities by surrounding them with essential data for decision making</strong></li></ol><p>In FreeAgent we have many sources of raw and processed data from online analytics to support feedback, to user research (see image below). Product Ops aims to take this data and <strong>increase its usability and meaning</strong>, as well as <strong>analysing the data to increase the opportunity space</strong> (i.e. find new ideas).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*R5KHn-TV0Vx7JaM6" /><figcaption>Helping product teams find the biggest opportunities. (Image created by FreeAgent)</figcaption></figure><p>For example, we currently have several Product teams working on our Payments offering. The teams often pull from different data sources for the reporting (depending on what part of the product they are working on). <strong>How can we make sure all those data sources are aligned and accurate, such that all teams are telling a consistent story to the business?</strong></p><p>As another example, the world is rapidly changing as a result of generative AI. <strong>How can we use the latest AI technology developments </strong>to help our customers achieve their jobs to be done? Product Ops would do market analysis here and make recommendations to PMs.</p><p>2.<strong> Improving the Product Operating model</strong></p><p>The second way Product Ops adds value at FreeAgent is by <strong>reducing friction across planning, reporting and the product life cycle</strong>, so Product teams can move quickly in delivering product our customers love.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*-GoE-aTP-E0WkuON" /><figcaption>Streamlining ways of working. (Image created by FreeAgent)</figcaption></figure><p>For example, there can be duplication between reports that Product Managers create for different stakeholders. <strong>How could we streamline reporting so Product Managers save time by creating a report only once, but with automated, differing levels of fidelity for different stakeholders?</strong></p><p>We try to help other departments too, like Marketing and Sales. <strong>How can we make sure those departments are constantly aware of product releases and plans, so they can talk to customers about them?</strong></p><p>Another example is that it currently takes Product Managers several hours to pull together the monthly KPI report for their team. <strong>How could we automate this so it takes minutes instead of hours?</strong></p><h3>What’s next for Product Operations at FreeAgent?</h3><p>It’s still early days but there is a huge opportunity for us to help our Product Managers at FreeAgent. Watch this space for more updates and case studies as our Product Operations team gets down to business!</p><p>Last but not least, a shout out to the FreeAgent Product Operations Analysts actually doing all this work; Jack Easton, Kirsten Zammit, Oluchi Abazie and Hammed Akinyemi.</p><p>Thanks for reading, I hope you found it useful.</p><p><em>Lucy Pitticas-Rothwell is Head of Product Operations at </em><a href="https://www.freeagent.com/"><em>FreeAgent</em></a><em>, the UK online accounting software for small business owners and their accountants and bookkeepers.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=82958eda7047" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SQL the sequel: how I made my coding comeback]]></title>
            <link>https://freeagent.medium.com/sql-the-sequel-how-i-made-my-coding-comeback-559857eae951?source=rss-32393fef0afb------2</link>
            <guid isPermaLink="false">https://medium.com/p/559857eae951</guid>
            <category><![CDATA[sql]]></category>
            <category><![CDATA[product]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[code-first-girls]]></category>
            <category><![CDATA[upskilling]]></category>
            <dc:creator><![CDATA[FreeAgent]]></dc:creator>
            <pubDate>Thu, 13 Feb 2025 11:34:09 GMT</pubDate>
            <atom:updated>2025-02-13T11:34:09.229Z</atom:updated>
            <content:encoded><![CDATA[<p>A long time ago, I studied Software Engineering at the University of Stirling; I’m talking the early 1990s to be exact. I fell into the course after getting better grades in computing science than I was getting in my psychology and sociology classes. It felt like the ‘right thing to do’ as there was definitely more chance of getting a job in computing, than in psychology or sociology.</p><p>The ‘World Wide Web’ had just been invented. I got my first ever email address in first year. We used a way of connecting devices called ‘telnet’ to speak to students in other universities. It was an exciting time. But, I just felt like I didn’t quite fit in.</p><p>When I graduated, I got an IT graduate position working in London. As an IT graduate, we worked in lots of different areas of the business. Working in support was my first love. Helping people to get things working on their computers gave me a bit of a thrill. At the end of the graduate program, I was promoted to lead the email team at the age of 26.</p><p>Throughout my time at this job, I never really needed to do any coding. So, my coding skills disappeared pretty quickly.</p><p>Very long story short, I ended up going to Australia on a one-year working visa and retrained as an accountant. After 15 years, I moved back to Scotland, with my husband and two small kids in tow. I’d always hankered after working back in tech in some form or another. <a href="https://www.freeagent.com/">FreeAgent</a> accounting software, which is based in Edinburgh, sounded like the perfect fit. I gained a position in the support team and loved helping people to use FreeAgent to look after their business’s finances and taxes. Yet I always yearned to work more on the IT side of the firm. A position as a business analyst fitted the bill. Still working in FreeAgent, but working on longer-term projects and building new features with a team of great people.</p><p>Again, I felt like I wanted to do more technical work, but my skills were so outdated. It felt like an impossible task. Some external companies ran coding courses, but they were all huge commitments, both in time and money.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/878/1*SvkOCVvJf-OUWwcnFjE6qg.png" /><figcaption>Kirsten Zammit, a Senior Product Analyst at FreeAgent</figcaption></figure><h4>Code First Girls</h4><p>Then along came <a href="https://codefirstgirls.com/">Code First Girls</a>. An organisation that runs courses to get women and non-binary people into tech as well as help IT professionals to gain new skills and improve their chances of promotion.</p><p>They run a range of courses, from four-week <a href="https://codefirstgirls.com/courses/moocs/?utm_source=google&amp;utm_medium=cpc&amp;utm_campaign=20444759000:&amp;utm_term=%7Bkeywordid%7D:::&amp;utm_content=::x::c&amp;hsa_acc=4524824748&amp;hsa_cam=20444759000&amp;hsa_grp=&amp;hsa_mt=&amp;hsa_src=x&amp;hsa_ad=&amp;hsa_net=adwords&amp;hsa_kw=&amp;hsa_tgt=&amp;hsa_ver=3&amp;gad_source=1&amp;gclid=Cj0KCQjw0MexBhD3ARIsAEI3WHKYthikMpha9LJ5gQ70uQiQs3skCHkLhh296mNK3PItE6okj7NV_7waArtwEALw_wcB">MOOC</a>s (Massive Open Online Courses) and kick-starter night classes to degree-level courses. All are <strong>free</strong> due to businesses sponsoring the courses. This enables people who might not be able to afford this specialist training to upskill and move forward in their careers and helps ‘level the playing field’ in the IT industry.</p><p>Code First Girls are also ambassadors for helping employers to hire more women and non-binary people. Code First Girls have helped <em>“150,000 women learn to code and delivered over £75 million worth of free technology education — teaching three times as many women to code as the entire UK university undergraduate system!”</em></p><p>Code First Girls work with companies around the world to help their graduates find jobs. They have ambitious goals for the future, including providing one million opportunities for women in tech in the next five years and becoming the world’s first EdTech unicorn dedicated to women in tech.</p><h4>On course for a kickstart</h4><p>Due to work commitments, time with the kids (taxiing them to and from sports mainly!) and my voluntary work with the local basketball club, I don’t have a lot of spare time to be learning a new skill outside work hours.</p><p>However, the <a href="https://codefirstgirls.com/courses/coding-kickstarter/">Kickstarter</a> courses run by Code First Girls seemed to fit the bill. Two hours of tuition a week for eight weeks. It <em>felt</em> manageable, and it was. There was a bit of homework set each week and a project at the end of the course, and it took roughly four hours of my time on average per week.</p><p>To be eligible for these courses, you need to identify as a woman or non-binary and you need to be over 18 years of age, and that’s all. No experience needed.</p><p>The courses are run online, so starting at 6.30pm was doable even on days when I was in the office. The tutors were friendly and approachable and the course was set at a pace that I was able to keep up with. The course was delivered via a web video system, so we could follow along with examples and chat to other people in the class as well as the tutors. We had a course Slack channel for any queries or issues that we had and the tutors were prompt to reply. This meant that we didn’t feel alone, even though the course was 100% remote.</p><h4>Did this dog learn new tricks?</h4><p>As I worked as a business analyst at the time, the Data and SQL course appealed to me most and it felt like it would be useful in my day-to-day job.</p><p>On the course, we learned about how databases are set up, how to code in SQL, carry out data analysis, how to manipulate data and how to visualise that data using Tableau and Power BI.</p><p>The course did not include an exam. Instead, we had to create a project which brought everything we learned together. We had a couple of weeks to put this together and then we all presented our projects via slideshows and some brave souls even did live demonstrations.</p><p>My project involved creating a small database from scratch, adding data, producing an entity relationship diagram and showing that I could query the database using various commands via subqueries, creating views, stored functions and procedures. We were able to base the database on anything that interested us. Mine was (loosely) based on basketball.</p><p>Our work and presentations were reviewed by some representatives from <a href="https://www.discover.com/">Discover</a>, who sponsored the course. They provided us with feedback, which was really useful.</p><p>The class and the tutors were all very inclusive and it felt easy to ask questions and discuss issues without feeling like you were wasting everyone’s time. People came from all walks of life; some were starting out their careers, some were movers from other industries and some were just keen to learn something new. It was really refreshing and great to know that I can still learn new skills!</p><p>I’m now working as a Product Analyst within our newly formed Product Operations team here at FreeAgent. Since completing the SQL course, I’ve used my new skills helping colleagues with queries in Looker (our platform for data visualisation), as well as accessing and manipulating data to extract valuable insights that our Product Managers can use to inform their decision making.</p><p>I’d definitely recommend that you take a look if you fit the criteria and are interested in learning some new skills in a way that will fit around other commitments.</p><p>Find out more at <a href="https://codefirstgirls.com/">Code First Girls.</a></p><p><em>Kirsten Zammit is a Senior Product Analyst at </em><a href="http://www.freeagent.com"><em>FreeAgent</em></a><em> — the UK online accounting software for small business owners and their accountants and bookkeepers.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=559857eae951" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Balancing usability and accessibility: how we created our new combobox component]]></title>
            <link>https://freeagent.medium.com/balancing-usability-and-accessibility-how-we-created-our-new-combobox-component-7b75271518c9?source=rss-32393fef0afb------2</link>
            <guid isPermaLink="false">https://medium.com/p/7b75271518c9</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[design]]></category>
            <category><![CDATA[ui-design]]></category>
            <category><![CDATA[design-systems]]></category>
            <category><![CDATA[combobox]]></category>
            <dc:creator><![CDATA[FreeAgent]]></dc:creator>
            <pubDate>Wed, 02 Oct 2024 15:24:52 GMT</pubDate>
            <atom:updated>2025-02-11T14:23:59.718Z</atom:updated>
            <content:encoded><![CDATA[<p>Combobox components — user interface elements that combine a drop-down list and an input field — are everywhere nowadays. Expecting customers to remember every tiny detail or type search terms in their entirety is a thing of the past. But there is a common issue with combobox components — they tend to have a lot of accessibility and usability problems.</p><p>In the last year, we decided to create a combobox component for our product to aid customers with their larger datasets like names, invoices and bills. This component took several months to fully create because at FreeAgent we err on the side of caution when creating and implementing complex components. We always try to ensure an equitable experience for all of our customers, regardless of their accessibility needs, so we toiled over this component for a while before we were entirely happy with it.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/350/0*UtaodNrRnnEh2-3C" /><figcaption><em>FreeAgent’s combobox component</em></figcaption></figure><p>Over the years, before there was a design system team, FreeAgent created and implemented multiple combobox form fields to help customers through their journeys. The problem we found was that the combobox was never componentised, which meant teams were designing and building their own versions of a very similar thing. This inevitably caused inconsistencies in the FreeAgent product.</p><p>To understand the problem, we conducted an audit of all the areas where comboboxes had been implemented.</p><h3>Research and discovery</h3><p>We found there were 19 different instances of comboboxes to review and replace.</p><p>Some had separators:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*bRn68Gk0ya372cMC" /></figure><p>While others didn’t:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*zEGGsgG2LoEjguEO" /></figure><p>Some had a grey fill, while others didn’t:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*WDrdpBaCwpZtc6Hi" /></figure><p>Our design system and front-end architecture teams looked to consolidate all the combobox form fields in an effort to achieve two goals:</p><ul><li>provide one reusable combobox component that would provide a consistent experience for our customers, and</li><li>update and condense the JavaScript used, to make the codebase easier to maintain.</li></ul><p>The teams researched other examples of combobox fields to find the best solution for FreeAgent, ensuring it would be as accessible as possible.</p><p>Form guru and interaction designer Adam Silver created a <a href="https://adamsilver.io/blog/building-an-accessible-autocomplete-control/">step-by-step guide</a> suggesting how to build a best practice combobox component using an HTML &lt;select&gt; tag.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/886/0*zIvHLf99dnEv1HCa" /><figcaption><em>Adam Silver’s version of combobox</em></figcaption></figure><p>Whilst this felt like the most appropriate version of a combobox component, it didn’t fully meet our required purposes. Adam’s version relied on a &lt;select&gt; tag, which would only allow customers to select from a set list of items. For certain scenarios, we need to allow customers to add in their own inputs or select from a list of items. Large data sets would also cause performance issues when using a &lt;select&gt;.</p><p>After conducting the audit and research, it was clear we would need two versions of the combobox component. One version would only allow customers to make a selection from a predefined list, while the other would provide suggestions.</p><h3>Design and speccing</h3><p>When it came to designing the combobox form field, we wanted the default state of the field to look identical to our other input, select and text area fields so that we would have a consistent-looking set of form elements. We also wanted our customers to understand the field functioned in a similar fashion to the generic form field — either the customer could enter what they knew they were looking for or they would have to choose a single option from a list of items. This meant the styling of the different states of the field also aligned to their generic counterparts.</p><p>The more challenging part was creating the nested dropdown that would show when the customer interacted with the input. As highlighted in the audit, the different previous versions of the dropdowns had inconsistent styling and content.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2S-pwZoye22T00OwzpVx8Q.png" /><figcaption><em>Figma UI Kit combobox</em></figcaption></figure><p>By locking down the base styling of the dropdown but allowing customers to display data in different formats, we allow the component to be generic and reusable while providing a designer the flexibility to add a variety of data types. We can also maintain a level of consistency and familiarity for the customer.</p><p>Alongside visual consistency, we also placed a large focus on accessibility and providing consistency with the current controls of native form fields.</p><p>We added keyboard controls to the combobox that acted in a similar fashion to a native HTML &lt;select&gt; element. This allows customers to navigate options with their arrow keys; select options with spacebar, return or enter keys; hit escape to close the dropdown list; and hit the tab key to exit the component.</p><p>After a few feedback reviews with product designers and the design system team, we created a design spec. The design spec is the handoff we provide to our engineers before they build the coded component and contains the component anatomy, behaviours, interactions and general best practices. We start the speccing process by using the <a href="https://www.figma.com/community/plugin/1205622541257680763">EightShapes Spec</a> plugin for Figma and making relevant adjustments to add interaction and accessibility notes to the spec.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*STR6qGx8Tku_9DM1" /><figcaption><em>Anatomy section of the Combobox spec documentation</em></figcaption></figure><h3>Building the component in Figma</h3><p>After the design was finalised, we made it into a Figma component. To help with the admin around component designing and updating, we used our component contribution checklist.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/667/0*KcOkrQFTbWoQqPRE" /><figcaption><em>Component testing checklist</em></figcaption></figure><p>This checklist serves as general acceptance criteria for any new components or updates to existing components, to ensure the appropriate items have been completed before moving forward with a review. The guideline allows us to clearly communicate what is required and discuss any changes that may be needed.</p><p>When creating a specific component in Figma we aim to provide the same options between the coded and Figma versions. This helps provide consistency with the coded component library and the UI Kit and restricts the options of the Figma component so it provides the same options as its coded counterpart. We make them as similar as possible because we want to ensure there is no miscommunication between design and engineering.</p><p>In code, an API is used to provide the options that can be selected for a component. In Figma, we use properties and variants to produce the desired result. When using the Figma combobox component it will initially display eight properties and variants that will change the look and feel of the Figma component: Type, State, Label, Label Text, Required, Populated, Show Helper Text and Show List.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/240/0*lMkgY6r4iIcLaACV" /><figcaption><em>Variants and properties for the combobox in Figma</em></figcaption></figure><ul><li><strong>Type</strong> changes the input field to various form types: Select, Input or Text area.</li><li><strong>State</strong> applies the state that the field should be displayed in: Default, Hover, Disabled, Focus, Error.</li><li><strong>Label</strong> determines whether there is a label and its position: Top, Left, None.</li><li><strong>Label Text</strong> lets the customer change the label text.</li><li><strong>Required</strong> is a Boolean that displays an asterisk to indicate the field is mandatory.</li><li><strong>Populated</strong> enters text into the field.</li><li><strong>Show Helper Text</strong> adds additional text beneath the field.</li><li><strong>Show List</strong> displays the list of options that will be displayed when the customer types in the field.</li></ul><p>By modifying these properties, a designer can create any visual variant or state of the combobox for their designs or testing purposes. It also allows the engineer to recreate the design in code with minimal effort.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1023/0*ZzhNdxY0Lgb_qMA4" /><figcaption><em>States and styles of the combobox component in Figma</em></figcaption></figure><p>It’s worth noting that Figma is a prototyping tool, so we ended up providing options to aid designers like “Populated” and “Show List”. While these options are not in the API because they are either user-driven or automatically triggered by the component, they provide a more fluid experience for the product designers.</p><h3>Usage guidelines</h3><p>The main purpose of these guidelines is to help align both design and engineering’s understanding of why, when and how you would use a particular component. Providing this guidance ensures that the usage of a component remains consistent throughout the product, which is the goal we are trying to achieve within the FreeAgent design system team.</p><p>When the combobox was completed we provided a set of usage guidelines for our designers and engineers. These guidelines were split up into a number of categories to make it easier to digest.</p><ul><li><strong>Purpose: </strong>What does the component do and what problem does it address?</li><li><strong>Dos and Don’ts: </strong>What limitations are placed on how you should use the component?</li><li><strong>Variants: </strong>Are there versions of the component that can be used in different situations?</li><li><strong>Accessibility: </strong>How does this component work for customers with accessibility needs?</li></ul><p>Once these guidelines were created, they were reviewed by the entire design system team to ensure they are accurate and appropriate. When the entire team was happy with the guideline documentation it was marked as completed and added to our reference website. The guide was released alongside the combobox.</p><h3>Testing</h3><p>After the component was built we also wanted to test it thoroughly. The combobox was implemented into a solitary demo environment where we could view the component in isolation with placeholder data. This gave designers and engineers the ability to interact and test the components against all of the acceptance criteria provided in the documentation.</p><p>The coded component and the Figma UI kit component were also compared to one another. This is to ensure any options and variants available in the coded component are present in the Figma.</p><p>For the accessibility portion of testing, luckily the design system team had just attended the GOV.UK’s workshop on component testing which provided <a href="https://docs.google.com/spreadsheets/d/1O0rWoH3ah_rj2iJ2We9VfyHNOr0gOVItXRy3vKzuYSw/edit#gid=0">a checklist to test against</a>. This was very helpful because, while the design system team cares a lot about accessibility, we are not experts in this field. This document gave us a guideline to follow. The document contained a large criteria of browsers and accessibility tools, allowing us to ensure any component meets an acceptable standard.</p><p>Multiple designers and engineers tested the component, giving us the confidence to release this to the wider company.</p><h3>Release</h3><p>Once we had our Figma component, coded component, and documentation, we released it. We have since let our designers and engineers know that the combobox component is available, by announcing this news in some of our Slack channels, in our Figma release notes, and in different team ceremonies. We’ve also provided training to product designers on how to configure the component.</p><p>The combobox component has been implemented in several areas of the product and we are continuing to roll it out across the desktop version of FreeAgent. Replacing the old versions with our new and improved component will create the consistency, reusability and accessibility we are looking for from our design system at FreeAgent.</p><p><em>Suneil Rakhra is a Product Designer in the Design System team at </em><a href="https://www.freeagent.com/"><em>FreeAgent </em></a><em>— the UK online accounting software for small business owners and their accountants and bookkeepers.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7b75271518c9" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Good is the enemy of great: why we supercharged our capital asset and depreciation support]]></title>
            <link>https://freeagent.medium.com/good-is-the-enemy-of-great-why-we-supercharged-our-capital-asset-and-depreciation-support-d092a843d469?source=rss-32393fef0afb------2</link>
            <guid isPermaLink="false">https://medium.com/p/d092a843d469</guid>
            <category><![CDATA[accounting]]></category>
            <category><![CDATA[depreciation]]></category>
            <category><![CDATA[product-manage]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[bookkeeping]]></category>
            <dc:creator><![CDATA[FreeAgent]]></dc:creator>
            <pubDate>Thu, 23 May 2024 14:38:11 GMT</pubDate>
            <atom:updated>2024-05-23T14:38:11.657Z</atom:updated>
            <content:encoded><![CDATA[<p>“Good is the enemy of great.” The concept is that too many things (people, systems, organisations) accept that ‘good’ is good enough and that the hard work to be great is not needed.</p><p>The larger and more complex businesses and accountancy practices become, the more functionality they require within accounting software, and the more flexible and robust that functionality needs to be. That’s why we’ve taken something that’s great for some and good for others, and turned it into something great for everyone; our support for capital assets and depreciation.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*zroThcIEq8DHzOtR" /></figure><h3><strong>Gearing up for change</strong></h3><p>Capital assets for businesses come in all shapes and sizes - from cars and furniture to land or a business patent. Depreciation is the mechanism that’s used to spread the value of a capital asset over the years that it’ll be useful to the business. It reduces the value of the asset on the business’s balance sheet, because if you sold the asset later on, you wouldn’t be able to sell it for as much as you bought it for.</p><p>We’ve always been an excellent solution for micro-businesses and freelancers and the accountancy practices that work with them. Speak to these folks and they’ll tell you the reasons why we’re voted the <a href="https://www.freeagent.com/#:~:text=Voted%20the%20UK%27s%20%231%20bookkeeping%20software%20for%20small%20businesses">UK’s #1 bookkeeping software for small businesses</a>. FreeAgent is far more than only a micro-business solution however; we’re also great within the small business market, for larger accountancy practices, and those looking to grow. The latest updates to capital asset and depreciation are a testament to that.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*PAot-BD_a82tn1BV" /></figure><h3><strong>Shifting assets up another gear</strong></h3><p>Before March 2024, FreeAgent’s support of depreciation worked well for simple businesses but the functionality had limitations that created friction for the larger businesses and their accountants that wanted to handle things in their own way.</p><p>More specifically, the support meant:</p><ul><li>one depreciation method for assets: straight line depreciation</li><li>assets could only be depreciated on a once-per-year basis</li><li>each asset had to have a useful life between two years and seven years</li></ul><p>For each asset that didn’t meet the requirements of the three bullet points above, manual journal entries were required to adjust the asset’s value through depreciation. his was time consuming and confusing across multiple assets, and for practices across multiple clients.</p><p>The new live functionality enables the following value:</p><p><em>For individual assets:</em></p><ul><li>The reducing balance method of depreciation</li><li>Assets that don’t depreciate at all (such as land and investments)</li><li>Assets depreciating every month</li><li>Asset lifetimes of up to 25 years when depreciating using the straight line method</li><li>A running balance showing the value of the asset at any point</li></ul><p><em>Across all assets:</em></p><ul><li>A notably more detailed capital asset report that captures all the new functionality as well as elements like purchase price</li><li>The ability to export the capital asset report in csv and pdf</li><li>A new capital asset type for land and property included in all new FreeAgent accounts</li><li>Default depreciation methods to be set per capital asset</li><li>Default tax treatments to be set per capital asset type</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*UsLJZb-lhdlyXXqQ" /></figure><p>These elements provide the increased flexibility to make FreeAgent work better for each small business and accountancy practice, whilst also saving countless hours in finance admin.</p><p>The supercharging of our capital asset and depreciation support is the latest example of our ambition to achieve greatness and not settle for good. It’s just one of the many exciting enhancements that we’re launching in the pursuit of making businesses happy and more successful by putting them in control of their finances, whether you’re a solo contractor or a small business with aspirations of rapid growth.</p><p>“Good is the enemy of great.”<em> </em>At FreeAgent we aim for great and our Net Promoter Score (<a href="https://en.wikipedia.org/wiki/Net_promoter_score">NPS</a>) of 78 across more than 150,000 small business customers would indicate that we rarely fall short.</p><p><em>Stu McEwan is a Senior Product Manager at </em><a href="http://www.freeagent.com"><em>FreeAgent </em></a><em>— the UK online accounting software for small business owners and their accountants and bookkeepers.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d092a843d469" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Evolving Banking Automation: how we developed our machine learning capabilities to supercharge…]]></title>
            <link>https://freeagent.medium.com/evolving-banking-automation-how-we-developed-our-machine-learning-capabilities-to-supercharge-93534d4f02dc?source=rss-32393fef0afb------2</link>
            <guid isPermaLink="false">https://medium.com/p/93534d4f02dc</guid>
            <category><![CDATA[product-management]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[jobs-to-be-done]]></category>
            <category><![CDATA[banking-technology]]></category>
            <dc:creator><![CDATA[FreeAgent]]></dc:creator>
            <pubDate>Tue, 12 Mar 2024 09:10:48 GMT</pubDate>
            <atom:updated>2024-03-12T09:10:48.751Z</atom:updated>
            <content:encoded><![CDATA[<h3>Evolving Banking Automation: how we developed our machine learning capabilities to supercharge customer happiness</h3><p>FreeAgent introduced machine learning-driven transaction categorisation in 2019, and we’ve developed it into a situation today where we categorise over 60% of all imported transactions whilst maintaining an accounting-grade accuracy of over 93%. Here’s how we’ve achieved this.</p><h3>The red wall for new customers</h3><p>One of the core jobs-to-be-done for all FreeAgent customers is to file accurate taxes on time. To do this, users need to first assign bank transactions to an accounting category, a process often referred to as reconciliation. Doing this correctly is important as it allows business owners and their accountants to establish precisely how much money the business has, and to accurately report the figures to HMRC. There are about 70 categories to choose from in our standard chart of accounts, so this task may appear daunting to new users.</p><p>We set ourselves a vision of ‘<em>ensuring every business can build accurate accounts from day one’ </em>and within this a mission of ‘<em>leading on automation’</em> by automating transaction categorisation, thereby providing a continuous source of accurate data that lifts the daily admin burden from our users.</p><p>Customers typically import transactions automatically into their FreeAgent accounts using a bank feed, after which they must be categorised. Our rules-based system ‘Guess’ learns from behaviour over time to automatically categorise transactions. There is, however, a gap in our automation coverage for new customers with no data in their accounts. When these customers first start using FreeAgent and sync transactions with their bank, they will be confronted with a lot of transactions to categorise; a situation we refer to internally as ‘the red wall’.</p><p>There was a huge opportunity for us to utilise machine learning to address this coverage gap, helping new customers stay on top of a time-consuming admin task right from the start. In order to do this we needed a system that could categorise transactions without requiring additional data at the point of transaction import, which is what we set about designing and building.</p><h3>Red wall wrecking ball: version 1</h3><h4>Initial experimentation</h4><p>Product Engineering and Data Science came together with the goal of building a machine-learning model that could categorise bank transactions for new customers. Over the years we have accumulated an amazing dataset of hundreds of millions of user-categorised transactions, covering a long time period and for a diverse set of business industries. We can approach this then as a supervised-learning problem, where we use information from historical bank transactions to learn the categorisation patterns typically used across our customer base.</p><p>Research into this approach started in early 2019, focusing mainly on experimenting with different types of model and the combination of bank transaction attributes to use as model inputs. Experiments showed a group of four accounting categories our models were performing better across, we think due to the clear relationship between the bank transaction descriptions and the category names. These were ‘Travel’, ‘Bank Fees’, ‘Insurance’ and ‘Accommodation and Meals’. We settled on using a Support Vector Machine to model the relationship between bank transaction description and accounting category, accepting predictions into the four categories mentioned above.</p><h4>Building the system and beta launching to customers</h4><p>After the concept of a machine-learning driven categorisation approach had been proven in our experiments, the build of a production system began. The components of this system are as follows:</p><ol><li>Client code in the FreeAgent application for extracting the required bank transaction attributes and sending these for categorisation</li><li>An <a href="https://aws.amazon.com/sagemaker/">AWS SageMaker</a> endpoint to host our model, which receives bank transaction inputs from FreeAgent and responds with confidence scores for each of the modelled accounting categories. We call this cloud machine-learning categorisation service ‘Banquo’</li><li>More FreeAgent client code to process the model responses and determine which bank transactions should be categorised</li><li>Front-end code to display automatically categorised transactions to users in an orange ‘marked for review’ state, so they can be easily reviewed and approved</li><li>Performance tracking based on events published from the application, allowing us to interrogate how users interact with Banquo-provided categorisations</li></ol><p>All of the above must run synchronously when transactions are imported so that results are returned to customers in real time. The components were built towards the end of 2019, culminating in a beta launch to a small number of customers at the start of 2020. For the first time we were collecting both qualitative and quantitative customer feedback on our system, including the model performance and frontend design aspects.</p><p>The scale at this point was small (at most dozens of Banquo categorisations per day), but patterns in model and customer behaviour were becoming apparent, giving us ideas for how we could improve what we had built.</p><h3>Liftoff</h3><p>This system launched to all customers in June 2020, with a strict confidence threshold for accepting model predictions. Importantly, Banquo runs as a final step in the Guess process, meaning that if we can categorise the transaction with rules and existing data in the specific customer’s account, we favour doing this.</p><p>As a consequence of launching Banquo, new customers will experience banking automation from the very start of their FreeAgent journey. This automation will improve in scope and accuracy as data accumulates, with Banquo gradually handing over to the more customer-specific matching approach baked into Guess.</p><p>We started small though! The above category and confidence constraints meant that we were initially only categorising a small fraction (around 2%) of imported transactions with the Banquo service. The methodology was in place though, and we had plenty of ideas for how to improve the impact we could have. We were starting to chip away at the red wall.</p><h3>Red wall wrecking ball: version 2</h3><h4>Post-launch period</h4><p>Continuous experimentation and updates characterised this post-launch period, with the goal of increasing automation ‘coverage’, which is the fraction of imported transactions automatically categorised. Specifically, we concentrated on adding more accounting categories to our model and improving the way we extract model inputs from bank transactions. This gave us some success and coming to the end of 2021 we were automatically categorising around 5% of all imported transactions and about 10% of those imported by new customers with Banquo.</p><p>Ultimately though we were hitting a bit of a dead end and our experiments were not giving us the performance gains we were hoping and expecting to see. This was mainly down to us being restricted by the original choice of model architecture, particularly issues with scaling up to the ambitious goals we’d set ourselves for automation coverage. It was clear that to get to the next level we had to rethink our model architecture, which is where we focused our efforts next.</p><h4>Transformers, robots in disguise!</h4><p>The <a href="https://arxiv.org/abs/1706.03762">transformer model</a> caught our eyes at the time by achieving state-of-the-art performance across a range of natural language processing problems. As described in our <a href="https://engineering.freeagent.com/2021/09/15/fine-tuning-bert-for-multiclass-categorisation-with-amazon-sagemaker/">engineering blog post</a>, this approach enabled us to model all the categories in our standard chart of accounts. Initial prototyping with this architecture was really positive, showing us that we could maintain the accuracy of our system whilst making big gains in coverage.</p><p>Once we were sold on the approach, we again turned to the production build. We had learned some lessons over the course of running the previous system, and were able to be more thoughtful about the design second time round. Our main goal was to have as little of our own custom code to maintain as possible, which we achieved by using Docker containers provided by <a href="https://huggingface.co/">Hugging Face</a> for model training and inference. We ended up with a simple, stable solution we felt confident making changes to. We launched this model architecture update in February 2022 and immediately started seeing the impact on automation coverage.</p><h3>Approaching the Coverage Ceiling</h3><p>In some cases the confidence of our model predictions is too low to categorise a transaction. There are also cases unrelated to model performance where automatic categorisation isn’t an option, leading to the concept of the automation ‘coverage ceiling’. One such case is when additional information must be provided to FreeAgent that isn’t available to Banquo or Guess, for example a sales tax rate for VAT-registered companies or a user to include against a salary payment. Taking these transactions into account, we estimated our coverage ceiling to be around 80%.</p><p>The transformer model architecture laid the foundation for some significant changes that accelerated our progress towards this ceiling and improved the user experience of categorising transactions. Firstly, we changed from thresholding against the confidence score of the single highest category to the combined confidence of the <strong>top three</strong> categories. This was an acknowledgement that the model confidence scores reflect a distribution of categorisation behaviours across our customer base.</p><p>As well as categorising the transaction using the highest scoring model output, we now show ‘Suggested Categories’ to customers, composed of the three highest-scoring categories. This allows customers to quickly change to a probable alternative if required and demonstrates the model’s knowledge of the alternatives. Figure 1 gives an example of how this looks to customers.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/834/0*k86xMgLX9kmn_FkT" /><figcaption><em>Figure 1: Suggested Categories for a transaction automatically categorised as ‘Computer Hardware’</em></figcaption></figure><p>Throughout 2022 and 2023 we worked on continually improving the performance of the transformer model and the FreeAgent client code processing the model outputs. We mostly did this by running production A/B tests, including experiments on merging accounting categories, decreasing the confidence threshold, pattern matching in the bank transaction narratives and starting to make sales predictions for VAT-registered companies. In parallel to these transformer developments we made improvements to some of the Guess rules utilising existing data. One example was improving the pattern matching in our ‘Similarly Categorised Transaction’ rule, which led to an absolute increase of 4% automation coverage.</p><p>Finally, as well as these model improvements we expanded on the breadth of value for our customers by implementing some additional features including:</p><ul><li>Automating the opening bank balance whenever a bank feed is connected</li><li>Automatically matching uploaded receipts from the Files area to the correct bank transaction purchase</li><li>Revamping the Banking dashboard to better highlight the core categorisation actions customers need to take</li><li>Grouping the automated bank transactions that are ready for approval by category in order to streamline the review and approval process</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/264/0*Rqmyj2Yy1d_t4dGi" /><figcaption><em>Figure 2: Updated ‘For Approval’ groupings increase the speed and ease of reviewing the work of automation</em></figcaption></figure><h3>Summary</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*pm3vlst5G83xNlKB" /><figcaption><em>Figure 3: The evolution of the percentage of imported transactions automatically categorised across 2020–2023 at FreeAgent, highlighting the points at which we introduced our ML service and launched the transformer model update</em></figcaption></figure><p>Over the past four years we’ve committed to our vision of <em>‘ensuring every business can build accurate accounts from day one’</em> by focusing like a laser beam on automating bank transaction categorisation. We’ve introduced our first ML-powered service, Banquo, into the application, reduced the time-to-wow for new customers by enabling automation from day one, and made significant progress towards our coverage ceiling goal. Figure 3 (above) shows how we’ve doubled the percentage of imported transactions automatically categorised as a result of these changes, helping our customers nail the daily admin with each step along the way.</p><p><em>Owen Turner is a Staff Data Scientist and Stu McEwan is a Senior Product Manager at </em><a href="https://www.freeagent.com/"><em>FreeAgent </em></a><em>— the UK online accounting software for small business owners and their accountants and bookkeepers.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=93534d4f02dc" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How our FreeAgent design system came to life]]></title>
            <link>https://freeagent.medium.com/how-our-freeagent-design-system-came-to-life-ed133a69192e?source=rss-32393fef0afb------2</link>
            <guid isPermaLink="false">https://medium.com/p/ed133a69192e</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[design-systems]]></category>
            <category><![CDATA[ui-design]]></category>
            <category><![CDATA[design]]></category>
            <dc:creator><![CDATA[FreeAgent]]></dc:creator>
            <pubDate>Wed, 31 Jan 2024 09:13:12 GMT</pubDate>
            <atom:updated>2024-01-31T09:13:12.375Z</atom:updated>
            <content:encoded><![CDATA[<p>It all started with some recurring questions: <em>“Should this be a primary button? Is that the correct hex value? What are the guidelines around using this?”</em></p><p>FreeAgent’s Product Design and Engineering teams found themselves exploring questions like these often and we quickly realised that a design system could be a game-changer in tackling the growing complexity of our product.</p><p>We wanted to create a set of design guidelines and components that would help us create a consistent and delightful experience for our users. The FreeAgent application was 15 years old and growing quickly. We found ourselves facing a common product challenge: how to maintain design consistency as we scaled. We needed a solution that would help us design and develop faster, whilst also ensuring that we were delivering a great experience for our users.</p><p>I’ve had an obsession with design systems for years, so I was very happy about starting a new role in a dedicated design system team. The feeling of making a big difference across the business and the anticipation of what could be achieved felt exciting.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/0*HMEzDsCEx5PvgRBj" /><figcaption><em>My passion for design systems leads back to my obsession with these books</em></figcaption></figure><p>But why did I see this as such a big deal? In short, it’s because a design system is a collection of team knowledge in a shared set of tools and guidelines that help designers and engineers create beautiful, consistent, and usable UI for end users of a product.</p><p>To summarise, a multi-skilled team with different strengths and knowledge could impact several areas of the business:</p><ul><li><strong>Our company.</strong> Our team could create a consistent user experience that would align with business objectives and help increase revenue and reduce churn (i.e. people leaving the product).</li><li><strong>Our colleagues.</strong> We could create the tools and guidelines that would help our teammates deliver their work more effectively and efficiently.</li><li><strong>Our customers.</strong> Through all our effort and hard work, we’d create an experience our customers could trust and love.</li></ul><p>In the beginning, there was a peak of excitement about the idea of a shiny brand-new website and improving our components, but the nature of our work proved to be more than that.</p><p>Topics such as strategy, metrics, prioritisation, governance, contributions, processes, design tokens, and communications weren’t the first things that came to mind when I originally started as a DS designer. However, they are all important to the success of a design system.</p><p>One of the very first design system tasks we worked on was our tooling and the migration of our component library from Sketch to Figma. This included identifying the best overall structure in Figma, creating and testing robust components, and training our designers so they knew how to use our library. This is known today as our FreeStyle UI kit.</p><p>After our UI kit was established, we started to think about where our usage guidelines, coded components and technical guidelines could live. As a result, the Design System team designed and developed the first version of our FreeStyle reference website. We spent some time designing the information architecture, component page hierarchy and how the UI would look. This now houses our existing styles and some of our components and guidelines, and we’ve been working hard to scale and improve this in future, which is exciting.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*MC3CK65k2gg9gzyxy8XbqA.png" /><figcaption><em>A look into the future of our FreeStyle reference website</em></figcaption></figure><p>As we transitioned from some of the infrastructure work, our focus shifted towards foundational design system tasks, primarily centred around the creation and enhancement of our design language and some important components.</p><p>Our design language (also known as design tokens) and components serve as the backbone of any design system, and we dedicated effort to enhancing visual appeal, usability, and accessibility. The iterative process involved continuous refinement, specifications, clear guidelines and collaborating closely with design system engineers to ensure practicality and integration into our codebase.</p><p>Working as a service layer for teams, we’ve also been thoughtful about the needs of those who use the system. Over the past few years, we’ve conducted internal research to better understand the needs of our users. Methods such as user interviews, usability testing and surveys have helped inform our strategies and tactics within the team. We’ve also looked at best practices from other companies, which have supported and strengthened some of our own guidelines and ways of working.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ZaVEQZBisgFHP-2q" /><figcaption><em>One form of research is our annual survey</em></figcaption></figure><p>These are just a few things the team has been working on. Behind our design system is a team of passionate and dedicated designers and engineers who are making a big impact. Our colleagues can now work faster and more efficiently thanks to the reusable components we created and the guidelines we documented to support them.</p><p>Design systems are never ‘done’ and we continue to iterate and improve, incorporating feedback from our users and stakeholders. Over time, we will continue to expand our library of components and patterns and develop our resources and guidelines to support designers and engineers at FreeAgent. Our design system is now an essential part of the infrastructure that will evolve alongside our products and teams.</p><p>I’m extremely proud of what we’ve achieved as a team so far, and all the hard work and passion that has gone into the design system. It’s been fun and all of us in the team are looking forward to delivering on our future goals and vision together.</p><p><em>Colin Summers is a Design Manager in the Design System team at </em><a href="https://www.freeagent.com/"><em>FreeAgent</em></a><em>, the UK online accounting software for small business owners and their accountants and bookkeepers.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ed133a69192e" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Experiments at FreeAgent: Pop-up Pro Tips]]></title>
            <link>https://freeagent.medium.com/experiments-at-freeagent-pop-up-pro-tips-698719cd1a71?source=rss-32393fef0afb------2</link>
            <guid isPermaLink="false">https://medium.com/p/698719cd1a71</guid>
            <category><![CDATA[a-b-testing]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[experimentation]]></category>
            <category><![CDATA[design]]></category>
            <category><![CDATA[product-management]]></category>
            <dc:creator><![CDATA[FreeAgent]]></dc:creator>
            <pubDate>Thu, 25 Jan 2024 10:14:46 GMT</pubDate>
            <atom:updated>2024-01-25T10:14:46.625Z</atom:updated>
            <content:encoded><![CDATA[<p>In the Radar team, our mission is to help users stay organised, make educated decisions, and be better at business from day one in FreeAgent.</p><p>A big focus for us in 2023 was improving engagement with in-app notifications by making sure we’re effectively delivering information that users truly care about. We explored a variety of potential changes we hoped would have a positive impact, one of which I’ll chat you through in this post!</p><h3>Pro Tip notifications</h3><p>‘Pro Tips’ are a type of notification we generate for customers. Their purpose is to nudge users towards deeper adoption of the FreeAgent features we believe they’ll find valuable. Typically, we’ll generate these when customers have just engaged with a similar feature. For example, if a user has created an invoice, we may generate a Pro Tip suggesting they upload their business logo so that we can automatically personalise all documents they create.</p><p>We might also generate a Pro Tip if a customer has shown explicit interest in achieving a particular Job-to-be-done (JTBD) during setup. If they tell us they want to file taxes in FreeAgent, we’ll generate Pro Tips to guide them through that process. So Pro Tips are all about helping our customers get the full value out of FreeAgent, based on their individual needs and behaviours.</p><p>Because Pro Tips are highly relevant to what the customer is currently doing, or wants to do, we want the customer to become aware of them ASAP. We believe this will be the point at which they’re most likely to engage, as the content is most useful to them then and there.</p><p>We thought the existing behaviour could be a little too subtle. Upon generating a notification, the Radar bell ‘rings’ and a yellow dot appears to indicate an unseen notification. So we wondered if there was a way to make Pro Tips more noticeable as soon as they were generated.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*i0hEdF7_p4eK4rKC" /><figcaption><em>Ringing Radar bell, indicating a new notification (top right)</em></figcaption></figure><p>This led us towards an idea we called ‘PUPTs’ (Pop-up Pro Tips)!</p><h3>The idea: Pop-up Pro Tips</h3><p>Our idea with PUPTs was that, upon generation, the notification would ‘pop-up’ under the Radar bell, showing its full content. The thinking was that this would put the notification content right in the user’s eyeline at the optimum time, maximising the chance they would engage. To mitigate the potential intrusiveness of the pop-up behaviour (which we knew was a risk), we also wanted them to be dismissible and disappear automatically after 10 seconds.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*TuoRRLAVKC-eKfqD" /><figcaption><em>Example of a PUPT</em></figcaption></figure><p>One factor in the decision to pursue PUPTs was that we’d previously tested the format with users via a prototype and received positive feedback. Another was the strong engagement we see when we show the user’s most recent notification on their Overview page (the page they see first after logging in).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*8Vue6C8dhBikm3JJ" /><figcaption><em>Example of a user’s most recent notification being shown on the Overview page</em></figcaption></figure><p>PUPTs felt like a natural way to build upon this kind of mechanism. And lastly, the pop-up format is a relatively common UX pattern when onboarding a new customer, implying it’s been successful in some apps.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/505/0*XoCMFJSgjeqm78cO" /><figcaption>A closer view of a PUPT</figcaption></figure><h3>Setting up the experiment</h3><p>Due to the number of notifications we send out, this was the perfect candidate for an A/B test. And thankfully so, because engagement with our notifications naturally varies significantly from month to month! This means a ‘before-and-after’ comparison wouldn’t give us a clear indication of whether PUPTs had any impact.</p><p>The metric we wanted to change was the percentage of companies clicking the Pro Tip notification CTAs.</p><p>Working with the Analytics team to design the experiment, we separated all companies on FreeAgent between ‘control’ and ‘test’ cohorts:</p><ul><li>The control cohort would see Pro Tip notifications generated in the existing way: the Radar bell would ring to indicate a new notification and they would click the bell to see the Pro Tip</li><li>The test cohort would see Pro Tip notifications generated in the PUPT format</li></ul><p>Once we reached the required sample size, we also knew we’d have to apply a time lag before assessing the final result, due to the delay we see in user engagement with Pro Tips generated in the existing way. While the Radar bell may ring to indicate a new notification, we know it can take companies some time to actually interact with it. We didn’t want this known behaviour to wrongly impact the result.</p><h3>The result</h3><p>Unfortunately, not all experiments succeed, and this was one of those times! We found that generating Pro Tips using the PUPT format was less likely to lead to CTA clicks than the existing approach, at a confidence level of 95%. Looking more closely at the individual Pro Tips involved, we saw that they each either performed the same as a PUPT, or worse. But they never performed notably better as PUPTs.</p><p>Why could this be? Even with some positive indications pre-build that PUPTs may catch people’s attention more than the ringing Radar bell, we knew there was also a chance that this wouldn’t necessarily follow through to greater engagement. And we knew there was a risk that users might dismiss them off the bat due to the more ‘intrusive’ format.</p><p>With the data not stacking up, we made the decision to disable PUPTs on production and remove them from the codebase. Without an indication that the format was benefitting our customers by delivering Pro Tips in a more timely and actionable way, there was no reason to keep them in place.</p><h3>A reminder to test</h3><p>While, of course, every team wants to constantly release changes that make a big impact, this example underlines how important it is to test what you build. Doing so prevents you from committing to maintain something that doesn’t actually contribute, increasing both technical and product complexity with no reward. It’s best to make the decision and move on to the next thing, applying the learnings to future ideas and experiments.</p><p>In this case, we could’ve assumed a positive result was likely based on the user feedback on the prototype and the engagement with the most recent notification mechanism on the Overview page. It’s a reminder that what you find out in user testing won’t necessarily follow through to the ‘real world’, especially in an example like this. Definitely try it out, but remain sceptical and test, rather than assume!</p><p><em>Paige Barclay is a Senior Product Manager in the Radar team at </em><a href="https://www.freeagent.com/"><em>FreeAgent</em></a><em>, the UK online accounting software for small business owners and their accountants and bookkeepers.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=698719cd1a71" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>