TweetFollow Us on Twitter

Humane Project Planning

Volume Number: 25
Issue Number: 10
Column Tag: Business

Humane Project Planning

All we know about starting an Apple business, from the idea, to product launch and beyond

by Michael Göbel and Oliver Pospisil, Inspired By Life

Inside Inspired By Life

Michael: "Oliver, I'm not satisfied with the outline view."

Oliver: "What bothers you about it?"

Michael: "I don't think so many users really need it."

Oliver: "What feature could be more important?"

Michael: "That's exactly the problem. Right now, it's just more of a gut feeling."

Oliver: "Ok. Let's tackle the problem from another side. We need an outline view to enable the user to put the elements into hierarchical order. Which feature would add more value for the user?"

Michael: "Initially, we had planned on offering attachments in version 1.x. So shouldn't we still do it? When I checked our decision log out again, it sure looks like both of us had very strong, positive arguments for the outline view and for the attachments, too."

Oliver: "Yes, we had opted for the outline view for one of our potential customers. Since we've now adjusted our overall strategy, let's think of a way to implement both."

Michael: "Ok, since another developer has teamed up with us, that should be doable. I'll get back to you on this as soon as possible."

Introduction

We will now be your guide during the following planning session. At the end of this article, you'll know what it takes to come up with a plan that's worth the time invested and that provides the right trigger for non-coding activities like a press release.

The Plan, reframed

"[Planning] is the last refuge of those who cannot dream," Oscar Wilde.

Most people perceive a plan to be something that makes them feel kind of guilty since plans generally do not end up being error-free. Others see a plan as a broken promise and nobody likes it when promises are not kept. Therefore: No planning, no broken promises.

This mental model needs to be reframed:

Imagine that you're climbing up a mountain. The path ahead of you is blocked and you need an alternative path to reach the top. What do you do? You pull out your map, look for alternative paths and decide on the best one to take.

The plan, while developing a software program, is your map. Not only is the plan a way to think through the details of your software in depth. It is also becomes the most valuable tool the minute you pinpoint a gap between your plan and actual reality: You pull your plan out to decide what the best course of action is to get back on track.

Triggering is the second reason for planning. The release of a software program entails far more than just pure coding. It involves a beta program, marketing and sales, i.e. non-coding activities. All activities must be in sync to reach the release date as soon as possible.

  • As a manager, for example, I need to know
  • When I have to have a private beta testing team set up,
  • When the content for the website needs to ready,
  • When the payment system needs to be in place,
  • When the help and support documentation needs to be ready and
  • When the press release must be published.

In software development, the coder sets the pace. The plan provides all non-coders with the right trigger to get their job done.

The Planning Session

Now we'll get the right tools in place and guide you through all of the planning steps.

A Minimalistic Toolbox: Numbers and Pen & Paper

The toolkit should be as lightweight as possible: We recommend Numbers (or MS Excel) to list all of the software's features and to make estimates. All you need for GUI prototyping is a pen and a stack of paper.

You might tell yourself "I'm not a painter." However, you don't have to be a painter to perform GUI paper prototyping. By putting GUI prototypes down on paper, you think through your application's features in depth and it will take you less time than it would with any other tool.

You might say "But with pen and paper, I'll have to start all over again when I need to modify something." Yes, and this is for a good reason, too. Keep all of the different versions of your notes and occasionally spread them out next to each other to check the evolution (or revolution). Make sure to put the date and time on each piece of paper.

While conducting GUI prototyping on paper you will find out that some forms stabilize or are predetermined (like the iPhone's display screen). Make a stencil out of it. As an example, a link to an iPhone stencil is included in the reference section of this article.

This is how Cultured Code did it:


Figure 1: iPhone stencil by Cultured Code

What if you're really different: You deliver the best results by implementing them right away. Well, if this is the case, take the liberty to do it your way.

An Enhanced Toolbox: Merlin and FogBugz

If your project is extremely complicated with highly complex dependencies use Merlin, which is the one and only project management tool that I would use in such a case. For all others (the majority) Numbers or Excel will do the trick.

There is one application specialist for software developers who work in remote areas: It's FogBugz. FogBugz is a bug tracker, project management tool and so much more; implemented by programmers for programmers - and not for managers. Since we now have a third team member on board (Michael discovered a great developer. Hi, Raphael!), we're now working in three different places and we set FogBugz up to update the plan, and it serves as a central hub for our seamless communication.

The Process: Initial setup and keeping it up-to-date

Now that our tools are in place, it's time for us to take action.

In essence, project planning is easy (often the tools or the method are what make it complicated):

First you need to brainstorm about all of your application's potential features, and then you need to list all of the features that must be in the first or next release and store all the rest for a future release. Finally, make sure to estimate the time it will take to implement each feature.

Secondly, update your plan. And that's all there is to it!

The First Meeting: Set the direction and get into the user's shoes

The first meeting for the planning session sets two main goals: The first is to get everyone involved to look ahead in the same direction and the second is to generate as many feature ideas as possible from as many viewpoints as possible: Go for quantity!

Get everyone who is involved in making sure the product is a success into the same room. It's the manager's job to get everyone to look in the same direction: Tell everyone a story dealing with the spirit of the soon-to-come software program. Then schedule a ten minute coffee break to get everyone to talk about it.

The second part will fill up the rest of the day: Let's get into the user's shoes!

The first thing you have to do is to come up with some scenarios on how the user will deploy the soon-to-come application based on the "One day in the user's life" stories. Ideally, you should draw small graphics like a comic strip. Come up with two to five scenarios.

Then find real world metaphors users would apply in the scenarios if they had to do it without a computer. Image life without Google maps: Take a real map and some pins to mark the direction from San Francisco to Houston. In addition, the user might have taken some notes on important points to remember.

Resist the temptation to talk about "What will it look like in the software." That's something that can wait until tomorrow.

Document everything on a flip chart, whiteboard, post-it notes or whatever suits your brainstorming session the best.

After the brainstorming is over, it's the manager's job to document and structure all the ideas.

The Second Meeting: Set the plan up

The next meeting on day number two will answer the question: "What will it look like in the software?" This is the right time to dig deeper and get specific. Don't be surprised if it takes you much longer than one day to finally answer this question.

And time for action: Take the first scenario and the real-world metaphors and jot down GUI paper prototypes to transform it into software. Take notes to describe the non-visible functions. If possible, do this with different groups of people who are working on the same scenario.

Compare the ideas and interlink the best ones. Once you have a lot of GUI paper prototypes, a pattern of features will emerge. That's exactly what we want. It's the first indication that it is stabilizing.

To get an idea of what a GUI paper prototype looks like, here is the one for Things for iPhone by Cultured Code:


Figure 2: GUI paper prototype, Things for iPhone by Cultured Code

Now do the same thing with all of the scenarios. Next, put the best solutions for each scenario next to each other for comparison. Again, check the pattern carefully and go for consistency: Buttons that trigger the same function must be in the same place and similar features should work in the same way.

One tip: Don't let a domain expert participate. Become a domain expert yourself and find your own solutions. For most non-software people it's almost impossible to imagine what things actually look like in software. Domain experts will come into play once you have a final-product-like-looking prototype.

Now it's time to decide which features to include in version 1.0. Put on the manager's hat and list all the must-have, super important features and set their priority to two. All of the nice-to-have features should be prioritized with a four or less. Et voilà: You have your feature specification.

You'll find some features in every good Mac software: Help, Icon, Website, Shop, Auto update, Serial number generator, Press release, ... put them on the feature list, too.

Now the ball goes back to the developer: Estimating how long it will take to implement each feature. To all the developers out there: Remember, you are doing this because the non-coders need to be triggered.

A personal note: Since you're not writing specifications for upper management, it's okay to have some fun. Name the user "Polly the potato." Write in a way so that your mom will understand the specifications, and not the compiler. It's typical to review and rewrite your specs several times.

Figure 3 (below) is part of the feature specs for our application:


Figure 3: Example for a feature specification

How a good feature spec is structured

Here are some tips on how to write good feature specs:

  • Write to get attention, and not to put people to sleep.
  • Write to be understood.
  • Write short active sentences not long or passive ones.
  • Assign someone (and only one!) who is responsible for each spec.
  • Describe only the invisible parts of the feature.
  • Give every feature a title and a unique ID that never changes.
  • If you use Pages or Word, make sure the whole document has a version number.

To find out more about how to write feature specifications, Joel Spolky's articles are an excellent source.

Regarding estimation

Rule of thumb: It takes three (!) times longer than you think.

This is why:

First, it takes a lot longer to implement a feature in a product because you need to get it ready for numerous exceptions to the rule. It's not like internal development where you can more or less coerce the user into using a feature in a certain way. Your customers will use it however they want and you must deal with their specific needs in a constructive way.

Second, getting the application released fuels your ideas further. Thus, your subconscious seduces you to underestimate the effort. That's okay it's human nature.

Be realistic and include the following in your estimation: you come down with the flu (five days each year), you take vacation (six weeks each year), time for debugging, and on the list goes.

Don't estimate features. They're just too complicated. Features consist of multiple functions. This is where the work for developers really begins: Thinking in great detail about which functions must be implemented to create a feature. In this way, developers think it over in great detail and they obtain an excellent baseline to estimate each function, before even starting to write one single line of code.

The scale estimation is in hours and not days or weeks. To all the managers out there: If you come across an estimation that is more than eight hours, ask the developer to rework it in sections consisting of less than eight hours. If an estimate is over eight hours, that definitely means the developer didn't think through it in enough detail.

To all managers: Whatever you think, the developer's estimation is authoritative. Period.

Inspired by Joel's famous Excel sheet for estimation, Figure 4 (below) is the one used for our application:


Figure 4: Example of feature and function planning

To find out more, read Joel Spolky's original and updated articles which zone in on estimations.

Setting priorities and making decisions

Quite likely, you've listed too many features for version 1.0. So now it's time to prioritize the features and decide which ones to incorporate in version 1.0.

The key rule: Features should only be ranked up to a maximum of priority #2. Priority number 1 is to be set for bugs and nothing else.

Take a close look at the scenarios and only rate those features with a priority #2 that are absolutely essential. All must-have features required by each application (incl. the user manual, support, updating service,) should be rated with a priority # 2 as well. Everything else should be prioritized between the range of 3 and 5.

Figure 5 (below) is a sample estimation sheet, including the prioritization.


Figure 5: Example of estimation and prioritization

Decision-making is almost always a hard thing to do. Even though the final outcome will simply be a Yes-or-No, you must nevertheless take your decision very carefully. Many useful approaches are available today on how to make the best possible decisions, however, you should only put one of them into actual practice. What works best for me is the approach crafted by Spencer - the "Yes-or-No Strategy." The following is a condensed version of the core components of his approach:

Step one: Avoid indecision and half-decisions based on half-truths.

Step two: After you thought deeply about your own rationale and have listened to opinions presented by others, you make a better decision and act on it immediately.

Step three: Is it necessary to decide and are you ready to do it?

Are you meeting a real need? - Is it a mere want or a real need?

Are you informing yourself about the options? - What information do you need? Have you come up with feasible alternatives?

Are you thinking it through? - If you decided on "x", what would happen then? And then what?

Yes or No?

Step four: Do you remain true to yourself?

Are you being honest with yourself? - Are you telling yourself the truth?

Do you trust your gut intuition? - Does it feel right? You weren't afraid?

Do you deserve more? What would you do if I deserved better?

Yes or No?

Finally: If the answer is Yes, act on it. If the answer is No, work through it again.

Procrastination

"Action is the last refuge of those who cannot dream" -- Oscar Wilde.

Do you feel a strong reluctance within yourself to list the features and estimations or to take the necessary decisions? If so, congratulations, this just goes to show you're in excellent mental shape. Procrastination is your inner shield that is there to help you sidestep failure. Nobody, of course, wants to see their all-out endeavors backfire and then ultimately fail.

What you do know is that to make sure your application is released, you cannot stop now. You must make feasible estimates, list the core features and take decisions, even when you run a risk of failing. The following are some ways that will help you succeed rather than fail:

1. Fully understand that something deep within you just wants to keep you out of harm's way.

2. Everything starts by taking the first step. So just do it! What you do doesn't have to be perfect. (I had to rewrite this article at least five times and in certain areas, revisions were made at least ten times. But that's how to do it and it does get done! Michael, for example, uses innumerable GUI prototypes to come up with the one that works best.)

3. Talk about it with others and ask for their help.

It's important to move forward everyday, at least a little bit. Taking a break intentionally is another way to move forward because you are tanking up on energy, reenergizing your batteries. However, if your break turns into a whole week instead of just a few hours, that could be a sign of procrastination.

Step two: Keep your plan up-to-date

An outdated plan is as useless as an old map. Keeping your plan up-to-date is a routine that you should turn into a habit at least once a week - and preferably once each day.

In this way, you will know when the triggers for non-coding activities are released and you will learn lessons crucial for the future.

Before unveiling version 1.0 on the market, it will not be a critically risky move to announce the release date later than initially planned because what counts, first and foremost, is that it is fully updated and really ready to go. However, once version 1.0 has been launched, you need to know when version 1.1 will be ready for release. You can be sure of one thing: People are only truly passionate about software that is updated on a regular basis (and with which YOU earn money for a living). Just take a look at the sales chart of VoodooPad in our last article and you will clearly see how sales dipped down due to the lack of regular updates. You need to trust your estimation.

Let's say it always takes twice as long as your first estimate (this is your estimation factor): In the future, multiply your estimation with that factor and you will be much more precise. Believe me: You'll love the feeling of being able to implement a feature on time!

But new ideas pop up continually

Congratulations! That's quite normal and a sign that your creativity is in great shape, too.

When a new idea comes up while you're in working mode, jot your note down and continue to work. In this way, you stay focused and your mindset stays creative. It's not a vicious circle, it's a victorious circle - so take pride in it.

Don't think about your new idea for two or three days before you compare it with your existing ideas for version 1.0. In order to ensure adherence to the planned release date, you might need to exchange your new idea with an existing one.

But whenever in doubt, just stick to your original plan and save the new idea for a future version.

Decisions, Decisions, Decisions and one log

A decision log is simply a document listing all your decisions by topic, date of decision and description of the decision. Simple as it may seem during the development phase, it becomes super important later on and it's one of the very best time-saving tools.

You will have to take a lot of decisions right on up to the day when version 1.0 is on the shelves, and just waiting for buyers. In certain cases even after several months have passed, you'll find yourself confronted with a situation where you must make a decision on the very same topic again. Since you're smart, you don't waste any time by going through the whole decision-making process again. No, what you do is open your decision log up and quickly read about how and why(!) you decided months ago to take the course of action that you did. Now, all you need to do is to consider your decision in detail:

Do my reasons still hold true? If they do, it is okay and let's move on as planned.

Are new facts influencing your former decision? Ok, let's take another, new decision. As a consequence, you might need to update your plan and document your decision in the decision log.

In most instances, former decisions still hold true and re-reading them will save you a great deal of time rather than re-deciding all over time and again.

To be honest, we did not use a decision log at the start and we often regret not having done so right from day one.


Figure 6: Example of a decision log

Figure 6 (above) is part of the decision log for Aphorism inspired by Bob Walsh.

Conclusion

During the planning session, you made up your mind about all of the features you need to implement for version 1.0. You now know what lies ahead. When you check your plan today, you might even come across certain dates where marking a time to celebrate would be absolutely fantastic!

The closer you get to the release date, the more you'll consider your plan to be like an assistant that helps you to stay in control and to not forget something that is really important (like the press release). The plan will help you to relax and it will sooth your nerves.

If you implement a feature and you have to make a critical decision, the plan and the decision log will support you in taking the best possible decision in terms of the context in which your feature will be implemented.

What's next?

Check your plan out: Are you or your team able to do it all by themselves? The GUI and Icon design, the coding, writing the user's manual, developing the webpage and crafting a press release that will spark potential buyers' interest?

Not all of us have been blessed with the gift of an omnipresent talent like that (I'm not). In our next article, we will tell you how to find the "Seven Samurai" who will help make your dreams come true.

If you're curious and want to find out more about the above-mentioned topic now, we highly recommend checking the "Seven Samurai" DVD out by Akira Kurosawa. The plot is the prototype of all modern action films and it's the metaphor of our next article.

Connect with us!

We want to share stimulating, innovative ideas with you and we really look forward to your feedback! Is anything missing or do you think something could be fleshed out in further detail? Just let us know and write to oliver.pospisil@inspiredbylife.com.

Bibliography and References

Books:

Snyder, Carolyn. Paper Prototyping: The Fast and Easy Way to Design and Refine User Interfaces. San Diego, 2003.

Johnson, Spencer. Yes or No: The Guide to Better Decisions: A Story. New York, 1992.

Dan Roam. The Back of the Napkin. New York, 2008.

Bob Walsh. Micro-ISV: From Vision to Reality. New York, 2006.

Websites:

iPhone stencil: http://www.designcommission.com/shop/iphone-stencil-kit/

Joel Spolsky on feature spec (Part 1 of 4): http://www.joelonsoftware.com/articles/fog0000000245.html

Cultured Code - Things for iPhone: http://culturedcode.com/things/iphone/

Merlin: http://www.projectwizards.net/en/merlin/

FogBugz: http://www.fogcreek.com/FogBugz/


Michael started MOApp up in 2004 and he has now developed more than ten applications - six of them are Apple staff picks. He does everything from software development, icon design, website development to sales management and public relations.

Oliver has been in the software business for over ten years, specializing in areas ranging from Palm programming to large-scale, in-house Java projects. In 2006, an idea grabbed his attention that both are now working on. He is still working full-time for a German retail company and will be until the new business starts paying off their bills.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Latest Forum Discussions

See All

Go from lowly lizard to wicked Wyvern in...
Do you like questing, and do you like dragons? If not then boy is this not the announcement for you, as Loongcheer Game has unveiled Quest Dragon: Idle Mobile Game. Yes, it is amazing Square Enix hasn’t sued them for copyright infringement, but... | Read more »
Aether Gazer unveils Chapter 16 of its m...
After a bit of maintenance, Aether Gazer has released Chapter 16 of its main storyline, titled Night Parade of the Beasts. This big update brings a new character, a special outfit, some special limited-time events, and, of course, an engaging... | Read more »
Challenge those pesky wyverns to a dance...
After recently having you do battle against your foes by wildly flailing Hello Kitty and friends at them, GungHo Online has whipped out another surprising collaboration for Puzzle & Dragons. It is now time to beat your opponents by cha-cha... | Read more »
Pack a magnifying glass and practice you...
Somehow it has already been a year since Torchlight: Infinite launched, and XD Games is celebrating by blending in what sounds like a truly fantastic new update. Fans of Cthulhu rejoice, as Whispering Mist brings some horror elements, and tests... | Read more »
Summon your guild and prepare for war in...
Netmarble is making some pretty big moves with their latest update for Seven Knights Idle Adventure, with a bunch of interesting additions. Two new heroes enter the battle, there are events and bosses abound, and perhaps most interesting, a huge... | Read more »
Make the passage of time your plaything...
While some of us are still waiting for a chance to get our hands on Ash Prime - yes, don’t remind me I could currently buy him this month I’m barely hanging on - Digital Extremes has announced its next anticipated Prime Form for Warframe. Starting... | Read more »
If you can find it and fit through the d...
The holy trinity of amazing company names have come together, to release their equally amazing and adorable mobile game, Hamster Inn. Published by HyperBeard Games, and co-developed by Mum Not Proud and Little Sasquatch Studios, it's time to... | Read more »
Amikin Survival opens for pre-orders on...
Join me on the wonderful trip down the inspiration rabbit hole; much as Palworld seemingly “borrowed” many aspects from the hit Pokemon franchise, it is time for the heavily armed animal survival to also spawn some illegitimate children as Helio... | Read more »
PUBG Mobile teams up with global phenome...
Since launching in 2019, SpyxFamily has exploded to damn near catastrophic popularity, so it was only a matter of time before a mobile game snapped up a collaboration. Enter PUBG Mobile. Until May 12th, players will be able to collect a host of... | Read more »
Embark into the frozen tundra of certain...
Chucklefish, developers of hit action-adventure sandbox game Starbound and owner of one of the cutest logos in gaming, has released their roguelike deck-builder Wildfrost. Created alongside developers Gaziter and Deadpan Games, Wildfrost will... | Read more »

Price Scanner via MacPrices.net

Limited-time sale: 13-inch M3 MacBook Airs fo...
Amazon has the base 13″ M3 MacBook Air (8GB/256GB) in stock and on sale for a limited time for $989 shipped. That’s $110 off MSRP, and it’s the lowest price we’ve seen so far for an M3-powered... Read more
13-inch M2 MacBook Airs in stock today at App...
Apple has 13″ M2 MacBook Airs available for only $849 today in their Certified Refurbished store. These are the cheapest M2-powered MacBooks for sale at Apple. Apple’s one-year warranty is included,... Read more
New today at Apple: Series 9 Watches availabl...
Apple is now offering Certified Refurbished Apple Watch Series 9 models on their online store for up to $80 off MSRP, starting at $339. Each Watch includes Apple’s standard one-year warranty, a new... Read more
The latest Apple iPhone deals from wireless c...
We’ve updated our iPhone Price Tracker with the latest carrier deals on Apple’s iPhone 15 family of smartphones as well as previous models including the iPhone 14, 13, 12, 11, and SE. Use our price... Read more
Boost Mobile will sell you an iPhone 11 for $...
Boost Mobile, an MVNO using AT&T and T-Mobile’s networks, is offering an iPhone 11 for $149.99 when purchased with their $40 Unlimited service plan (12GB of premium data). No trade-in is required... Read more
Free iPhone 15 plus Unlimited service for $60...
Boost Infinite, part of MVNO Boost Mobile using AT&T and T-Mobile’s networks, is offering a free 128GB iPhone 15 for $60 per month including their Unlimited service plan (30GB of premium data).... Read more
$300 off any new iPhone with service at Red P...
Red Pocket Mobile has new Apple iPhones on sale for $300 off MSRP when you switch and open up a new line of service. Red Pocket Mobile is a nationwide MVNO using all the major wireless carrier... Read more
Clearance 13-inch M1 MacBook Airs available a...
Apple has clearance 13″ M1 MacBook Airs, Certified Refurbished, available for $759 for 8-Core CPU/7-Core GPU/256GB models and $929 for 8-Core CPU/8-Core GPU/512GB models. Apple’s one-year warranty is... Read more
Updated Apple MacBook Price Trackers
Our Apple award-winning MacBook Price Trackers are continually updated with the latest information on prices, bundles, and availability for 16″ and 14″ MacBook Pros along with 13″ and 15″ MacBook... Read more
Every model of Apple’s 13-inch M3 MacBook Air...
Best Buy has Apple 13″ MacBook Airs with M3 CPUs in stock and on sale today for $100 off MSRP. Prices start at $999. Their prices are the lowest currently available for new 13″ M3 MacBook Airs among... Read more

Jobs Board

Solutions Engineer - *Apple* - SHI (United...
**Job Summary** An Apple Solution Engineer's primary role is tosupport SHI customers in their efforts to select, deploy, and manage Apple operating systems and Read more
DMR Technician - *Apple* /iOS Systems - Haml...
…relevant point-of-need technology self-help aids are available as appropriate. ** Apple Systems Administration** **:** Develops solutions for supporting, deploying, Read more
Omnichannel Associate - *Apple* Blossom Mal...
Omnichannel Associate - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Read more
Operations Associate - *Apple* Blossom Mall...
Operations Associate - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Read more
Cashier - *Apple* Blossom Mall - JCPenney (...
Cashier - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Blossom Mall Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.