Tom McFarlin

Software Engineering in Web Development, Backend Services, and More

Page 272 of 429

Scope Creep: Constraints, Products, and Time

Regardless of the type of project you’re working on – being side projects, freelance projects, or corporate projects – one of the things that plagues businesses the most is scope creep.

To be clear, this is not an indictment of any one party – this is something that affects anyone and everyone who is working on a product.

Look at it this way:

  • For side projects, we convince ourselves that adding just one more feature will make it all the better than it is in the current state never mind the fact that you can continue to work on this as your time permits.
  • For freelance projects, we either take the route of convincing our customer than this will be one more thing to enhance the experience, or the customer asks for just one more thing in order to “take it to the next level” never minding the idea that there is time, budgets, and constraints involved.
  • For corporate projects, this may vary widely but it can go anywhere from upper-management saying that feature-X should be implemented in order to stay competitive, or it can come from a major third-party client who has the money to fund the quick turn around of a feature.

The reason that I believe this is important is two fold:

  1. Products should have lifetimes.
  2. Time is our most valuable resource.

Nothing novel, is it?

Continue reading

Robert Herjavec, Success, and WordPress

Several months ago, I stumbled across this video featuring Robert Herjavec (most notably from Shark Tank these days), and there were a number of things he said in the video that resonated with me.

I wanted to share it because not only do I think it’s worth a watch, but because I also think there are a number things that’ll resonate with many of you, as well:

Whenever I watch videos like this, one of the hardest things to do is to distill some of my favorite quotes into a single post, but in an effort to do just that, I thought I’d share some of the ones I like and how they relate to what I – and many of you – do for a living (or for a hobby), and then just list the rest as ones that I also enjoyed.

Continue reading

WordPress Meta Boxes: The Front End

This is the final post in a series on how to achieve simplicity with WordPress meta boxes.

The whole point of this entire series has been to demonstrate how to logically separate the various pieces that go into components a project by breaking them down into related components. Though I’ve been using them as a means to an end, the purpose of all of this is not about how to use WordPress meta boxes.

Anyway, to round out the series, the last thing to do is to take a look at exactly how to leverage the work that we’ve done thus far to bringing it to the front end so that the code that works on the backend actually does something on the front.

It’s not going to be anything particularly special or unique, but it should showcase the point nonetheless.

Continue reading

WordPress Meta Boxes: Each Component

This is the third post in a series on how to achieve simplicity with WordPress meta boxes.

In this series, I’ve been talking a little bit about how to simplify the code that we write by breaking it down into more modular components, and I’ve been doing so in the context of WordPress meta boxes.

To be clear, the point of this series is not simply to walk through how to keep the logic organized that goes into meta boxes, but to talk about the various parts that go into making up a component of a WordPress projects and how we can approach them through the their specialized areas of concern, and the how and why it’s important to do this.

In the previous post, I mentioned:

  1. The Server-Side Logic
  2. The Presentation Logic

And then I asked about how we actually go about representing the data. In this post, we’ll do exactly that.

Continue reading

WordPress Meta Boxes: Separating the Logic

This is the second post in a series on how to achieve simplicity with WordPress meta boxes.

In the previous post, I talked a bit about how working with WordPress meta boxes can be a bit of a hassle especially if you’re used to doing so in such a way the keeps all of the logic contained within a single file and a handful functions.

For example, if you’re working on a theme, then it’s likely that you’ve got a set of functions declared either in your functions.php file or file referenced by said file that is responsible for making a call to add_meta_box and all of the necessary arguments for rendering the meta box.

If you’re working on a plugin, it’s likely that this isn’t all together different; however, you may be approaching this from an object-oriented perspective. If that’s the case, then you may have a similar setup as above which isn’t really that different except you’re using classes and functions.

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑