Stacey on Software

Agile

Lightweight Accountability

December 22, 2015

If you require project accountability to funders, for grants or tax refunds, you need lightweight processes that integrate with your development practices, not some weird offshoot extra step you’ll never do or that duplicates efforts you’ve already made elsewhere.

Let’s start at the very bottom.

If you’re not using source-control for your start-up software project, you’re failing at the outset. It’s hard to enumerate all of the ways in which source-control systems help, it’s a long list. I know you likely didn’t learn it in college, or even if you did, you weren’t taught much about it, but their failing doesn’t have to be yours. Learn a tool like git, use good commit messages, make it part of your day-to-day development workflow. Commit early, commit often.

For the past 15 years I’ve used source-control systems for accountability. Every change, to every file, documented. Areas of our source code eligible for SR&ED? Good commit messages and constant committing to your repository part of your practice? Git log that folder, instant audit trail, what was done, when it was done, how much time was spent.

Need higher-level overview? What project tracking system do you use?

Trello? Pivotal Tracker? JIRA? Anyone suggests GANTT charts or MS Project, run away. They don’t understand software projects.

If you use your project tracking system as you should, you’ll have an auditable trail of every story, at every stage. Tag the stories that touch upon experiments. A good project system provides a instant clean visualization of exactly where you’re at to all stakeholders who care. Better tools even provide timeline estimation assistance. Focus any status meetings you can’t defer around your project tool, make sure the language you use in it reflects the language they use.

Use Slack for team communications? Plug in the project management and source-control tracking integrations. One slack channel, all changes, fully auditable. No overhead.

The point here isn’t to add additional overhead to your processes, it’s to use processes and tools that provide auditability naturally, in addition to their core function. Need to document experiments in your code-base? Use branching in your source-control for each experiment. Need to identify the amount of time spent? Use the timestamps in the branch logs.

Technical practices discipline can help in many ways, especially in accountability, and they need not be hard, nor cumbersome, and you’ll reap the benefits in more ways than you can count.


Welcome to my personal blog. Writing that I've done is collected here, some is technical, some is business oriented, some is trans related.