As a full-stack software consultancy, we at Carbon Five get lots of questions from clients past, present, and future. We’re passionate about sharing our industry knowledge, so we sat down with our leadership team and got some advice for aspiring founders and product leaders as part of an ongoing 6-part series. You can see all the interviews here.
How healthy is my codebase? Can I rewrite it, or can it be nursed back to health?
A hundred percent of the time, your codebase can be nursed back to health. In my experience, ninety-five percent of the time, that’s the path you should take. This is making one assumption, that there’s a product already built and in use. The bigger the codebase, and the longer it’s lived, the more likely that it has features or bugs or whatever, pieces of code that are in use, that people are relying on, but nobody knows about at the company. So whenever you talk about rewriting a codebase to be the same as an existing codebase, you are opening yourself up for a world of pain because it’s very likely that there’s nobody in the world that exists who knows all of the requirements. If you ever decide to rewrite a codebase, you have to start from first principles and say, “We have to start from the very beginning and define what this new product does, and as a basis, we’re going to use this old product, and we’re going to say this is our starting point.” The same way if a client came to us with wire frames and said, “This is what I want,” we’d say, “Well, we’re going to use this as a starting point, but we’re still going to go through our personas exercise, and our experience map, and our story mapping, and our story writing, because we need to understand all that in order to build this product.” If you can do it that way, then rewriting is actually completely doable. I’ve discovered that even though it can be a lot of work to nurse a codebase back to health, if the functionality is there and fulfilling the needs of the users, then to continue to fulfill the need of the users without any interruption, you gotta nurse it back to health.
A hundred percent of the time, your codebase can be nursed back to health. In my experience, ninety-five percent of the time, that’s the path you should take. This is making one assumption, that there’s a product already built and in use.
Continue reading …
Have you ever worked on a team that went off the rails? Product teams need lots of support to run efficiently. You need to move fast, but you also need to be aligned in order to build successful products. Here are a few activities we use to keep our teams moving. We often facilitate them in Stickies.io, a product we built for collaboration, but any of these activities could also be done using analog sticky notes.
When you need to generate ideas
We like to structure brainstorming sessions to help get the entire team working together towards a unified goal. We set a timer for 3-5 minutes to challenge ourselves to think fast and broad. Then, we review the ideas and do another rapid round, with 2-4 minutes this time. Finally, we give all team members 3 votes and prioritize our ideas based on votes. The sequence looks like this:
- Introduce the goal of the brainstorming session
- Run rapid rounds.You can run as many as needed. We typically reduce the time set as we go and build off of each other’s ideas.
- Set the timer for 3-5 minutes
- Individually ideate on post-its until the timer goes off
- Let everyone describe their top 3 ideas
- Give everyone 3 dots and ask them to vote on three ideas to explore further
- Arrange ideas by votes
In person, we use post-its, sharpies and sticker dots:
Continue reading …
As a full-service software consultancy, we at Carbon Five get lots of questions from clients past, present, and future. We’re passionate about sharing our industry knowledge, so we sat down with our leadership team and got some advice for aspiring founders and product leaders as part of an ongoing 6-part series. You can see all the interviews here.
First up are some practical answers from Partner and COO Don Thompson on lessons learned from 15+ years of collaboration on client-driven technical projects and insights into how Carbon Five’s process enables companies of all sizes.
When do I build my internal team?
Beginning day one is our preference. The happiest clients are the ones that have a team in place to take over before we’re done. It doesn’t have to be a CTO–that can simply be a junior developer. It can be a struggle for clients to make a junior hire if they have more confidence putting a senior person in place. They feel a Director or VP will have more confidence in some of the decisions they’re making early on, and can build out their own team. From our standpoint, either approach can be successful.
Where do I find my talent, and how do I attract them?
That is really tough. The early hires will often establish and shape a corporate culture so it is important to get it right. In addition to the roles to hire for, we encourage our clients to consider making diversity a hiring goal. Creating a balanced, inclusive team takes more time and effort than most company founders expect. When our clients do begin to ramp up hiring, we’re happy to help with writing a job rec and shaping a job description. We’re happy to help review resumes. We’re happy to interview people and really be that advocate for our client as far as where people can fit into the organization. We’re happy to give them desk space once they’re hired. We have a recruiter, and we’re happy to make introductions to on the behalf of our client. While we still encourage people to reach out to their own networks, remember to reach out well beyond it.
In addition to the roles to hire for, we encourage our clients to consider making diversity a hiring goal. Creating a balanced, inclusive team takes more time and effort than most company founders expect…while we still encourage people to reach out to their own networks, remember to reach out well beyond it.
Continue reading …
It’s a common scenario for tech companies: Your hiring pipeline is dry and you can’t seem to attract new talent. You notice companies touting long lists of superficial benefits. Instead of improving your internal team, you find yourself worrying about getting a pro-grade ping pong table for the break room.
You don’t need helicopter rides or Massage Mondays to bring people into the fold. Instead, focus your energy on making lasting changes to your company’s DNA. It won’t be easy, but the results will keep your existing team happy, which translates to positive conversation about your organization. Here are a few strategies to get you moving in the right direction.
Continue reading …
It’s rarely too early to instrument a web or mobile app with user and event tracking services. Sure, it’s ideal to only track the metrics needed to answer specific questions, yet it’s not often the case that those questions are known during the early stages of product development. It’s been our experience that we can manage problems associated with having too much data (analysis paralysis), but we can never go back and magically collect data that wasn’t tracked.
Over the course of a few projects, we’ve come to rely on a core suite of four analytics apps for their flexibility, ease of use, low startup costs and ability to adapt and mature with the product or business. It might seem like four tools is a lot, but the tendency in the analytics business has been for specialization, with countless vendors offering extremely niche products to cater to very specific needs.
Because of the proliferation of offerings, it can be difficult to make a final choice on analytics platforms when you are starting up a product, as you may find your needs changing over time. This brings us to the first product:
Segment’s main purpose is to be the single layer of code implemented in the product which allows data to be pulled out and then handed off. Segment enables hand-offs to an incredible number of other analytics-type products without having to write or insert any additional code, typically allowing non-technical business users to add or remove analytics products without the need for dev and test support.
Heap is the next product we’ve implemented. Heap is a great general purpose analytics platform; tracking both users and events. It allows a user to visually tag parts of the site for analysis and setup funnels to measure these tags. Beyond the ease of use, Heap’s other big selling point is that it can do this analysis retroactively. For example, if Heap has been implemented in a product for three months and one day you decide you want to look at the click through on an untagged CTA you can tag it in Heap and see the data from the previous 90 days. This is very powerful tool as product development ramps up, as the business may not know 100% of everything they want to measure up front.
Intercom is a user-centric analytics and messaging platform. They present a lot of the same data as a general purpose analytics platform, but they do so by showing activity clustered around individual users. Moreover, they provide an unobtrusive messaging tool which enables the business to communicate with users for customer development and support. Intercom is great for understanding the behavior of users across their lifetime, tracking engagement, retention and strategically communicating with users.
Optimizely is a great product for quickly and easily setting up A/B/Y tests to test all kinds things, and is especially well suited for testing UI and content. For products with a small number of users, Optimizely can be used for rapidly iterating on user interfaces to gain qualitative feedback. It really shines when the product has enough users to run tests at scale. Like Heap, Optimizely tests can generally be set up without the involvement of a developer which reduces the barrier and cost of running tests.
We’ve found this suite to be a great starting point for a new analytics implementation as it reduces time to set up and enables the business to easily slice and dice their application usage data in ways that produce insights – which is the true goal.
In the next chapter we’ll take a look at how we’ve used three of these tools on our product Stickies to quickly scale tracking users and events.