Skip to main content

· 3 min read
Adam Kecskes

Remember, if someone tells you that the chances of something happening are "next to nil" or "almost impossible" or even "highly unlikely," then the chances are still non-zero.

Next to nil isn't zero.

This axiom is clue that something is at risk and you should pay attention to it. It's not statistics that we should worry about it. It's our assumptions.

· 3 min read
Adam Kecskes

From: Lex Fridman's John Carmack Interview

It's not the writing of the program initially, it's the whole lifespan of the program.

No software project worth putting into production is ever truly static. Even a hypothetically bug-free application upon initial release has to change as it gets used in the real world. Users provide feedback so the UX has to change; the product owner or client of the application wants to tweak something; a new platform comes out for it to be deployed to; the app is so popular that it needs to be scaled up any number of circumstances will force a change in software at some point during its lifetime.

· 5 min read
Adam Kecskes

Jira is a powerful and highly customizable software project management tool. Because of its popularity and long-time presence in the industry, there is a myriad of add-on and integrations to the platform, including Slack and GitHub.

Best Practices

Make it easy for your co-workers NOT to have to ask you questions.

👍 General Practices

  1. You should never be talking about work without also being able to refer to a Jira issue number.
  2. Think of Jira as a journal. In each issue, record all the details you can think of. While it's best to plan ahead, it's just as valid as to update a Jira issue on the fly or before you transition it or assign it to another person.
  3. Do not leave an issue in an ambiguous state. Go with the workflow. Tell others what your current state is by transitioning the issue.
  4. Always provide enough information on an ongoing basis to let your peers and managers what your current status is.
  5. Anticipate questions and answer them in advance in the issue.
  6. Add comments, screenshots, and document and web links like crazy.
  7. Use @mentions vigorously.

· 3 min read
Adam Kecskes

(and yes, I know, this has very little to do with sprints directly)

We don't blame, we solve.

Easily the biggest hindrance to a successful project is in-fighting and finger-pointing. This isn't a game, nor is it life-or-death. It's a project. We're very smart people trying to solve some very complex problems. Mistakes will be made. No one will die. Money, on the other hand, may be lost. Let's not let it get to that. Paychecks are nice.

Our job is to mitigate the potential for mistakes to happen. Ever accidentally delete an in-production database? I have (and I'll tell the story some other time). Two things could have mitigated that (aside from my making a powerfully wrong assumption): 1) Limiting permissions or installing a 'safety catch' (i.e.: forcing function) in the UI and 2) Backups. We need to think of criteria such as those that we can put in place today so that tomorrow will be less painful for us.

How to Unstick in 1-1/2 Hours

Stuck on some code? Here's a heuristic to follow:

Rubber duck for half an hour; if you can't solve the problem, Slack someone on the project and ask them to pair program/look over your shoulder for one hour.

Still can't solve it?

If it can wait, bring it up at the next scrum. If not, Slack, text, or call the scrum master, project manager, or your lead (especially if it's an emergency or a critical issue). The problem may not have been solved, but you will be unstuck nonetheless.

Smart Tasks and @-everyone

The goal is for us to communicate often and effectively.

If you have concerns that can wait, add the details to the tasks. Bring it up at the scrum (but still document it!)

If you need help or more context, add details to the task and @-someone(s) If there are more questions, Slack/Discord, or bring it up at the scrum.

More Done, Less Perfect, Still Works

We all know this truism, "Perfect is the enemy of done." I get it, but there's a risk we need to manage with that thought process:

"Done" is useless if the result doesn't work, or causes future hassles. When writing code, keep the near-term future in mind; how can you make what you are writing easy for other people to interface with and use?

This brings me to technical debt. Technical debt is okay in very limited doses, and when acknowledged for what it is: debt that will either need to be repaid, or written-off. Both have consequences.

The More You Document the Less You Have to Explain (to a point)

There's an art to this. Write documentation too early, and it goes stale. You've wasted your time. Write it too late, or too long, or too boring, or make it incomplete and you'll be answering questions anyway. Start with bullets.

When in doubt, add caveats.

WIP is only useful if it's actually a work in progress. Don't tease us like that.

TL;DR is fantastic if it's short enough to be read and still conveys meaning.

Headers help you organize and give your readers focus.

Robust documentation means not assuming what your reader knows. For consumer-grade docs (and this means API docs too) have someone dumb like me read it first. Find someone new to read it who has to literally go over each step — if they get stuck, you made an assumption. Correct it.

· 14 min read
Adam Kecskes

Hiring software developers is notoriously hard to do, even for those of us who are technically savvy. Hiring developers is like buying a book; just because the editorial blurb on the back is great doesn't make the writing great.

If you have a project that is more than just a single-page website, you'll need to hire a development shop (or go through the effort of hiring your own staff, which is a very different topic) to do the heavy lifting. Your project may be starting from scratch, or maybe your existing application is buggy or not very scalable and you need to refresh it. For whatever reason, you recognize that hiring a person off of Fiverr, Upwork, or Freelancer just isn't going to hack it. You're already on the right track.

· 2 min read
Adam Kecskes

Big name clients do not a big name PM tool make

Large companies like Disney, Intel, Google, and so on are often show on a PM tool's list of clients. Take this with a grain of salt. While a department or two (or a dozen) might be using the software, the entire company is likely not using the software. The software is simply another tool to them. Don't equate quality with the size of the company using it.

For reference, as of the date of these, here's a list of PM tools I found on the Internet. Not all of these are purely PM tools. Many are hybrids, focusing on other activities, but are often found associated with PM software.

Asana | Azendoo | Backlog | Basecamp | Beebusy | Beekeeper | Bitrix24 | Blink | Brightpod | Celoxis | Clarizen | ClickUp | Clubhouse | Communifire | Confluence | ConnecTeam | Drinkle | Favro | Flow | Flowlu | FogBugz | Freedcamp | FunctionFox | GanttPRO | GoToMeeting | Google Workspace | Hibox | Hitask | Hive | Holaspirit | HoneyBook | IDoneThis | Infinity | Jira | KanbanFlow | Kanbanize | Kintone Kipwise | Kissflow | Lavagna | LiquidPlanner | Lumeer | MeisterTask | Microsoft Teams | | Monitask | nTask | Neetrix | Notion | Nrby | OpenProject | Ora | Orangescrum | OurPeople | Paymo | PivotalTracker | Podio | ProProfs Project | ProWorkFlow | | Project Central | ProjectManger | Projectplace | ProofHub | QuickBase | Quip | Quire | Range | Redbooth | Redmine | Replicon | RingCentral | Scoro | Slack | Smartsheet | SoapBox | SpiraPlan | Taiga | TaskRow | Taskque | Taskworld | TeamGannt | TeamWork | Teamweek | Things | TickTick | TimeHero | Todoist | Toggl Plan | Toodledo | Trello | Trillian | Twist | UpWave | Wimi | WorkFront | WorkflowMax | Wrike | Yodiz | YouTrack | Zoho Projects | Zoho Springs

· 11 min read
Adam Kecskes

Trello Logo|50%

Disclaimer: I like Trello. It's a dang good piece of software that I've been using the free version of for years, well before Atlassian bought it out from Fog Creek Software (now That said, this isn't intended to be an endorsement for Trello or Atlassian for that matter.

Even at its most basic (free) level, Trello has a lot of cool functionality that lets your team run wild with managing projects, setting up calendar events, making to-do lists, setting up workflows and so on. But here's the thing with Trello — when you buy into the Business Class level at $10 per user per month (paid annually), you gain a whole lot of new features.

· 9 min read
Adam Kecskes

Or, When and Why You Should Pay for Notion Team

Getting up to Speed

If you haven't heard of Notion, likely you've been under a rock somewhere. And good for you, keeping safe during this time of Covid-19! 😷

Notion touts itself as an all-in-one workspace, useful to create wikis, track notes, make tables of who-knows-what and a whole host of other features. Think Evernote meets Airtable smashed up with Microsoft OneNote, and MediaWiki, with a pinch of Asana and Trello, plus a lot more. And Notion is hyper-configurable, to boot.

It's a handy and versatile software suite. But like those other tools just mentioned, there is so much that you can do with Notion that sometimes it can be so overwhelming that you collapse under an avalanche of unorganized notes, links, folders and files. If you want to know more, visit Chances are, you can ramp up pretty quickly. However... this article isn't about the details of what Notion can do. It's about saving yourself a lot of time and effort if you are thinking that Notion might be perfect for your team or business. It might be, but...

· 4 min read
Adam Kecskes

I missed my very first payment of rent at my new apartment. Imagine my surprise when I found a notice to vacate on my door. I quickly fixed the problem with the property managers; apparently the auto-pay system didn’t go through, despite my double-checking all the numbers. They forgave the late fee [“just this once!”] and moved on.

I didn’t move on, at least for twenty or so minutes. I felt mildly guilty and very embarrassed. What a way to start living in a new apartment complex! I was blaming myself for a mistake anyone could have made.

For what, exactly, am I blaming myself for, I had to ask? A typo? A computer glitch? Forgetting to check my calendar?

A lot of my sense of guilt has come from the sorts of experiences like these I’ve had in my past. In my mind’s eye, I grew up in a culture that was oriented toward blaming others for problems and as a result, I gained the habit of blaming myself for the tiniest of infractions. If I blame myself, I reasoned, I won’t be blamed so often by others.

How wrong I’d been on that.

· 2 min read
Adam Kecskes

Dry. Dull. Bland. Banal.

Sometimes our use of language is so uninspired that it leaves the taste of chalk in a listener's ears. They close their eyes in order to retain precious moisture and they fidget in their seats as if sitting on a plump desert cactus.

Sometimes we don't even try. Count how many "really, really's" and you'll hear what I mean. What can we do to brighten our language?

Color your words! Language is a moldable art form. There are thousands upon thousands of ways to delight and tingle the listeners' ears. Listen to yourself as you speak. What do you hear? Are you, yourself, inspired, intrigued, or moved? If not, then consider picking up a box of word crayons and color outside your normal lines.


Make use of metaphors and similes as if you were the author of a nano-story. Advance yourself with the ample of use of alternative adjectives -- and the apt alliteration from time to time. You don't need to use "really, really" and "very, very" all the time, after all. You have a gargantuan library of word choices; far more than just those few (only two!) If you're prone to thinking outside the box while speaking on the fly, add a parenthetical (but not too often, lest you throw your audience off track). Try out a chiasmus once in a while; few figures of speech trigger a tingle in the ears as much as a lofty, "Crayons are used by creatives ardently, and it is ardent creatives who use crayons."

Start each speech with a clean, dry, canvas. Collect your thoughts, open a thesaurus, draw some lines, then color in the shapes you've created. Your audience's ear will appreciate it with a fervor.