Waterfall is dead.
Design and development are best done in parallel. Don’t do go through a hundred rounds of design revisions before putting something in code. I typically make the broadest stroke possible and then get that into a form where you can test. How fast you can learn what works is way more important than whether that blue should be #3f97ec or #bbdaf8. You should be releasing a new web version as fast as possible. 1 week cycles are best.
Monday — User Stories
Team: User story and group sketching. Use paper, not white boards. Have everyone including engineers design their own version. (no copying!). This is a great time to think about What If We….?
Designers: This is playtime. This where you can prove your value to the company and think of amazing beautiful things.
Engineers: Resist the urge to find holes. Today is all about what is possible. Edge cases are debbie downers.
Product Managers: You must understand and own the user problem. It’s your job to disseminate how this is important to your business and how it can help grow key metrics. It’s not your job necessarily to dictate how a feature should work.
Tuesday — Wireframes and HTML sketching
Wireframes should be used to get the flow right. HTML sketches are extremely simple, just so that engineering can get an idea of what it might require.
Designers: Broad strokes. Nail basic type, button and imagery. Don’t get it perfect, get it to a point where it makes sense to someone other than you.
Engineers: How can you build this quickest? How can you build this thoroughly? Resist the urge to over architect because no one knows yet if this feature is a keeper. Think about edge cases but remember the 80/20 rule. 80% of the time, nobody gives a fuck about edge cases.
Product Managers: Keep your team focused on getting quick results that you can validate. Think about the next iteration as well as the current. Don’t think about iterations 2 down from now.
Wednesday — Prototype & Test.
Get a flow in Invision with wireframes or if your framework supports it, right on your web site.
Engineers: Should have modeling and API work done as this point. Get your TDD on. How will migrations work for existing users? This is where you prove your value to the company. You are crazy smart and thorough.
Designers: Refine. Get your CSS tight. (uh you don’t CSS bro? lame.) Validate all states. Think about error cases. You should be at least in revision 10 of your comps and those comps should be tight by now.
Product Managers: User test. Ask 5 coworkers to try it out. Fix the small issues, and think about whether the big ones are worth worrying about.
Thursday — Beta Release
Get it out to as many people as possible (100-1000). Gather feedback.
Engineers: Fix the stupid bugs. Prioritize the major ones.This is a terrible time to ask What if We?? Feature Creep warning.
Designers: How will you market your awesome new feature? What’s the 3 headlines that make it clear how valuable this feature is to the world? Take screenshots. Don’t post them on Dribbble artistically angled you douche.
Product Managers: Seriously, don’t say What if We??. Get that shit out the door. Product Managers who get teams to ship are 100x more valuable than Product Managers who say What if. This is where you prove your value to the company.
Friday — QA/Code Review
Never release anything on a Friday. I like to go home at a reasonable time. Spend time doing QA/Code review. Resist the urge to refactor unless you are sure you can get it done today. Always release on a Monday or a Tuesday. The weekend works wonders to mull things over.
Designers: Buy the Engineers a drink.
Engineers: Buy the Designers a drink.
Product Managers: Buy everyone a drink. Go home sober and work on your metrics and analytics you little nerd.
The Following Monday — Release
Turn off email. Open your analytics and tail the server. Focus on only deployment.
You have backups right? Shit will go wrong. Don’t stress, now is the fun part. Think of it like a game, how many fires can you put out before your hair turns grey?
Ha just kidding. With all the TDD and user validation things should actually go smooth.The best releases aren’t a big deal.Oh it’s up? Nice job team. Now repeat.
If your web/mobile business can’t release on a 1 week cycle you will be shot dead by competitors who can. It’s 2013 people, we’re at ludicrous speed.
It’s not first to market, it’s first to best revision
You won’t get it right the first time. But you will get it right if you user test and iterate constantly. Don’t worry if your competitors release a similar feature. Learn from their mistakes and make yours better. Your first release should be good enough, but your next release should be amazing.
Myspace came first, remember that.