The pool water is cold? What are you waiting for? Dive in!

As Scrum Masters, we sometimes encounter difficulties getting over our discomforts and paradigms. We may be afraid to act or to cause a tidal wave that may swipe someone’s morale and enthusiasm… Maybe sometimes we’re simply afraid of becoming afraid.

 

Continue reading »

Pediatric Medical Group: the case study

The client

The Pediatric Medical Group (PMG) supports more than 80% of pediatricians who work at the Montreal Children’s Hospital and many doctors who work at the Royal Victoria Hospital. Its main purpose is to collect the invoicing data of participating doctors and annually submit over 410 000 claims for professional services to the Régie de l’assurance maladie du Québec (RAMQ) and other paymasters located outside the province of Quebec.

Continue reading »

Design-only DDD

The common DDD components have gained traction in many development projects. It’s not uncommon to see data repositories, services, entities and value objects well defined in code.

This often leads developers to claim that they are practicing DDD, and after all why not? They are using some of the artifacts espoused by the practice.

Continue reading »

Speed up your batch processing, go parallel

Many companies do overnight, weekly, or even monthly batch processing to produce reports, update inventory catalogs, synchronize systems and consolidate information.

Often, as data grows, the number of desired outputs grows, and the time to execute these batch jobs grows too. Consequently tremendous efforts go into optimizing and squeezing out minimal gains in order to ensure the jobs complete by the time they are needed.

Continue reading »

Failure isn’t an option, it’s a certainty

As systems get large, failure becomes less binary. It becomes more probable that your system has a failure, but conversely less of your system is failing at any given point in time.

As per Randy Shoup’s classic (or personal favorite) presentation on eBay’s architecture and lessons learned, at any point in time at eBay there are systems down―the trick is to make a system that continues to run smoothly. As a consequence of this, their developers must actively design with failure in mind.

Continue reading »

Designing for scale without over-engineering

While starting to read “Scalability Rules: 50 Principles for Scaling Web Sites”, I was pleasantly surprised to immediately read rule number 2: design scale into the solution.

This rule proposes that, if scaling up is a concern, then design for 20 times capacity, implement for 3 times capacity and deploy for 1.5 times capacity.

While I can’t vouch for their numbers, nor am I going to re-explain all their thinking, I’d like to share how this aligns itself with architecture and design on Agile projects.

Continue reading »

Assertions in production code

The assertion is an old paradigm that has been around since before the advent of object-oriented languages. An assertion is a statement that asserts that some condition is true, and causes an execution failure if the condition is not respected. It’s that simple.

Failure can be translated into an exception, a runtime error, or even a runtime failure resulting in unstoppable application termination.

Continue reading »

I take the journey and aim for excellence

In February, I travelled the world to join the Pyxis team. Coming from an all year round warm country, it was an interesting experience to land here in the middle of winter and try to explain to my body what was going on. Walking to work on my first week, I got to feel way too cold temperatures boosted by an awesome phenomenon called wind chill. However, once I got to the office I was warmly welcomed and got to meet more of the Pyxis team which led me to forget what was going on outside.

Continue reading »

Validating XML content when testing

Working with large systems that don’t have automated validation frameworks is a pain. So much so that many developers label them legacy even on their maiden voyage. The reality is that there exist many such systems in production today, and many more going into production hourly.

Because of this, its not uncommon to find oneself dropped into such projects. We grumble and groan and hope to get off them as quickly as possible. Well buck up, greenfields projects are a rarity so here is where we practice our trade.

Continue reading »