Off the top of my head here are some things that are hard and shouldn’t be:
- Code review
- Switching version control systems (not all projects will use the same tool)
- Collaborating closely but not breaking the staging site
- Version control for non-geeks (i.e. designer changing CSS, manager messing with the text or something in a template)
- Deployment (sometimes) - especially updates and especially PHP applications
- Trivial HTML rearranging in CMS output (Drupal in particular)
These are just pulled from my daily work, or other things I’ve done recently.
When I say these are hard I mean that that they take significant effort, and significant thinking. I say that they shouldn’t be hard, because these are all ‘admin’ processes, parts of the development that aren’t actually Development, but need to happen to allow development to go smoothly.
In some of these cases, I probably haven’t found the right tool yet. In some they are a system that’s ‘broken’, not fit for purpose. But in other cases, the most interesting ones, these represent a gap waiting to be filled. An opportunity for a product, or package, or simply a formula (just a blog post maybe?) which solves the problem and turns it into a near automatic process.