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

Fresh From the Land Down Under – The Tou...
After a two week hiatus, we are back with another episode of The TouchArcade Show. Eli is fresh off his trip to Australia, which according to him is very similar to America but more upside down. Also kangaroos all over. Other topics this week... | Read more »
TouchArcade Game of the Week: ‘Dungeon T...
I’m a little conflicted on this week’s pick. Pretty much everyone knows the legend of Dungeon Raid, the match-3 RPG hybrid that took the world by storm way back in 2011. Everyone at the time was obsessed with it, but for whatever reason the... | Read more »
SwitchArcade Round-Up: Reviews Featuring...
Hello gentle readers, and welcome to the SwitchArcade Round-Up for July 19th, 2024. In today’s article, we finish up the week with the unusual appearance of a review. I’ve spent my time with Hot Lap Racing, and I’m ready to give my verdict. After... | Read more »
Draknek Interview: Alan Hazelden on Thin...
Ever since I played my first release from Draknek & Friends years ago, I knew I wanted to sit down with Alan Hazelden and chat about the team, puzzle games, and much more. | Read more »
The Latest ‘Marvel Snap’ OTA Update Buff...
I don’t know about all of you, my fellow Marvel Snap (Free) players, but these days when I see a balance update I find myself clenching my… teeth and bracing for the impact to my decks. They’ve been pretty spicy of late, after all. How will the... | Read more »
‘Honkai Star Rail’ Version 2.4 “Finest D...
HoYoverse just announced the Honkai Star Rail (Free) version 2.4 “Finest Duel Under the Pristine Blue" update alongside a surprising collaboration. Honkai Star Rail 2.4 follows the 2.3 “Farewell, Penacony" update. Read about that here. | Read more »
‘Vampire Survivors+’ on Apple Arcade Wil...
Earlier this month, Apple revealed that poncle’s excellent Vampire Survivors+ () would be heading to Apple Arcade as a new App Store Great. I reached out to poncle to check in on the DLC for Vampire Survivors+ because only the first two DLCs were... | Read more »
Homerun Clash 2: Legends Derby opens for...
Since launching in 2018, Homerun Clash has performed admirably for HAEGIN, racking up 12 million players all eager to prove they could be the next baseball champions. Well, the title will soon be up for grabs again, as Homerun Clash 2: Legends... | Read more »
‘Neverness to Everness’ Is a Free To Pla...
Perfect World Games and Hotta Studio (Tower of Fantasy) announced a new free to play open world RPG in the form of Neverness to Everness a few days ago (via Gematsu). Neverness to Everness has an urban setting, and the two reveal trailers for it... | Read more »
Meditative Puzzler ‘Ouros’ Coming to iOS...
Ouros is a mediative puzzle game from developer Michael Kamm that launched on PC just a couple of months back, and today it has been revealed that the title is now heading to iOS and Android devices next month. Which is good news I say because this... | Read more »

Price Scanner via MacPrices.net

Amazon is still selling 16-inch MacBook Pros...
Prime Day in July is over, but Amazon is still selling 16-inch Apple MacBook Pros for $500-$600 off MSRP. Shipping is free. These are the lowest prices available this weekend for new 16″ Apple... Read more
Walmart continues to sell clearance 13-inch M...
Walmart continues to offer clearance, but new, Apple 13″ M1 MacBook Airs (8GB RAM, 256GB SSD) online for $699, $300 off original MSRP, in Space Gray, Silver, and Gold colors. These are new MacBooks... Read more
Apple is offering steep discounts, up to $600...
Apple has standard-configuration 16″ M3 Max MacBook Pros available, Certified Refurbished, starting at $2969 and ranging up to $600 off MSRP. Each model features a new outer case, shipping is free,... Read more
Save up to $480 with these 14-inch M3 Pro/M3...
Apple has 14″ M3 Pro and M3 Max MacBook Pros in stock today and available, Certified Refurbished, starting at $1699 and ranging up to $480 off MSRP. Each model features a new outer case, shipping is... Read more
Amazon has clearance 9th-generation WiFi iPad...
Amazon has Apple’s 9th generation 10.2″ WiFi iPads on sale for $80-$100 off MSRP, starting only $249. Their prices are the lowest available for new iPads anywhere: – 10″ 64GB WiFi iPad (Space Gray or... Read more
Apple is offering a $50 discount on 2nd-gener...
Apple has Certified Refurbished White and Midnight HomePods available for $249, Certified Refurbished. That’s $50 off MSRP and the lowest price currently available for a full-size Apple HomePod today... Read more
The latest MacBook Pro sale at Amazon: 16-inc...
Amazon is offering instant discounts on 16″ M3 Pro and 16″ M3 Max MacBook Pros ranging up to $400 off MSRP as part of their early July 4th sale. Shipping is free. These are the lowest prices... Read more
14-inch M3 Pro MacBook Pros with 36GB of RAM...
B&H Photo has 14″ M3 Pro MacBook Pros with 36GB of RAM and 512GB or 1TB SSDs in stock today and on sale for $200 off Apple’s MSRP, each including free 1-2 day shipping: – 14″ M3 Pro MacBook Pro (... Read more
14-inch M3 MacBook Pros with 16GB of RAM on s...
B&H Photo has 14″ M3 MacBook Pros with 16GB of RAM and 512GB or 1TB SSDs in stock today and on sale for $150-$200 off Apple’s MSRP, each including free 1-2 day shipping: – 14″ M3 MacBook Pro (... Read more
Amazon is offering $170-$200 discounts on new...
Amazon is offering a $170-$200 discount on every configuration and color of Apple’s M3-powered 15″ MacBook Airs. Prices start at $1129 for models with 8GB of RAM and 256GB of storage: – 15″ M3... Read more

Jobs Board

*Apple* Systems Engineer - Chenega Corporati...
…LLC,** a **Chenega Professional Services** ' company, is looking for a ** Apple Systems Engineer** to support the Information Technology Operations and Maintenance Read more
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
*Apple* / Mac Administrator - JAMF Pro - Ame...
Amentum is seeking an ** Apple / Mac Administrator - JAMF Pro** to provide support with the Apple Ecosystem to include hardware and software to join our team and 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.