I recently had a meeting with my CrankyAds team and a friend named Andy who I had not seen in many years.
Andy left a software company he founded over ten years ago. He’s one of those guys who can do everything. He wore many hats over the years at his company, including programmer, head of hiring and firing, and working directly with clients.
After almost five years not seeing Andy, I bumped into him at a networking event. For some reason I felt compelled to set up a meeting with him and my team. We had some particular challenges and I felt his consultation could be valuable.
The meeting turned out to be a critical one, triggering a shift in how we were working on our software. Although I had sought advice from countless other people, it was Andy who had the biggest impact on how we were going about building our software business.
As a result of his feedback, we immediately changed our plans. We began to implement a technique called a “sprint”, which immediately had a positive impact on our productivity.
I’ll explain what a sprint is and how we did them later in this article. First let me explain where we were before we began the sprinting process…
Developing software is a whole different ballgame to writing a blog or creating an information product.
With content based products you have a fairly simple checklist, at least in concept, to complete in order to have something ready for sale.
You need to write the words or create the video or audio that makes up your product. You need landing pages and sales pages and emails and product pages where you give people what they paid for. All of these things are easy enough to create using the fantastic content management tools we have today like WordPress and add-ons like Optimize Press that can turn WordPress into an information marketing platform, and Wishlist that can make WordPress a membership site platform, not to mention Paypal to accept payments.
I like this process because it’s all based on content, which is something I understand how to create.
Software on the other hand is different. I don’t know how to program but I do know how to come up with ideas and how I want software to work. Unfortunately, writing software code is not as straight forward as writing paragraphs for a blog post.
As a result of this, I’ve experienced a whole new collection of frustrations while working on CrankyAds, an advertising management platform currently available to WordPress bloggers.
We have a good team, and Walter our lead programmer is fantastic, but the process of feature development and bug fixing is challenging and often frustrating because of how slow it is. My goal was to figure out a way to speed up our development, which unfortunately as you will see, had the reverse effect.
A Mistake With Good Intentions
The first few months of this year were reasonably good in terms of development of CrankyAds. Although things were slower than I liked, we were pushing out new features on a regular enough basis to feel like we were moving forward.
To speed things up we decided to look for another programmer to work with our team. I immediately began to tap into various recruitment resources and candidates started to surface.
The process of assessing and testing candidates is not something I can do because I don’t have the skills to know if they are good or not. I can only find potential candidates and then let Walter assess them. To do this, Walter had to set up a testing environment, instruct candidates how to do the test and then review their results.
We had a few good candidates pop up, who were not ideal in terms of location (one in the USA and one in India), but as their test results were satisfactory and they were willing to work under affordable conditions to match our very frugal start-up budget, we started working with them.
Unfortunately because Walter had to spend so much time working with our new helpers, giving them tasks, assessing their work, and the process of setting up a development environment for multiple to people to work with, his own productivity dropped significantly.
We ended up losing two months of Walter’s output to the hiring process, with very few new features developed for CrankyAds because he spent most of his working hours managing the people we brought on board to help speed things up.
This was yet another example of a catch-22 situation. We have many of these kinds of problems, common to startups, where resources are lacking because resources are lacking. That reads confusing I realize, but that’s the best way I can describe this kind of problem.
The development issue is the best example of this problem. We need to speed up development in order to increase cash flow so we can hire more developers, but the process of hiring and training actually slows down development and thus reduces cash flow.
You need to bridge the gap somehow so you can sustain the status quo while still having resources to work on growth activities (this is often where investment capital comes in).
What Is A Sprint?
A Sprint is a term common in the development world were you focus on one core task or objective which you can complete in a short period of time. You essentially “sprint” to the outcome, disregarding everything else.
There is another term that goes hand-in-hand with the Sprint concept known as an “Epic“. An Epic is also an objective, but it’s too big to be done in a sprint time frame. It requires more time and resources to get it done, hence it is a more “epic” undertaking.
After losing two months of development due to focusing on what we thought would speed us up, we realized we needed a shift in strategy.
Andy offered the exact kick in the pants we needed. In a nutshell, here is what he suggested…
- Walter, our lead developer should not be doing anything other than what he is good at – coding. He’s a programmer, he loves it and if he could, writing code all day is what makes him happy. It’s also what moves us forward the most, so we need to stop having him do other tasks.
- Mick, our designer, should be focused only on tasks that augment what Walter is doing. These two guys alone are enough to get a lot of work done using a sprint methodology, IF they have the focus and lack of distractions to get the work done.
- My job, since I don’t code, is to protect these guys from distractions. I need to handle everything else, from legals, accounting, customer support, networking events – everything I can do so the other guys are free to focus.
Prior to this we were sharing tasks. We all participated in meetings, attended networking events and did customer support. We talked on skype a lot and all had input in things like accounting and legal decisions. This is okay of course, we should make decisions together, but at the right time – not to the detriment of development output.
Andy suggested we lock Walter and Mick in a room for a short period of time and have them code and design focusing on the core tasks we need to get done. I would “defend” them from anything except the most critical of problems. Everything else we could deal with on our once a week in-person meetings. He suggested we do this for a month at least – a month long “sprint”.
Perhaps it was good timing or perhaps it was the way Andy said it, but for some reason his advice really hit home. We left the meeting feeling excited because we had a plan, and a plan that didn’t require we hire any new people or get investment. We had a plan to get focused and start sprinting.
Our First Month Sprint
This is how we worked during our first month of sprints:
- We completed week long sprints, starting on our team meeting on Wednesdays, with the goal to have one or two core objectives complete by the following Wednesday.
- We use development task management software Jira to time out objectives and keep things focused.
- Through a combination of user survey feedback and the need to find things we can do within a week or two-week time frame (two sprints), we would pick the best objectives and avoid “epic” tasks.
…and importantly, ignore everything else.
Our team often goes into idea-generation tangents at our meetings and many of the ideas are “epics”, things we can’t get done quickly. It’s a heck of a lot of fun, thinking about what our software could do in the future and all the cool features we could add, but realistically, there is only so much that can be done.
The sprinting mentality forced us to be frugal and simple, pick a couple of things – often just one core feature – and get it done within a week.
My task during the first sprint was to survey our users so we could figure out what the rest of our sprints would be about. We didn’t want to guess, we wanted to fix problems and meet the needs of our users by creating things they want.
As a result of the survey, and as I wrote about in my previous article, the first fruits of our sprints was the addition of Google AdSense/custom code and alternative Advertise Here ad options to CrankyAds remnant inventory options.
Get It Out There
One other major milestone that came about as a result of our very first sprint was the release of our marketplace, currently called the CrankyMart.com.
We had the marketplace almost ready to go for months, but for all kinds of silly reasons, like not having certain features we wanted, we never released it. We made it our objective to just get something out there, even a very very basic version of the marketplace, as our first sprint.
Although it’s missing plenty of the features we want it to have, we met our sprint objective and made public a very basic marketplace. The CrankyMart currently lists all the websites that have used CrankyAds for at least a week and have at least 500 ad impressions. Any advertiser can buy ads from the marketplace directly, and we have already had one ad buy – proving that the business mode works.
In our third week sprint we added a search function and a category drop-down to the CrankyMart. Again, simple features and a long way from what we want our marketplace to become, but a step forward.
Taking steps forward every week feels good. Our motivation is much higher when we have a meeting and show case new features that were released. We don’t always meet our sprint objective timing, but we get it done. The sense of moving forward is powerful – an important process that keeps us engaged in our startup because we see tangible improvements consistently.
What Can You Achieve If You Sprint?
I encourage you to take a look at how you go about development for anything in your business and see if a sprinting method can help you focus and get things done.
It doesn’t have to be about software development.
I did a month long sprint when I wrote the Blog Profits Blueprint years ago. I put together 25,000 words in less than four weeks by committing to writing at least 1,000 words a day. I did this as my main task every day, only doing other tasks if my daily writing quota was met.
I’ve done sprints many times, although not exactly labeling them as such, to create course materials, launch videos, reports, testimonial interviews, blog posts and much more. With a combination of knowing my most pressing needs and the pressure of a deadline looming, I can get more done in a week than I usually do in a month.
It all comes down to knowing what is important (try the “Theory of Constraints” if you need help figuring this out), making the decision to ignore everything but that task and giving yourself a deadline.
The ignoring part is actually the hardest part in my experience, because things will fly at you, people will want your attention, you will have ideas and your non-business life will intervene as well. The deadline gives you pressure, the focus makes you productive, and assuming you have a good method for choosing what tasks to do, the regular results will boost your motivation.
Do sprints often enough and you may enjoy a snow-ball effect. It’s amazing what consistent output can do, especially after a year or two. I believe all good bloggers are actually good sprinters because every week they give themselves the task of creating blog content and get it done.
Blogging is the one sprint task I complete before every other task every week – and I’ve been doing it for almost eight years. I can tell you thanks to the power of hindsight and the countless examples available (every successful blog is an example), that the sprint methodology is very effective, even more so if you make it a habit.
What Is Your Next Sprint Task?
I’d love for you to take this sprinting concept and actually apply it.
Given these conditions –
- It’s one of the most important tasks for your business, but…
- It’s not so big that you can’t finish it in a week to a maximum of a month, and…
- You know if you focus on it you can get it done…
What is your first sprint task?
Please reply as a comment to this article and we can all see what you are going to focus on next. You can also use this public forum as a place to make yourself accountable to actually getting it done.
Tell us what you are going to do, what timeframe you are going to do it in and why it is important.
Over to you!