Small Business Programming

Learn how to be a wildly successful small business programmer

Page 3 of 6

The software rewrite vs refactor debate: 8 things you need to know

So, if you’re reading this it means you’re involved in a software project that’s a steaming mess and you want to explore your options. Don’t be embarrassed. This is a safe place; we’ve all googled “rewrite vs refactor” at some point.

The problem is that our profession is long on opinions and short on evidence for what to do with troubled projects. And the opinions we have are all over the map. So, it’s hard to know what you should believe.

In this post, I’m going simplify things for you and help you navigate the rewrite vs refactor debate.

Continue reading

4 books guaranteed to make you a better programmer

Figuring out what to work on next is one of the hardest problems in software engineering.

I know that’s a bold statement but I believe there’s ample evidence to support my claim. In a recent post, I talked about the value of always working on the most important thing. In it I wrote:

It’s difficult to identify the most important thing [to work on next] because the solution space is huge and it’s difficult to compare stories. But I’ve found the Theory of Constraints to be a helpful way to quickly zero in on high value areas without looking at the whole business in excruciating detail.

Continue reading

“Learn at least one new language every year” is bad advice

Learning a new language takes a long time. Unless you need it for your job (or a personal project that’s important to you), it’s a bad investment. In this post, I’m going to show you why “learn at least one new language every year” is bad advice and what you should do instead.

Continue reading

Are you working on the most important thing?

Is it possible that you’ve undervalued or overlooked stories in your backlog that will return thousands of dollars on every hour of your effort? Are you sure you’re working on the most important thing?

Continue reading

Business continuity planning: how screwed would your employer be if you died suddenly?

If you died in a car accident on your way to work tomorrow would your replacement be able to access your systems and work products? Or would they be locked out of everything and struggle for weeks or months to gain access and move forward? Business continuity planning is something most people associate with CEOs and big companies. However, as the sole software developer in my company for many years I was acutely aware of how screwed my employer would be if I died suddenly.

In this post in going to show you the steps I took to ensure my company wouldn’t be crippled if I died.

Continue reading

Software security is hopelessly broken

As software developers, we are doing a terrible job of protecting the data we collect from our users because software security is hopelessly broken. This is a huge topic so I’ll restrict my comments to coding, encryption/hashing, web server configurations, regulation, and what we can do about the security of the software we create and maintain.

Continue reading

Books I read in 2017

In this post, I’m going to share some of the books I read this year. In the nonfiction realm, some of them are very much on point for software developers. Others are just good books that let you know what’s going on in the world.

In fiction, I’m drawn to technology-driven Sci-Fi. I found some great reads this year. I also listed some books at the bottom of this post that weren’t that good. I think it’s just as important to tell you about the good books as the not so good books.

Continue reading

Cost of delay: how to calculate quantitative cost of delay and CD3

In my last post, I introduced you to qualitative cost of delay and CD3. I argued that rational teams should order their backlog for maximum economic benefit and that you can use cost of delay divided by duration (CD3) to do that. Because software developers aren’t accountants, I used the easier to understand qualitative cost of delay and CD3 in my examples. But in this post I’m going to discuss at the advantages of switching to quantitative cost of delay.

I know this stuff isn’t as interesting as reading about the latest advances in AI or your favorite framework. But trust me when I say that learning to order your backlog by quantitative CD3 will help you take your effectiveness to the next level.

Continue reading

Cost of delay: prioritize your product backlog by CD3

Ordering your backlog for maximum economic benefit is a hard problem. The average team is being pulled in several directions at once. New features requests, technical debt, existing defects, non-functional requirements, security, risk mitigation, resource shortages, and more are all competing for your team’s attention. So, how does a rational team decide what to work on? In this post, I’m going to show you how to prioritize your product backlog by CD3, which is cost of delay divided by duration.

Continue reading

Cost of delay: simultaneous feature development

Simultaneous feature development is a common but often economically sub-optimal software development practice. In this post, I’m going to look at the financial implications of simultaneous feature development and show you what you can do instead to achieve better outcomes.

Continue reading

« Older posts Newer posts »