Estimations: Go Big or Go Home
Estimations suck. Seriously. To do estimations properly, it requires significant analysis and a sound grip on the full project scope. It's hard. There are always unknown complexities that creep up. Estimations set expectations and impose risk when complexity is not identified. Covering RiskThere are a couple approaches people use to balance estimates with risk. The fixed percentage model just adds a near arbitrary percent on top of a given estimate for known complexity. While this is fine, it doesn't excuse a lack of effort to try to determine what the estimates should be. Another is
Desirable Short Term Memory
Recently, it hit me that there are actually benefits to having a short term memory. I don't think this is broadly applicable. In fact, I think there are more instances in which you do not want to have a short term memory. Allow me to explain... Mistakes and GrowthI'm a firm believer in learning experiences. I believe people need to be afforded opportunities to learn. These often come at the cost of making mistakes. In essence, people should be granted the opportunities to make mistakes, learn, and then grow. As an example, I recently made a decision at work that caused an issue. My team was
Social Vampirism in Services
Companies are very bottom line focused. Even after a high level scope of work is determined, the most appealing bids often are on the lower end. Even if some form of a deliverable can be achieved in a given number of hours, it often does not yield the correct one. Smarter bids allocate more time for damage control, error correction, and proper testing. For low bids, especially really low ones, one has to wonder what part of the product suffers. Most places I have worked have emphasized ethics and client success over the written contract. And, honestly, this tenet is part of my moral fiber. I
Local Drupal development sandboxes
If you're doing Drupal development, having a local sandbox is a necessity. Why? No one should be making untested changes on a production or staging server. And, a development server should be free of initial development errors where the developer should execute a small set of engineering tests before deployment. Plus, it can be time consuming to regularly deploy code developed locally onto a development server. To summarize: a local sandbox is absolutely best practice. I hope to summarize how to quickly get up to speed without having to rehash the lessons I have learned. DisclaimerThis blog
Serenity of thought
Rands' recent blog post Busy is an Addiction struck a chord with me. It's made me rethink many aspects of my day-to-day routine. Work Smarter, Not Harder It's so easy to say, I'm busy. In reality, I should be working smarter, not harder. Busy is as much of a state of mind, as it is the items on your plate. It's a routine, a lifestyle, and a shitty excuse. If you fall into the busy pattern, I personally believe it's easier to make mistakes. Your pace is more frantic, your getting pulled in thirty different directions, and you really don't have the time needed to pay attention to what your doing
Open source tools are free
In a previous job, I had a boss that I really admired. He's near the end of his career and his experience had made him wise. He was humble, but would chime in as needed. One of my favorites was his ability to bust out short one-liners that would hit the nail on the head. Around the water cooler, we regularly discussed open source. Here are some highlights: Free like a puppy This one always made me chuckle. But, it's true in so many ways. I look at the open source community. At times, people's evaluations of open source tools are skin deep. "Ah, they are free!". This typically follows two
Nodes with no page views
PrefaceNodes are the unquestioned most robust data structure within Drupal. It has widely adopted integration, e.g. Views, Features, Context, Rules, etc that make the Node a popular Drupal entity for countless use cases.However, the default node structure comes with a lot of baggage. It has built in publication states, authoring information, and revisions. Most of the time, these features are advantageous. Others, not so much. Nodes with no pagesDue to the robust features available for nodes, a content type is often created for nodes that do not actually have viewable pages. Let's look at a