BoredomIsaSmell. Possibly the only smell you should heed when it comes to the decision to automate.
Examples of non-boring tasks, which would be less-suited to automation, with their boring counterparts, which would be more beneficial to automate:
- Not boring: Coming up with a style guide for a new language
- Boring: Re-indenting code
- Not boring: Higher-level search-and-replace (i.e., finding all code that directly uses the database and making it use an indirect layer)
- Boring: Literal search-and-replace (change "getSelectSql" to "selectSql")
- Not boring: Extracting an interface
- Boring: Implementing an interface (in a language like Java)
- Not boring: Choosing between delegation and inheritance
- Boring: Writing delegation code
- Not boring: Planning
- Boring: Collecting metrics
- Not boring: Writing test procedures
- Boring: Running test procedures
- Not boring: Determining how to build and deploy the software
- Boring: Building and deploying the software
- Not boring: 20%
- Boring: 80%
I
HaveThisPattern. Every time I find myself saying "this is boring" while working on my Web site, I end up creating another script to
AutomateBoredom: site maintenance, uploading changes, HTML validation, link checking, indexing, etc. Editor macros insert tag pairs while writing content. New pages use a standard page template for boilerplate material. I now spend almost all of my Web design time writing and editing content, not formatting, without using a
ContentManagementSystem. (My site validation script indicates successful results with a
GreenBar, and incorrect pages produce a
RedBar. Reminiscent of a
UnitTest, but written before I'd heard of them.)
This may explain part of the popularity of blog software: it lets people create a well-organized site without mucking around with HTML, alleviating the need to
AutomateBoredom entirely.
See
ThreeStrikesAndYouAutomate,
AreBusinessAppsBoring
CategoryAutomated