Lesson Twenty

The last 10%

Starting is hard. Finishing is even harder.

After spending years helping to build thousands of apps, websites, and other digital products in Crew, we’ve found that you should plan on spending about 50% of your time on getting through the last 10% of a project.

Yes. I know that sounds a bit ridiculous (and might seem like some mathematical anomaly), but over and over again we’ve seen it to be the case. Sometimes the race really only starts once the finish line is in sight.

As Tom Cargill of the Nobel prize-winning research and development company Bell Labs puts it:

“The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.”

Why is the last 10% so hard?

Every project has a natural cycle:

First comes an introduction period where everyone on your team is getting up to speed, deciding how the team will communicate, and defining expectations for the project.

Next, you’ll kick off the ‘real work’. At this point, morale is at its highest and, if you’ve set up a proper working environment for the team you’re working with, everything will seem to be moving along nicely.

But as the checklist dwindles and the big list items get finished, you’ll eventually start to plateau.

This is completely natural.

The team will be in a groove. You will have had update calls each week for the last 6 month, but now the updates just aren’t as exciting as at the beginning of the project. The big, exciting tasks will give way to the more mundane. Instead of seeing walls being put up and a structure forming, you’ll be asking “which wallpaper should go in the kitchen” or “are we installing marble or granite countertops?”

Then comes the final 10%. To keep our house-building metaphor going, this is the point where we’re selecting the window dressing and nit-picking over the perfect shade of white for the hallway.

It’s at this point where your project lives or dies.

You and your team will be excited to finish (and launch!) your project. However, with the finish line in sight, those last few steps can feel like a slog. And without the proper motivation you might as well be running in place.

Much of this is because we’re no longer working on the ‘fun’ and ‘exciting’ elements of the project but rather menial tasks that, while absolutely essential, can feel laborious for a creative mind.

Remember, software constantly evolves. This won’t be the only time you should be launching. You can get what you have live now. Feel that excitement. And create momentum for a follow up project.

How to know when you’ve reached the final 10%

Understanding when motivation is most likely to slip is key when trying to keep your pace through the finish line.

Some of the typical tasks that will bring you down in the last 10% of a digital design or development project might be:

  • Spell-checking the copy throughout
  • Testing for broken links or bugs in the code
  • Cross-platform testing the application

While these can seem like ‘boring’ tasks, the thing to remember (and use to keep you motivated) is that you’ve just created something out of nothing. So, there are bound to be a lot of loose ends to tie up and details to sort out to make sure everything works properly.

This is when you as the one leading the project really need to shine.

Start making lists

One of the most effective techniques to use when managing lots of smaller tasks is to start creating lists. We’ve helped complete thousands of projects, and based on our experiences we put together a basic task list to help you get through the final 10%.

This list is focused on website and web app development projects but can also be applied to native mobile app projects as well.

How do you handle the last 10%

Since most of what is generally left in the last 10% is less creative and more menial work, it’s a good time to start making focused to-do lists.

Here’s a few elements to remember:

Be a detailed communicator

When you’re assigning tasks to the team you’re working with be sure to be as detailed as possible.

Instead of saying “please check the homepage for spelling errors,” get your hands dirty and give specific updates to make.

Assign tasks like:

  • On the Homepage change the text in the blue button from “Lets get started” to “Let’s get started”
  • On the About Page please add an ‘a’ to my name in the first paragraph, second sentence. It should read Michael instead of Michel.

The same goes for development projects.

Giving feedback like “it looks terrible on my iPhone” will frustrate a developer. But feedback like “the blue button is too far over to the left on my iPhone 6” will make it much easier for a developer to debug and fix the issue.

In the last 10%, giving feedback should be your number one priority. Little decisions and changes are going to come up fast, and the quicker you’re able to respond the easier it will be be to make it to the end.

Always be testing

Once your project is done you may not have your team available immediately for minor fixes.

No matter how good a designer or developer is, it often takes a set of outside eyes to find errors and bugs. This is why there are entire companies dedicated to just ‘quality assurance’ testing.

Especially in the final stages, small fixes to one thing may break something elsewhere.

In the above example of the blue button being in the wrong place on an iPhone 6, the developer’s fix could possibly create issues on other platforms or browsers. Always be sure to test the entirety of a project after any fixes or updates have been made.

Some good resources for testing are:

For web projects

Cross browser testing
Allows you to easily test on the browsers that your customers will be using. You can grab screenshots and compare your site side-by-side on various browsers. You can also do mobile web testing.

For Emails

Allows you to test your email campaigns across 40+ real email clients including mobile, web, and desktop applications.

For iOS apps

With Testflight now being built into Apple’s developer tools, you can easily install your beta application on various devices without releasing it on the iOS store.

For Android apps

Android’s answer to Testflight, HockeyApp allows you to easily deploy test code to various devices for testing and send crash reports back to you and your team.

Hire a team

Global app testing
When you want to be 100% sure you’ve squashed every bug, it can be a good idea to hire a QA team to go through your project. Global App Testing has helped teams like Facebook, Spotify, and Evernote test their applications before deploying them to the world.

Be patient

While the last 10% might feel like a lifetime to work through, it’s in the polish and fine-tuning where your good product becomes a great product.

It’s important to be patient and give the team you’re working with the time to sort out all the final details. Don’t set a deadline that’s too tight to allow for this level of clean up.

To give you an idea of what you can expect you’ll need to check, here’s a final 10% checklist: