This past weekend I gave my first WordCamp talk. I slipped away from my practiced talk several times, but I think that’s okay because it was fun and it spoke more to the needs of those that were in the room. Thanks to everyone who attended and made it a really amazing discussion. I do want to share those stories and points that I skipped over in my presentation. Scroll down to the end if you just want to capture the quick recap.
Here are the slides from my presentation:
1. Share the burden.
First and foremost let me emphasize, DON’T GUESS! Now that we have that out of the way, there are 4 key tips I would like to share that will take some of the pain out of scoping projects. Whether you’re working on the project or you’re the client, it’s important to understand everything that goes into the numbers and to understand that it’s not a guess.
If you have a team, it’s best to have the person that will be doing the work also scoping the work. They will have more knowledge of how long it will take them to do something they already understand.
If you work for yourself… with yourself… by yourself, then estimate hours for the things you know. For other items, do your homework. There is no shame in asking for additional time to research something so that you can better scope the requirements. Whether or not you charge for this discovery time is up to you and your business model and it probably also depends on how much time you’ll need and whether that is because you are inexperienced or because this feature or need is an edge case that you don’t encounter every day.
Next, don’t undervalue your work. I know it’s hard to stick to your guns when you feel like a deal is about to walk away, but you’ll be hurting yourself and your client if it’s not the right fit. When you’ve bid on a project at $1000, it’s most likely not because you’ve marked up the cost. Face it, most of us are best-case scenario estimators because we don’t want to bid too high and lose the deal.
So when that client tells you their budget it only $500, you’re in for a lot of pain if you take the project. You’re such a masochist! In the end you’ll also hurt the client because you’re not going to be able to produce your best work under that kind of stress. I get it though… You feel like you’re looking at $500 or $0. This $1000 project will take you weeks longer than the $500 you’re being paid and in that time, you could have found a client that would have been a better fit for what you offer.
2. Learn as you go.
Thomas Edison once said, “Time is really the only capital that any human being has, and the only thing he can’t afford to lose.”
In order to protect your time, you need to log your time. It is not a natural action for us. You’ll need practice and patience before it becomes a habit. There are a lot of time tracking tools out there and some are even free. I’ve used Tempo, Tick, Toggl, and others have used Harvest and FreshBooks. Even if you use pen and paper, be as diligent as you can about tracking your time.
Once you’ve tracked time for one or more projects you can audit yourself. How long did it really take you to configure that plugin? Don’t be discouraged if your first estimates do not match up to your actuals. You’ll take some hits at first, but with experience you’ll know how to estimate better and with experience you will also start to become more efficient with your more common project tasks.
You’ll also start to get a feel for how much buffer you should add to your estimates. Remember, you’re an optimist. You have probably forgotten to account for the time it takes to answer emails, host meetings, write content, research a requirement, test your code, fix anything that was broken during the test, and the list goes on and on. Obviously, you can’t go crazy with your buffer, but you can be smart about it. Estimate hours for each role, per each requirement and don’t forget to evaluate those high level requirements and set expectations appropriately. Adding a calendar is not the same as adding a calendar that allows users to reserve rooms.
If you aren’t quite sure it’s best not to provide a range of hours. We naturally get attached to that lower number when money is involved. It is so much easier to come under budget instead of over budget. Save yourself an awkward conversation later and instead be the hero that comes in under the estimate. On the plus side, this also protects your ability to deliver a quality product.
Last week, I was flying home from Chicago on the red-eye and I actually dozed off a bit. You know if you’ve ever flown that the wings shift and the plane starts to feel a bit different when you’re landing. I felt the change and woke thinking, “Oh we’re landing,” but we weren’t. In fact we had another 20 minutes until we landed. Think of your project like a plane and you’re the pilot guiding your clients towards their destination. As a passenger, there is no way I’m going to tell the pilot to speed things up. Would you? Imagine skipping steps while landing a plane and equate that to skipping steps on your project. Crash and burn.
Before you start a project there are some risks that will be apparent and you can do discovery and planning for those right away. As you become more experienced, you’ll learn to identify other risk factors and unfortunately, you will also run into those that cannot be scoped. Highlight anything that may not make it into the release. Be transparent with your client and let them know where these unknowns are in the project and how it might impact the budget or delivery.
3. Be realistic.
I read a blog recently called the two dirtiest words in project management. Scope Creep. It’s so common there’s a term for it and it is the most loathed words in project management and development. Not to worry, there is a light at the end of the tunnel.
Additions to the scope can be managed and planned for in the contract phase. You can build in a certain number of iterations for design, a change order hourly rate, or build in phases so that you’re able to assess if something should go into the next phase of work. Change is not really a bad thing and you may even discover something as you build that really should be a part of the project. Allowing yourself some flexibility is the key to delivering better work.
I’ve included a small sample of a maintenance retainer. We used a Google Spreadsheet to collect requests from our partner. We’ve also used Basecamp and Trello. All are good tools and Google and Trello are free. Whatever tool you use, include notes about why seemingly similar features may not be the same level of effort. Empower them to prioritize based on their budget and goals.
This next point is crucial. 40 hours does not equal 1 week. When building technology, there is a lot of back and forth review, discussions and approvals, content needs and asset gathering. Waiting is often part of the process. I’ve include another version of the sample project I posted earlier when we were reviewing the roles. The project is 136 hours and with four resources, it seems like it should only take a week and half. Not so. This project actually took a month and a half do to all of the content and design needs. Could we have done it in less? In a perfect world, and sometimes we do get lucky. More often than not, you need to be realistic about your milestone and delivery dates and push them out a little on the schedule.
Scoping is a lot like spinning plates. Not 1 or 2, but 10 plates, while you’re on someone’s shoulders as they dance around. It’s ridiculously hard and it changes with every project. It requires practice, agility and teamwork. Even then, it can still go wrong, but we’re running a business so we have to do our best and use all the knowledge that we have to set ourselves and our clients up for success.
I mentioned that you can use these steps for small and large projects. The charts I showed were for a project of 136 hours. I did a project earlier this year that was scoped at 1016 hours over 4 months. We delivered that project in 1010 hours. Yes, we rang the gong and had a drink (client included.) How did we accomplish this great feat? We delivered.
4. Ship it.
That’s really what it comes down to in the end. Even if you feel really good about your estimates, the biggest challenge is managing the scope and keep your team (or yourself) on budget. Hold yourself accountable and deliver. You don’t have a business if you don’t deliver. You won’t get paid. Worse, if you allow a project to drag on, you will feel miserable. Remember that it doesn’t have to be perfect. Phases can help you manage the maintenance needs and enhancements.
LinkedIn CEO Reid Hoffman said, “If you’re not embarrassed by the first version of your product, then you’ve launched too late.”
There is so much truth in that statement. Allow yourself and your client victories along the way. You don’t have to be done when it’s launched, but do give yourselves time to rest and reset so that you can continue to build awesome things together.
Finally, as you go you will encounter a lot of questions about what is and isn’t possible. Nothing’s impossible with enough time and enough money. The answer to this question, should be yes, if… Sometimes what comes next is not something you can or want to do and that’s fine too.
Share the burden: Don’t guess, don’t cut corners, don’t sell yourself short.
Learn as you go: Track your time. Buffer your estimate. Assess the risks.
Be realistic: Prepare for scope creep. Prioritize. Schedule realistically.
Ship it: Deliver quality work, on time and on budget.
— Rudy Lopes (@yankeerudy) October 4, 2014