Posts categorized under: Technical

How to Carry Out a Quick Design Assessment - An Example

Poor design quality and huge technical debt are common issues perceived in real-life software projects. Carrying out a software design quality assessment effectively and adopting the recommendations from it could improve the design quality. A comprehensive design assessment requires us to know the requirements in detail and weight different design …

Presentation smells: How not to prepare your conference presentation

Recently, I was in Austin, Texas to attend ICSE (International Conference on Software Engineering) and MSR (Mining Software Repositories) conferences. The authors presented excellent papers on a variety of topics concerning software engineering. Despite their excellent technical content, I was discontented by the presentation skills exhibited by some of the …

Automating Email Reporting

You may have to report your daily (or weekly, monthly) progress to your supervisor. It is a good practice in multiple ways: you know what you did in a day and thus, keep track of your progress related to your work, you create a task completion history which you can …

Refactor or Rewrite

Conversations such as “Oh, this is such a cluttered design”, “This software has high technical debt”, and “What a complex code, uff” may lead to exchanges such as “Can’t we do something about this?”, “Why can’t we scrap this?”, and “Can refactoring make it better?” Essentially, the discussion …

Refactoring is the Yoga for Software

Yoga is an ancient practice originated in India. It brings health and well-being to the human body.

We can metaphorically compare Yoga with Refactoring. Yoga is to body as Refactoring is to software. As Yoga brings health and well-being to human body, Refactoring improves the health of a software system …