Posted 9 months ago. Visible to the public. Repeats.

Regular tasks for long-running projects

When projects run for many years, they require special regular maintenance to stay fresh. This kind of maintenance is usually not necessary for small or quick projects, but required to keep long-running projects from getting stale.

You should be able to fit this into a regular development block.


Check which libraries need updating
As time goes by, libraries outdate. Check your software components and decide if any of it needs an update. Your main components (e.g. Ruby, Rails, Angular) should always be reasonably up to date.

About once a year

Check your list of deferred tasks
It is usually inevitable to defer some tasks that "would be nice to have" but have no room in the project schedule. Check your list (e.g. the Pivotal Tracker icebox) and decide on what to do: some technical debt might require imminent action, some wishes might already be forgotten and can confidently be deleted.
Check your database table sizes
Some table may grow more than you expected. If they do, dump size will increase (making backups and other dump operations more expensive) and your application might suffer from reduced performance.

In order to get the row count of all tables in your database, run this in Postgres:

SELECT schemaname,relname,n_live_tup FROM pg_stat_user_tables ORDER BY n_live_tup DESC;

… or this in MySQL:

SELECT table_name, table_rows FROM information_schema.tables WHERE table_schema = (SELECT database());
Check storage usage
Just like database tables, storage usage may increase faster than expected. Check file storage locations of your application and do a quick sanity check by examining disk usage and folder structure. External storage providers like Akamai Netstorage are paid by the gigabyte, so you should aim to keep your footprint small.
Growing Rails Applications in Practice
Check out our new e-book:
Learn to structure large Ruby on Rails codebases with the tools you already know and love.

Owner of this card:

Dominik Schöler
Last edit:
8 months ago
by Dominik Schöler
About this deck:
We are makandra and do test-driven, agile Ruby on Rails software development.
License for source code
Posted by Dominik Schöler to makandra dev
This website uses cookies to improve usability and analyze traffic.
Accept or learn more