A collection of 2 posts

On Thoughtfulness

As I come to the summit of a large project, I've been reflecting on a few errors in thinking I made along the way. I was in a time crunch and finishing the project became the sole goal in my head. Being so focused on the end goal, I lost the plot a bit stopped being thoughtful about my decisions, prattling on through tasks and compounding decision upon decision.

If there's one thing I could take away from what happened, it'd be that before I dive into solving the problem at hand, I'd think first about how I can tackle the problem, how it can affect all the other moving parts of the project, and only then move forward with implementation.

For example, I've written a tonne of CSS in the OOCSS flavour. When I look at my code structure, I see many classes that are tied to others, breaking the single responsibility principal, which states that every class should have one responsibility and doesn't need to know about anything in the other classes. I've broken that guideline numerous places, leading to fragile code. Future changes could mean making modifications in numerous files instead of the one or two places where they could have been.

Note to self: Don't throw away personal guidelines to finish a project quickly. Make thoughtful decisions so it doesn't bite you later.

Planning with Ease


Since the beginning of the year, we've been planning on a rebuild of Candidio. Tim Loyer has been working away on a REST API, while I'be been patching the current version of Candidio in production. I've also been working on designs and a style guide for the new version and we're almost ready to begin development of the front-end web application.

The problem I was running into, which I think was completely internal, is I didn't really know where to start with the build. We have a really good idea of what the application will look like and function, but sitting down to implement the designs, is a new ballgame. Having the style guide almost finished is a huge help. I think I should be able to hammer out the templates for the main areas of the application fairly quickly, since the guts of the designs are already written in code.

Early this week, I sat down with my notebook and focused entirely on brainstorming and planning, through a basic mindmap, all the general features to make Candidio 3 function at it's barest level. As I move through the build, I would think we'll be adding more and more granular features to our backlog, but we've got a great start.

If I was to learn one thing from this, is that taking a step back and getting something, anything, on paper is useful. The simple act of focusing and brainstorming without self-critiquing should be my step 1.