From Fedora Project Wiki
Line 1: Line 1:
 
At Flock 2015, we [http://threebean.org/presentations/debt-services-flock15/#/step-1 started talking] about instituting periodic events where we would stop working on new features and bugfixes, and work instead on addressing technical debt.  The [https://lists.fedoraproject.org/archives/list/infrastructure%40lists.fedoraproject.org/thread/PZWDQ5WFHHD6O2W5ZXDE2SL5LAYXJVXA/ discussion continued in November] and we [https://apps.fedoraproject.org/calendar/meeting/3183/ are scheduled] to have our first one in the first week of December.  Technical Debt Fighting Week!
 
At Flock 2015, we [http://threebean.org/presentations/debt-services-flock15/#/step-1 started talking] about instituting periodic events where we would stop working on new features and bugfixes, and work instead on addressing technical debt.  The [https://lists.fedoraproject.org/archives/list/infrastructure%40lists.fedoraproject.org/thread/PZWDQ5WFHHD6O2W5ZXDE2SL5LAYXJVXA/ discussion continued in November] and we [https://apps.fedoraproject.org/calendar/meeting/3183/ are scheduled] to have our first one in the first week of December.  Technical Debt Fighting Week!
 +
 +
= Rules =
 +
 +
The only rule is that there are no rules.
 +
 +
* No working on new features!  That's for a different week.
 +
* No working on bugfixes!  Kinda.  If we're on fire, okay.  But we do this all the time anyways.
 +
* Try to work on someone else's project instead of one that is "yours".  This will spread the knowledge around the team a little more.  Be on hand to answer questions from other debt fighters about code you're more familiar with.
  
 
= General =
 
= General =

Revision as of 18:40, 3 December 2015

At Flock 2015, we started talking about instituting periodic events where we would stop working on new features and bugfixes, and work instead on addressing technical debt. The discussion continued in November and we are scheduled to have our first one in the first week of December. Technical Debt Fighting Week!

Rules

The only rule is that there are no rules.

  • No working on new features! That's for a different week.
  • No working on bugfixes! Kinda. If we're on fire, okay. But we do this all the time anyways.
  • Try to work on someone else's project instead of one that is "yours". This will spread the knowledge around the team a little more. Be on hand to answer questions from other debt fighters about code you're more familiar with.

General

General code smells we can address:

  • duplicated code (fas caching, openid client login, ...)
  • long methods and large classes (supybot-fedora, ...)
  • contrived complexity (fedbadges, ...)
  • half-implemented features (datagrepper, ...)
  • no or poor documentation (releng scripts, ...)
  • commented out code? or incorrect comments!
  • no tests? or broken tests! (hotness, anitya, ...)
  • does hacking on it feel good or bad? Let's document where and why.

Specific

Ideas of specific things to work on (add your ideas):

  • python-fedora
    • streamline release process
    • remove dead code
      • pkgdb1 client
      • prepare the ground for fas3 (careful not to get bogged down adding new features.. that's for a different week!)
  • flask apps (which ones)
    • code de-duplication
  • flask-fas-openid to merge with flask-openid
  • ansible playbooks
  • bodhi
    • Process errors reported by email
    • code de-duplication
    • docs