Personal web projects are eternally in-progress. Even more so than client projects, personal projects suffer from crippling inner monologues taunting "not good enough", "not quite perfect", "you've gone this far, you might as well add...", "it would be silly to launch without...", and the list goes on. At Poptent, our tech team recently began trying an agile workflow. I'll be talking plenty more about agile, but one thing we've been struggling with is launching early; not before deadlines per se, just before everything is "done". Our story lists are bursting at the seams with lots of cool features, and in an attempt to have really impressive releases, long periods of time will pass with nothing getting pushed to production.
Moving forward, I'm going to experiment with the following approach:
"What's the absolute bare minimum amount of work we need to complete to push something live?"
While this may sound like an exercise in laziness, there are some major benefits to this approach:
- Stakeholders get to see fast progress on a live website
- Developers get to focus intently on a small portion of work for a small duration of time
- Scope/feature creep is avoided because the timeline is so short, and there will be time for additional features in future iterations
This blog is a place for me to try things out on a smaller scale, so I'm launching early, and will apply what I learn to my next big project. Here's what I determined the bare minimum:
- Simple, clean design
- Article listing page
- Article detail page
- Footer info
- Lightweight database/back-end
- Barebones admin CMS
- Pretty URLs
Just enough to quickly publish articles yet have a solid foundation foundation for beefing up the code/features. Yes, I could have accomplished this with WordPress in 5 minutes with an install and a free template. But A) I hate working with WordPress B) I want this site in and of itself to be a learning experience C) I have some cool plans in mind that WordPress would not accommodate.
So I've spent 3 consecutive weekends designing, coding, and writing, and I'm pushing live well before I am satisfied with any portion of the site. But now that it's up, I'll be more motivated to incrementally improve, and depending on my inspiration on any given day I can focus on writing articles or on building features because I have a foundation which supports both. Some things to come:
- Archive pages
- Categories
- Recommended Reading section
- About page
- Expanded footer
- Comments or some sort of feedback system
- More HTML5-oriented markup
- Caching
- Asset Packaging
- WYSIWYG Admin with file uploads
- Version Control
Many people would consider these standard/essential blog features. But were you able to read this content without them? Yes.