Skip to Content

Blog Archives

Knowing when to fold ‘em, and the price of success.

For those of you who happen to look at other parts of our site, like the portfolio, you may have curious about our personal productivity tool, Todo Zen. It’s a great example of a viable product that was too slow to the market to make an impact, derailed by the success of an incompatible business. So what happened, and what can you learn from our experience?

Todo Zen origin

After trying out our first product that was getting limited traction in a small market, we realized it was time to move on. My cofounder, Federico, suggested that we try creating a task management tool, and introduced me to Kanban. That evening, we went to a restaurant, and wireframed most of what would be in the product with torn up napkins.

Problems with launching the product

The Mac App store was coming in a couple months, and we wanted to try to package a web app that we could launch on multiple platforms. This was our first mistake, since we were beholden to a dev with limited availability, who had some slightly exotic knowledge. This added at least three months of delay to the process, and we gave up first mover advantage in the store. I also was a bit perfectionistic about the design, and a redesign and implementation cost us another 3 months. Clearly we went well beyond MVP to get this out the door.

Service business wins out

While all this development was going on, around a year and a half ago we met our first major service customer at a conference where we were demoing Todo Zen, and saw a new business model that could be scaled. Success in the app store seemed like it would be a lightning strike at that point, and I felt like we were competing for a small segment with a lot of devs who are obsessed with productivity too. Faster cash flow also won out, given a couple years at product attempts that had limited traction.

Conclusion

I think the experience was valuable, as it allowed us to learn what’s involved in making product, and it felt like we experienced almost every single one of the pitfalls involved. If we had to do it over again, I would start by choosing a larger market, and leveraging areas where we have an unfair advantage. From the Oracle of Omaha:

In business, I look for economic castles protected by unbreachable ‘moats’.
-Warren Buffett

Buffet is looking for lasting competitive advantages in his investments. Understanding your team strengths, and where it can uniquely exploit the opportunities in front of it, is a recipe for great success. If there’s a large market that has an opening for a different approach, with very few people capable of executing, the odds will be stacked in your favor. According to the Small Business Administration, around half of businesses fail in their first 5 years. My advice? Take every advantage you can get.

0 0 Continue Reading →

Team extension: How we more than doubled in size yearly, while bootstrapped, since 2009.

Team extension (noun):The service category of helping companies scale their staff with remote contractors who integrate into the current business process.

So where did this term come from? Back in 2009, after a few months of working part time on my first software product, my company announced a voluntary layoff program, due to the excess software engineers in the organization. Within a day, I signed up to sign off. With some self funding, I had an 18 month window to try to find a profitable business after I found a technical co-founder.

During that time period, we killed off one product, started a second, and finally found a working business model, by paying attention to how our business was actually performing. So how did we get to 12 people on payroll from just 2 co-founders in a little over 2 years? Here is the story of team extension, the foundation of TangoSource’s growth.

Lessons learned from a rocky start with consulting

After our first product failed, we wanted to lengthen our runway by doing outsourced contract work. TangoSource already had a couple of advantages from having an office in Mexico, namely time zone, and software developers with an understanding US culture. Sometimes things went well, other times we had plenty of room for improvement. There were a couple important commonalities that I noticed in projects that didn’t meet our standards.

1. Outsourcers hate losing face. As Malcolm Gladwell mentions in his book Outliers, many cultures recognize status differential more profoundly than people in the US or Europe do. This often comes to light when an outsourced dev should mention an issue, but instead tries to think his way out of the situation. They spin their wheels trying to solve the issue themselves, whether it was a bad requirement, an architectural error, or a mistake that they should have owed up to a long time ago.

2. Fixed scopes create adversarial situations, instead of building teams. From the Thoughtbot Playbook:

“We don’t do fixed-bid fixed-feature-set proposals. This contract style sets the vendor and client working against each other instead of with each other, right from day one. Instead of discussing how a feature should be built, or what assumptions were wrong, you spend time negotiating about what was meant in a document written a long time ago. But it’s worse than negotiating – it’s retroactively discussing something that no one will remember the same way anyway.”

Nowadays, we offer a free 20 hour trial, that would otherwise be spent making estimates. This is in alignment with Agile Estimation and Planning, one of my favorite PM books, which digs into a strong alternative to running fixed bid projects, by using empirical data for each project to reasonably estimate future performance.

Concept origin

In early 2011, at the Launch conference, I ran into someone who would fundamentally change the way we were doing business. I mentioned my access to tech talent, and that we were doing contract work on the side. After keeping in touch over the course of a few months, we started an engagement with one of Seattle’s premiere Rails consultancies.

What I noticed a couple months in, after nailing down communication, process, and training our developer in unit testing, was the gradual decrease in time commitment from our leadership. This engagement was profitable, and easily maintained, and I realized I had a scalable business model. After some soul searching, we decided to shift to a service model, since we didn’t see anyone doing similar work in the marketplace, and saw a serious need. That initial engagement has been ongoing since then, and we have fostered others like it, thereby allowing us to focus on recruiting and training, while having high utilization.

Team extension benefits

So why did we decide to specialize in a new service category? According to much of The 22Immutable Laws of Marketing, it’s important to be seen as first in the market in some way or another. There’s also a long term strategic benefit to becoming the authority in a category, particularly one that generates value for everyone involved. So what’s in it for our customer?

  • We can scale more cheaply, and pass those savings on to the customer. Because Team extension is a high utilization business, the customer doesn’t have to pay for our marketing efforts, or our down time.
  • We focus on team building with the customer. Instead of arguing over a spec, the customer is with us each step of the way, looking for ways to improve productivity, and everyone benefits.
  • Ongoing engagements engender trust. When developers trust the customer, face saving issues don’t come up as often, and the team is more efficient.
  • We’re able to guarantee developer time. As a project grows, it’s important to make sure it has a stable development engine. Due to ease of forecasting, we can maintain grow with the customer smoothly.

Team extension best practices

There are a lot of choices from the toolbox to run a project. Some tools, such as project management (eg: Pivotal Tracker, or a variety of Kanban SaaS) mean picking a single tool for the project. Other times there are a variety of tools that can be used, and it’s a question of using the most lightweight ones that get the best outcomes. Here are a some of the practices that have helped for Team extension:

1. Pair programming. Pairing helps developers work out more complex code issues, by creating a social environment where two people focus deeply on code, as well as easing knowledge transfer. For Team extension, it has a key benefit of allowing a team to take collective responsibility for rough patches in the software development process, instead of an individual spinning their wheels, trying to figure out a way to avoid losing face. Additionally, two minds mean that it’s less likely for there to be an issue to get stuck on in the first place.

2. Text standups. Having minutes of what people have accomplished, what they’re planning on accomplishing, and where they’re stuck can be helpful for Team extension. First off, sometimes customers can’t always attend a SCRUM standup. Second, some devs may have good written English, but are not easy to understand via voice. This practice has helped avoid a lot of miscommunication.

3. Use a good task tracker. Transparency is key when building teams, possibly more so when certain members are remote. Being able to see what’s going on with a granularity that’s helpful, but not onerous, gives PMs and product owners the chance to help clear roadblocks to productivity.

There’s also a bit of secret sauce that goes into setting up projects, managing software development, and training developers. I’ll probably write a separate Team Extension best practices article sometime in the future.

Wrapping up

If you’d told me 3 years ago if I’d be running a service business, I’d have been incredulous. Once I saw what was happening objectively, with a reality check from mentors, I was able to lead the evolution of an advantage into a working business. If you happen to lucky enough to be able to validate a business model, I suggest you press every advantage available to establish your position in the marketplace.

0 0 Continue Reading →