#agile #scrum

Technical background: the extra mile on scrum mastery

Among other things, scrum is very “trendy” lately. Virtually any company that I know of has either adopted it or attempted to do so or at least considered it. The software industry needs change rapidly, evolving the scrum master in one of the most sought after roles. However, the inability of the offer to meet the demand and the absence of required technical skills to become a scrum master has made the role appealing to a number of people outside the industry, giving birth to an ongoing debate. ...

#unit-testing #object oriented design

Test behavior

Over the years, I have identified a number of issues with the way most companies treat their tests. I have come to believe that the most important one is that test code is treated as a second class citizen. Developers usually opt for the cheap, quick-and-dirty solutions when it comes to writing (or maintaining) tests, not realizing their importance. However, test code has to be designed, reviewed and refactored, exactly like production code. ...

#rest #object oriented design

Designing a RESTful shopping cart

Designing APIs for inter microservice communication is one of the most difficult aspects of modern software engineering and the reasons range in a very broad spectrum. First of all, microservices is a relatively new trend and virtually everyone in the software engineering community talks about them nowadays. However, I believe that we still don’t know what exactly they are (let alone how they will develop in the future) and therefore, we can’t always design them in an efficient way. ...

#unit-testing

Unit testing best practices

As part of the onboarding process of every new developer in Tripsta, I am required to deliver a training on unit testing basics. I would like to share the most valuable techniques, methodologies and best practices that I have collected over the years. I believe that they constitute the pillars of a solid foundation that every developer should have. It may be a bit unconventional (the way I love it), but before we even start, let me clarify the two most important things that tests are not. ...

#agile #xp

Agile code

During Christmas, just a few days before I decided to take up blogging, I was reading Sandro Mancuso’s excellent book Software Craftsmanship. I couldn’t help but agree (sometimes even out loud) when reading what Sandro describes as the Agile Hangover. How many companies decide to become agile only to find their projects failing for the very same reasons that urged them to become agile in the first place? What are the common characteristics of so many failed attempts? ...