Why Developers Underestimate: One Reason That Will Change the Way You See Projects Forever

I, like many developers and tech consultants, am a chronic underestimator. When I make an estimate, I do so believing that the estimate encompasses the effort necessary for me to accomplish each and every goal for that project.

And I’m wrong, nearly every time.

People have a completely skewed perception of time. Checkout this excerpt from a Huffington Post article from last year.

This vs That’s initial research is in line with previous research into time estimation, which has revealed that our ability to accurately estimate time is influenced by our emotional state, how hungry we are, how tired we are, whether our eyes are open or closed, what we are doing, among many other factors.

Aside from the fact that people in general are terrible time estimators, it’s also my opinion that estimating a multi-stage project all at once is about as useful as guessing who will win March Madness at the beginning of the bracket. It’s not a good idea to put your money on that bet.

Here’s one of the biggest reasons why we estimate improperly.

Our perception of effort and knowledge are different from our perception of implementation.

How long would it take you to make 100 sandwiches?

How easy is it to make a sandwich? Certainly not all that hard. You’ve done it a million times, so it’s not too difficult. Five minutes on a good day, 10 minutes tops.

So, how long does it take to make 100 sandwiches?

I asked my wife this question, and she estimated an hour and a half. Seems fair to me – probably about what I would have guessed as well.

Would you immediately think to guess that it would take 500 minutes (8.3 hours)? You probably think that you’d have a system – a way of solving common problems over and over by that point. 100 sandwiches shouldn’t take nearly 8 hours, considering how easy sandwich-making is. You’d have a killer sandwich assembly line.

But even if your amazing sandwich assembly line was world class and doubled your efficiency from 5 minutes to 2.5 minutes, you’re still going to finish sandwich 100 at the 250-minute mark.

This is the cognitive problem we face in estimating time for development. We see projects that we have the technical ability to solve without having to acquire any new knowledge, and therefore we have a tendency to underestimate. Things we already know how to do and systems we fully understand seem like they should take much less time to implement than they actually take.

Stop thinking about how easy a project is, and start thinking about how long it takes you to make one sandwich.

Quick Tip: Serve Parse Files via HTTPS

Trying to serve your Parse files via SSL/HTTPS? You’ll notice that you can’t force it, and Parse doesn’t support this via their file URL scheme. But you can use the same trick Parse uses on Anypic.

Replace http:// with https://s3.amazonaws.com/.

So if you start with this:

http://files.parsetfss.com/b05e3211-bf8b-.../tfss-fa825f28-e541-...-jpg

The final url will look something like this:

https://s3.amazonaws.com/files.parsetfss.com/b05e3211-bf8b-.../tfss-fa825f28-e541-...-jpg

In ruby, that’s:

url.gsub "http://", "https://s3.amazonaws.com/"

In JavaScript:

var url = // your url...
var subbedUrl = url.replace("http://", "https://s3.amazonaws.com/");

Boom – fully secure Parse files.

You’re welcome.

The Path to Productivity: 7 Hacks, Principles, and Patterns

Share this article on Twitter

Productivity is such a huge focus in our lives. We are all allocated the same amount of time, so how do some people do amazing things while others always seem behind the curve?

The answer, in some ways, is that those who are on their game have learned how they themselves can be productive. Certainly there’s no one shot solution, and productivity isn’t the only answer to rising above average, but I would argue that those who are above average absolutely cannot ignore the importance of finding ways to stay productive with their time.

In this article, I will discuss my tips for finding personal productivity.

1. Start Treating Time as a Precious Resource

Time is your most valuable resource. It is the resource that no one can leverage against another person, because we are all given the same amount of time in a given day. The only way we can rise above average is to treat time for what it is: a consistently valuable and rare resource. Truly adopting this perspective is the driving informer behind changing your habits. This is your motivation.

Share this tip

2. Find Your Time

What is Your Time? This isn’t a metaphorical or philosophical question – it is actually quite practical. What time are you giving yourself per day? Mine is from 6 to 8 in the morning. This is a new habit I am constantly forming, but this is when I build my side ventures, when I do my reading and writing, whatever I choose to do. Specifically, my time is uninterrupted, and I can gain pure focus during that time. I’d recommend mornings, as this is the time when you are most likely to have the drive necessary to turn that time into value.

Give yourself the incredible gift of time. No one else can give it to you.

Pro tip: The morning is also a good option because we often sleep as a luxury. Do you prefer the luxury of sleep, or the reward of accomplishing your goals? I know my answer.

Share this tip

3. Don’t Trade Your Time Cheaply

When I was doing my masters program, I constantly had to make a choice: order food in, or go and get lunch. (This was before my wife and I made a conscious decision to eat as many whole foods as possible.) While the delivery fee was outrageous sometimes, I had to consider the value of my time, and on many occasions, the delivery fee was justified because ultimately my time was worth more than the hours I would spend traveling and sitting. What are you trading your time for? Could you delegate or hire out a task you are currently spending your time doing? Something even as simple as mowing your lawn could be hired out, freeing you up for more time to spend doing things only you can do.

Note: I do not recommend take-out food as a time saver (or restaurant food in general) unless it’s an absolute necessity; eat a load of plant-based whole foods, and keep them fresh in your fridge and pantry available at all times. This will likely save you money in the long run anyway, even if you go Gung ho organic like I did.

Share this tip

4. Make Your “Must Do Today” List, TODAY.

Unlike your regular to-do list, which can grow to extraordinary lengths, create a list with non-negotiable tasks that you must finish today. Make that list accomplishable, and prioritize by the value that is delivered both now and in the long term.

Share this tip

5. Put Productive Time Before Reactive Time

Don’t check your email, your phone, or your chat messages until you mark off the things on your must do today list. Other people have “must do today” lists, and if you’re not careful, you’ll work harder on their list than you will yours.

Productive time means time that you have control and domain over. It’s time that you spend working towards your goals. Reactive time is time that someone else is spending for you. This isn’t just “side job versus work” – this is totally applicable at your day job. Want to get your task list done? Do it first – make it a priority. You’ll be surprised how a few hours often doesn’t make a bit of a difference for those people who are fighting for your time and attention, but how HUGE of a difference it makes for you.

Share this tip

6. Limit Yourself

Having a tough time leveraging your hours properly? Work 2 hours less per day for a week, but retain the size of your Must Do Today list. I bet you will be surprised at how much more you will achieve when you set a concrete end-time. This principle isn’t new, but it certainly is effective, and worth echoing again here.

Share this tip

7. Decide How You Should Spend Your Weeks

Michael Hyatt has a fantastic resource that helps you with this particular effort, which you can find here, but the basic idea is this: If you don’t have a plan for how you want to spend your time, how can you expect to accomplish your goals? As Michael says, take the initiative to “live on-purpose.”

Take the time to evaluate your habits and values, and what you want your weeks to look like in a perfect world. Set your long term goals, and design your ideal week around what it would take to achieve those goals, realistically. If you are lucky enough, you are the author of your own time. Even if you work long hours at your day-job, you are the author of your off-time. Evaluate and consciously determine how you want to spend it.

This exercise does a lot for you. It might even give you a good perspective on what things need to be pushed off your plate indefinitely, or maybe it will help you realize that you are already crazy productive.

Share this tip

Conclusion

This is by no means an exhaustive list, but hopefully you will find a few of these things helpful in your own life. If you do, Tweet about it!

7 Tips for Hyper-productive Wunderlist-ing

I’m loving the newest version of Wunderlist. Honestly, I’m not even sure what all has changed, but here’s what I know: Wunderlist is probably my favorite ToDo management application thus far.

That’s a big deal, you know… there’s about a thousand ToDo managers.

Here’s how I’m using it.

1. Put it everywhere

One of Wunderlist’s primary killer features is the fact that it is available everywhere. Native apps for Apple devices, and a web interface. It really is everywhere.

So make your to-dos accessible everywhere. Unlike your email, having your todos accessible actually helps your productivity if you know when to look at the list.

3. Use Tags to Sort by Energy/Time Required and Context

Who knew you could do hashtags in Wunderlist. This allows for clickable searchability. Adding some kind of context allows you to do things like: “Clean out closet. #15m #home #busywork”. When you’re at home, your mind is completely fried, and you have 15 minutes to kill, having these tags helps you find the tasks that should be done at that point in time. When we have 15 minutes to spend, knowing exactly what we’re going to spend that 15 minutes doing is essential.

3. Name lists by major projects/efforts

When organizing my to-dos, it’s cognitively helpful for me to think about my home chores, side projects, and work projects in different contexts. Thus, when I’m thinking about writing articles, I have a list dedicated to writing articles. I can tag things to fall back to related tasks, like #writing, which I can put both on my book-writing efforts as well as my personal writing efforts.

4. Share lists with my wife, coworkers, etc

Shared lists are another killer feature.

My wife and I always need the same groceries. So, when we go grocery shopping, having the list available is super valuable. Pro-tip: when you run out of something, mark it off the list, and use the “completed” view to show you what you need to buy. Much easier than unmarking. Once you’ve bought everything, clean up your “completed” by marking them as “incomplete”. Dirty, but usable.

Sharing a list means you can also assign items. This makes divvying up responsibilities a breeze.

5. Make a Must Do Today list, and limit it to 3 items

If you don’t have a priority list that is your daily requirement, then you don’t really have an “in-queue” context. Make these non-negotiable, and make them completely accomplishable.

6. Make Managing your List its Own To-Do

Your to-do list is built to take care of your meta-work – your work about work. Stop thinking about what it is that you have to do, and pull it off the top of your list. This means it takes time to manage your list. So, dedicate some time to administering your list. Simple as that, you’ve done all of your meta work, which otherwise would steal from your insignificant cracks.

7. Make everything actionable

Make each and every item on the list an actionable task. This means no “get ready for the event” kind of tasks; instead, use “email the participants of the event”. Pro-tip: Use the comments and sub-tasks in Wunderlist to keep track of minute details. For instance, if you need to individually email a list of people, put each person as a subtask of the email task. Use comments to grab relevant links, passwords, etcetera.

I’m using Wunderlist because it makes my task management easier. Hopefully you find these tips useful to your task management. Let me know what you think on Twitter!

Announcing Hacking the Impossible – The Developer’s Guide to Working with Visionaries

I’m more than excited to announce that I will be publishing a book soon that’s all about the work I do on a day-to-day basis with some incredibly creative people here at Whiteboard.

In the book, you’ll find ideas that I believe could change the way developers and visionaries work together, and I’m really excited to share it with you.

If you’re interested in learning more about the book in the upcoming days, drop by http://hackingtheimpossible.com and sign up for the mailing list, and then follow @hackimpossible on Twitter.

About the book

hti_cover.jpg

If you work at a creative agency, you’ve almost certainly experienced the phenomenon of personality difference that Hacking The Impossible is all about. The two polar creative opposites – The Developer and The Visionary – sit in their corners of the room, each with entirely different understandings of what it means to work. The developer believes in concrete structure and receives in equal portions nerd-ridicule and geek-cred; the visionary follows the latest fashion trends and seems to shift from one idea to the next, living in complete oblivion to the complexity of technology. The developer is often accused of being anti-social, closed-minded, or pessimistic, while the visionary is accused of having their head in the clouds, getting wrapped up in impractical or downright impossible ideas.

The truth, however, is that the powerful creative abilities of each of these polar opposite caricatures are held within their ability to be the extreme versions of themselves. The visionary holds keys to imagining the impossible things, and the developer’s job is to build the impossible.

This book is about two things: how to work better with people, and how to use those skills to think about problems in a new light. This new light illuminates the path to innovation, and reminds you that with the right people in the right room at the right time, the impossible can be achieved.

Don’t forget to sign up for the mailing list at http://hackingtheimpossible.com to receive periodic updates from me about the book!

Steal these Startup Ideas: Collection Two

As I’ve said before in collection one of this series, ideas are everywhere. Furthermore, I certainly don’t have time to make all of my ideas a reality. I want them to be real, and truly would use each and every one of these.

If you like one of the ideas and want to take it and make it a real thing, let me know! I’m not going to try to take a piece of your company (unless you offer and the deal is a good one), and I’m not going to sue you. I just want to hear from the people these ideas are influencing. It fuels me! Tell me on Twitter (@jcutrell) or email me at jonathan@whiteboard.is.

Enough of the introduction – let’s talk about things that would make the world a better place, shall we?

1. Service Butler

How many services do you subscribe to? Sometimes I even forget how many I’m subscribed to. However irresponsible that may be, I certainly get a lot of benefits out of services. But I’d like to be sure that I’m spending my money wisely, which means two things:

  1. The services I’m buying are the best for the buck
  2. I save money if and when possible

Imagine a service that allowed me to lean on my personal service butler – who could do the research to find me savings and refine my list of services, consolidating and managing all customer service issues as my representative. On top of managing my services for me, they could also take cuts of my savings for themselves (I’d rather save 2 dollars and give one away than save none at all). What’s even more exciting in this? The opportunity for affiliate sales.

Pro tip/warning: Do NOT do this idea and take any and every affiliate deal that comes your way. Then the core competitive advantage and selling point – that you are my butler, and you’re on my side, is lost. Only take affiliate deals that you believe in. This is really true for all affiliate sales, too.

2. Facetime Health Checkups

I’m a relatively healthy individual, but I’d like to be sure I’m doing everything I can to remain healthy.

I’d definitely pay for a convenient way to get professional medical advice without having to sit in a waiting room. Sometimes, I have a simple question about fitness, food, or behavioral patterns that I’d like answered, and I can’t really get that answer right away unless I ask Dr. Google. I’d much rather have a nutritionist that I can Facetime or Skype with, so that I can show them my pantry and ask them random health questions. Furthermore, they would know my medical makeup and family history, so they would be able to give me more personalized advice than something like Google.

Disclaimer – there may be a TON of HIPAA stuff standing in the way of this actually happening, or it could be as easy as just doing it – I don’t know. That’s your job to find out. However, this is the wave of the future – if you are an early builder in the field of remote medical, you’d be quite smart in my opinion.

3. Box-a-Month Closet Builder for Men

Sure, there are plenty of subscription box companies, and some of them are awesome. But what I need to focus on is building my professional wardrobe in a consistent way. I also want it to match my personality.

(Note: I’m focusing on men because it seems like it’s the most obvious market for reasons I outline below, but perhaps there is an adjacent market focusing on women’s fashion. Have at it.)

Combine learning algorithms with sizes and fashion personality traits, and you have yourself a nice pipeline to serve men the fashion they need on a monthly basis.

If there are other men like me (I’d imagine I’m not THAT unique), then fashion isn’t always at the top of their priority list. Like many things, I and they are willing to pay to not have to make fashion decisions. I’d rather it be dependable and automatic. Build my wardrobe for me over the next few seasons, and do so with the proper flair, and I will definitely pay a monthly subscription fee. Maybe even a variable fee. Think about opportunities for upsell and product placement!

Go make this one happen, please.

4. Mentor-Mentee Matchmaker

I’m in search of a mentor. I’m also in search of mentees. The benefits of teaching and learning from other people are numerous, and we won’t detail them here. Instead, let’s focus on one simple fact: there is no platform dedicated to creating, building, and supporting mentor-specific relationships.

Imagine you create your personal profile. Talk about your income, your goals, and your skillset. Maybe even explain some of your personality traits.

Do the research to find out what mentor-mentee relationship dynamics work the best, and build your algorithms around those concepts.

Then, make matches. Find people who have financial goals and match them with those who have found success in their finances. Or, maybe more complex relational dynamics could play into the relationship, such as an extrovert teaching an introvert about self inclusiveness or confidence.

The opportunities here are in the data, of course, but also in the relationships that are built. Creating a company that births learning in whatever format is going to pay for itself a hundred times over.

5. Educational Pathmaker: Using Data to Drive the Classroom

Education is clearly a field that requires more energy and resources from all possible angles.

The need for a data-driven approach to personalized curriculum and educational planning could change the way schools work across the world.

Imagine, for instance, that the patterns in 90% of children who may have autism are present in a student. At what age is it detected that that child may be autistic? Perhaps young, but perhaps not. If there was a computer-aided analysis that helped determine the cognitive abilities of a child dynamically as they progress through their education, better decisions could be made for that child’s education.

This opens up not only the reactive scenarios, but also proactive scenarios such as cognitive research. If children demonstrably respond better to a particular curriculum, this becomes like A/B testing for education programs. Imagine the ability to start determining career paths earlier in life based on natural tendencies, or even based on seemingly unrelated personality or behavioral attributes a given student presents.

Furthermore, this would help provide a selection process for classroom placement, and could possibly even help reduce violence in schools by identifying children who need more specific psychological attention.

The ethics of this particular system are obviously the big question mark. The outlying statistics. What happens when the algorithm is wrong? Obviously, the answer to this question is to never trust the computer more than you trust reality. This is the future of education as well – highly personalized educational paths that are responsive to your cognitive abilities and behavioral patterns.

Conclusion

I hope you’ve enjoyed this second collection of ideas! The goal is to continue these installments, and hopefully continue to make better relationships with you, the reader. In the meantime, shout out and follow me on Twitter!

Make Me Work for It: Challenge Psychology

Fifth-degree black belt.

Doctorate.

Rocket scientist. Triathlon competitor. Fighter pilot. Franciscan Monk. Astronaut. World-record holder. Five-star General. Firefighter. Navy SEAL. Everest scaler. Antarctic explorer. Olympian.

What comes to your mind when you read these titles?

For some, these titles were the answer to “what do you want to be when you grow up”, before they grew up. For others, these titles represent an obvious demand for respect. What’s invariably true is that none of these titles is easy to attain. In fact, quite the opposite; to earn any one of them, one would have to invest an enormous amount of energy and commitment.

What’s more – we attach a sense of elitism to these labels. Perhaps that’s why we wanted to be one of them when we grew up. We naturally have an appreciation for the difficult-to-attain. But why?

Our Addiction to Simplicity Ignores Our Affinity To Challenge

As designers, entrepreneurs, developers, etcetera, we often believe it is of utmost concern to make everything “simple.” We have taken Rams’ principle of “as little design as possible” and over-extend it to mean that anything difficult is evil.

This is not the case.

In fact, Rams’ idea of making something simple should be reframed: design should be easy to understand. Actions should be clear, but not always easy to accomplish.

Let’s take P90X as a ubiquitous example. If you haven’t heard of P90X, you probably don’t watch TV at 3AM… but if you do, you know Tony Horton quite well. He’s that guy reminding you how lazy you are, but also letting you know there’s a path to no longer being lazy via his infomercial.

It’s not an easy path. It’s not a short path. It will take a lot from you, but if you commit to it, a lot of other people who have committed and followed through show you proof that you’re likely to see results. You can get ready for the beach, but it’s going to take putting yourself through 90 days of hell.

I am in no way affiliated with Beach Body, but I find this phenomenon fascinating.

Why would somebody commit to something that is so difficult? Why would they pay a significant sum of money just to hear someone tell them to push themselves harder than they are comfortable pushing? Haven’t we learned that people only do things that are easy and obviously rewarding?

People have the capacity and drive to do hard things. We have that natural affinity to the hard-to-attain – an affinity to challenge that causes us to pick up the phone and order those P90X DVDs, not just because we want to lose our soda-and-Cheetos-weight, but because Tony looks us in our collective faces and gives us a challenge worth engaging.

Challenge: Competition, Achievement, Worth

I believe we have such an affinity to challenge for at least these three primary reasons.

1. Competition

I’ve been watching the College World Series this year. (In fact, it’s playing in the background as I write.) I’ve never watched baseball until this season, and it’s my new sports addiction.

We watch sports because we love competition and collective identity. We even mindlessly attach ourselves emotionally and face-paintedly to a team, without any logical connection, because we identify with competition and create an identity space for ourselves by joining in the highs and lows of fanhood. Why is so much energy, emotion, and resources put into a game? Because we fundamentally are wired for competition. We self-actualize by competing, giving definition to our place in humanity and in our individual communities by adding the dynamics that come with winning and losing, and the excitement of the tension of the game.

2. Achievement

The psychology of Flow (as defined by Mihály Csikszentmihalyi) requires two things: a high skill level and a high challenge level. Furthermore (directly from the Wikipedia summary), flow requires these conditions:

  1. One must be involved in an activity with a clear set of goals and progress. This adds direction and structure to the task.
  2. The task at hand must have clear and immediate feedback. This helps the person negotiate any changing demands and allows them to adjust their performance to maintain the flow state.
  3. One must have a good balance between the perceived challenges of the task at hand and their own perceived skills. One must have confidence in one’s ability to complete the task at hand.

In other words, challenges aren’t really challenges if they are impossible, but they need to be at the edge of our skill set. “Flow” state gives us a sense of movement and achievement.

3. Worth

When we can compete with others, we understand who we are in relation to our competition. When we experience achievement, we naturally develop self worth. We recognize that we have done something significant.

Design Challenge

Perhaps we have an inappropriate amount of value placed on simplicity. Maybe we should take a chance to challenge those engaging with what we create – to ask them if they are willing to do something harder. To invest in doing something: time, money, energy.

Did you set your pricing strategy based on making it easier for the user? Consider the worth your users attach to something they invest in versus something free.

Does your sign up form let anyone with an email address register for your application? Consider requiring users to justify their membership by asking them why they want the membership.

What classes are worth taking? What weights are worth lifting? What walls are worth climbing? Trails are worth hiking? Miles worth running? Time, money, energy worth spending?

Ask this question of yourself: Are you taking away the opportunity for your users to face a challenge worth facing, and trading it for “simplicity?”

What does this say about the worth you place on what you create? Most times, the most rewarding things require challenge. Open a conversation with your users. Be clear, and make it simple, but don’t lower the barrier to entry by making everything easy to accomplish.

Your new marketing pitch:

This is going to be very difficult, but once you’ve gone through it, it will have been worth it. And we are here with you every step of the way.

Create Small Things

Great things are done by a series of small things brought together.
– Vincent Van Gogh

Rule of Parsimony: Write a big program only when it is clear by demonstration that nothing else will do.
– The Unix philosophy

How many of your successes came from complex, massive projects?

The world is made up of simple things, and when we try to create our “big” ideas, we have a tendency to fail. The idea of making something simple does not mean making something easy – it means putting more concentrated attention into fewer details.

WhatsApp. A brilliantly simple concept. I don’t care to discuss the valuation – I care about the fact that it’s used and validated widely. I care about the fact that the design and conceptual approach worked, and all it does is… something small.

At Whiteboard, some of our most effective work has happened over the course of afternoon sprints. This happens because good ideas don’t necessarily rely on a complex network of supporting features, but stand alone. Good ideas often, perhaps almost always, directly address a small, simple problem.

This isn’t to say that we don’t give time to research and fermentation of ideas, but rather to say that we focus on a few ideas intently, and the execution of a solution often occurs very rapidly.

Build Small, Lose Small

Building small means failure is less painful. Building small leads to a higher volume of ideas and more intentional, deep exploration of single ideas, leading to highly predictable outcomes. Building large, on the other hand, usually means a plethora of poorly executed remixes of previous ideas with little predictability.

Building small means your ideas can easily be combined. It means you can test earlier, and rebuild from ground zero with little to no loss, as the value of your efforts is on the knowledge, not the product.

Small Means Easier…

When you build small, you build less maintenance overhead. It makes debugging easier. It makes testing easier. It makes marketing and the road to profitability clearer (maybe not easier). It makes scaling easier. Ultimately, the things that should be easier become easier with a smaller idea.

Small Means Harder…

Because you have to be good at what you do. Really good. You have to win at making fundamental ideas come to life, because when you build small, there are no bonus features. When you build small, transparency and purity shove your work out into the open. Every small detail is in plain view, because there’s less to get lost in. If you build small, you take on a challenge of creating boutique, focused experiences that ultimately get at the core spirit of the problem you’re solving.

Do Less, More Often

The challenge I present you with is to execute smaller ideas to perfection, and do so repeatedly. Small, beautiful, proper nouns are still in high demand, so make Small Things.