Ways to improve technical debt!

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Jatin4494
    New Member
    • Jan 2021
    • 1

    Ways to improve technical debt!

    I am building a SaaS tool that will allow the user to convert various images and scanned material into high definition printable formats allowing the user to print any content with ease. But my team recently started facing issues while rolling out v2 for our tool. We noticed a good amount to technical debt moving forward we want to improve it.

    Need to know if anyone has experiences using a code review tool.
  • Banfa
    Recognized Expert Expert
    • Feb 2006
    • 9067

    #2
    You do not necessarily require a special tool to make code reviews work, what you need to do is make sure you have your process correct and that everyone is using the process. A tool can help with this.

    What is important, if you want to use code reviews, is that they are included into your development process (or work flow) so we have always managed code reviews through the issue tracker we use (Bugzilla) changing the default process to include a code review step so that every change is reviewed before being released. In addition to that we performed a number of baseline reviews, i.e. not reviewing a change but reviewing what is already there which were managed by creating specific tasks in Bugzilla to perform the review and then assigning them to someone.

    A number of issue trackers either have built in support for code reviews or have the ability to have 3rd party code review software integrated into them e.g. GitHub is a source repository that supports code reviews as a part of the work flow.

    Another thing that we have found useful is to have a check list that each code review is performed against
    • Does the code conform to the company coding standard as documented in DOC123-Company Coding Standard?
    • Is the code adequetly commented?
    • Are the variables sensible?
    • Are all pointers handled correctly?
    • Is the logic of the code correctly implemented in the simplest manner?
    • etc


    We particularly used this for baseline reviews.

    You need to decide what you want to achieve with a code review, look at what tools you are already using and then look for Code Review Software that integrates with the toolset you are already using and supports your intended goals. As I said once we had done that we decided that the issue tracker we had provided the features we needed and no additional software was required.

    Finally whatever you intend to do document it, then review the document with your peers/programmers/reviewers, so that it is clear what the intent is and how the process works especially to anyone who joins your team.

    Comment

    • Banfa
      Recognized Expert Expert
      • Feb 2006
      • 9067

      #3
      On a side note, I'm not sure that code reviews are the solution to technical debt but that rather depends on how you define technical debt.

      I would define technical debt as issues in the code that do not stop it working correctly but result in in-elegant code or code that is hard to maintain, hard to add new features to or inefficient in some way. The sort of code change that no-one will notice because the functionality of the code doesn't change.

      If the code is actually not working for the user in some way I would call that a bug, or at least an unwanted feature because it is obvious and demonstrable.

      The difference is that managers tend to be very resistant to spending money fixing the first type of thing because no-body sees any direct improvement (except the programmers and no-one cares about them) where as the second is a more obvious if A is fixed then the users life will be better because B.

      To that end code reviews tend to be the solution to poorly or hastily written code that has bugs in it, technical debt tends to be down to a poor design decision (or one that later turns out not to have been the best choice).

      Comment

      • dreamtext
        Recognized Expert New Member
        • Feb 2021
        • 24

        #4
        Talk to your customers and users first. Make this a part of your regular process.
        Technical debt might be something perceived internally but might not matter to the customer/end-user.

        Code reviews are good way to manage the code-base and keep the team in sync on process. They might not remove technical-debt.

        Comment

        Working...