Contents tagged with quality

  • When Should You Refactor

    A common question teams face is, when should we take the time to refactor our code?  Refactoring is defined as improving the design or quality of code, without changing its external functionality.  Most teams face constant pressure to release features and/or fix bugs as quickly as possible, so it’s not uncommon for problems discovered in the codebase to be put on the back burner to be fixed “later."  But unfortunately, a great deal of the time later never comes.  As a result, the codebase continues to degrade, accumulating more and more technical debt, making it more and more expensive for changes to be made to the system. Big Bang Refactoring Sometimes, the politics … more

  • DevReach 2013 Recap and Slides

    Last week I had the opportunity to visit Sofia, Bulgaria for the DevReach 2013 conference at which I was once more a presenter.  DevReach is always one of my favorite conferences to speak at, because the food and culture of Bulgaria is great, the attendees come from diverse backgrounds, and the conference planning always goes above and beyond to take care of the speakers.  I found this to be true my first time speaking here in 2008, and it is still true today (which is good, since the event is now run by Telerik, my employer, and I helped with this year’s speaker and session selection). I had a pre-conference workshop on Monday on software engineering that was very well attended: … more

  • Economics of Software Quality

    When we talk about the quality of software, we must refine the discussion to make it clear whether we are talking about internal or external quality.  External quality refers to the software’s presentation and behavior from a user or customer’s perspective.  Internal quality refers to how the software was constructed, and how easy it might be to maintain or extend. External quality is often under the control of the project’s stakeholders, whether they are technical or not.  If the system has bugs, stakeholders can report them and request they be fixed.  If the UI is ugly, then can request updates to it.  If the system is counterintuitive to use and lacks validation … more