Handling Time in Software Development

Recording & Communicating Time in Software

Rachel Walker Articles, Programming 2 Comments

When I first started writing software to handle time, I went into it with a naive perspective that it couldn’t be that hard. After all, it’s just time, and I’ve understood how that worked since elementary school! It took my first daylight savings time transition to disabuse me of that notion. I began daydreaming that one day all systems would fully run on UTC and people would adapt to that as a standard.

No more writing code to handle time zones in different regions. No urgent time zone library updates to account for new government legislation around daylight savings time. Being able to add and subtract time without having to account for crossing time zones…

It sounded great to me at the time, and sometimes when I’m neck-deep in tricky code, I feel that way still. In calmer moments though, I’ve learned that’s not a philosophy that serves me. When I talk to people about my birthday, a holiday, or give vague time measurements like “twice a day” or “first thing tomorrow,” I’m not speaking to them about timestamps. I’m conveying an idea that just happens to involve time. Time isn’t just a number; it is communication that is tied to our days and nights and the lived human experience.

A good software product handles, records, and displays time accurately. A great piece of software captures, stores, and displays time and date information in a format that conveys the full idea to the intended recipients. Good software works; great software communicates.

Foundations of SAFe: Part 3 (benefits, drawbacks, and practical application)

The Foundations of SAFe: Part III (Benefits, Drawbacks, + Practical Application)

Todd Horn Agile, Articles, Project Management Leave a Comment

You’ve officially made it! We’re almost ready to wrap up our conversation about the Scaled Agile Framework. In case your memory is hazy, I’m a senior consultant and team lead on the Keyhole Software team. I’ve been working with a client who is adopting SAFe, guiding their team and helping to set the right culture for the methodology. I’ve learned a lot about SAFe over the past year, and in this blog series, I’m sharing what I’ve learned with you.

In this final series installment, we’re getting a bit more practical. We’ll start with a quick foray into the benefits and the drawbacks of implementing SAFe (we’re all about balance here). Then, I’ll talk a little more about what it looks like for small teams, and after, I’ll share some tips for devs who find themselves in an organization that uses SAFe. To wrap up, we’ll get down to it; should you implement SAFe on your team? I’ll talk you through a few factors that should help you decide.

Before we get started – if you’re new here, head to Part I (Overview + Core Values) and/or Part II (Core Principles) before proceeding. If you’re caught up, great! I think we’re ready to dive in.

Improve Python App Performance with Continuous Profiling

Improve Python App Performance with Continuous Profiling

Keyhole Software Articles, Keyhole, Python Leave a Comment

Has your Python application been running a bit slow lately? We’ve all been there! Luckily, continuous profiling can help you catch those sneaky performance issues before they slow everything down. It’s like having a constant health check for your code. In this blog, we’ll explain how continuous profiling works—and why it’s a game-changer for keeping your Python apps fast and …

Foundations of SAFe: Part II (Core Principles)

The Foundations of SAFe: Part II (Core Principles)

Todd Horn Agile, Articles, Project Management Leave a Comment

Welcome back to Part II of our series covering Scaled Agile Framework. As a quick refresher, I’m a lead consultant at Keyhole Software, and for the past year, I’ve been helping my client adopt SAFe methodologies and practices. I’ve certainly learned a lot, and I want to share that knowledge with you.

Last time in Part I, I gave an overview of SAFe and discussed the four core values: Alignment, Transparency, Respect for People, and Relentless Improvement. Today, we’ll dive a little deeper, talking through SAFe’s ten core principles. Next time in the third and final installment, we’ll take a practical look at the pros and cons of SAFe and some tips for implementing it.

The Fundamentals of SAFe - Part 1: Overview and Core Values

The Foundations of SAFe: Part I (Overview + Values)

Todd Horn Agile, Articles, Project Management Leave a Comment

For several years, I have been a lead software engineer for one of Keyhole’s clients. More recently in the last year, they started a journey to implement SAFe (Scaled Agile Framework) methodologies and practices. If you are new to or have not heard of SAFe, this short, three-part blog series will give you the perfect launch pad.

In Part I (this post), I’ll give a high-level overview and then we’ll walk through SAFe’s four core values. In Part II, we’ll dive into its ten core principles. In the final installment (Part III), we’ll discuss the benefits and drawbacks and then we’ll get a bit more practical. I’ll teach you how it can be used for small teams, some key points a developer should know, and some considerations for if SAFe is right for your organization and teams.