Friday, April 17, 2020

Agile Component Design


Your are responsible to create or modify a component in your current application. This is a design activity.

How can you create a good, legible, maintainable component architecture? How can you validate your functional and non-functional requirements?

Yes you are right. You are responsible for architecture decisions at component or subsystem level. Below a set of tools to improve the quality of your design.



Tuesday, March 31, 2020

Java Records Are Here - Available in JDK 14


We need justification not to use immutable objects in ours solutions, rather than an affirmative reason to use them.
Records provide a first-class means for modeling data-only aggregates. They are available in Java since release of JDK 14.

Records are often seen as syntactic sugar to easily create immutable objects without having to write a lot of boilerplate code. And records as a clean definition of immutable objects can have a tremendous impact on your component design.

You as a designer have to reflect why your abstractions are not immutable and what is the rational behind. From experience it improves greatly the quality of your design.

Saturday, February 29, 2020

How Agile Collaborators Learn

Most products are developed by a team, and these achievements are the fruit of teamwork.

Software product development is now agile, and most often uses the Scrum approach.

Just putting a bunch of people together will not produce a high performance agile team. Quite a few companies find that out the hard way.

How can you increase the odds to create an environment where agile teams bloom and perform?

Monday, January 6, 2020

Calibrate Your Agile Approach: Bill of Rights

When eXtreme Programming first came out, one expectation it worked hard to set is who gets to make what calls on software projects.

For example, business has the right to know how long something is going to take and when it can expect things to be done.

Conversely, developers have the right to know what the priorities are, and to be able to do good work.

To that end, eXtreme Programming - XP - created the Customer and Development Team Bill of Rights.



Monday, December 2, 2019

A Journey to be a Digital Company - tangly llc

I long dreamed to work in a digital environment. I shall no longer print out a form, sign it by hand and use snake mail to deliver it to the receiving party.

Our software service company is an ideal candidate to validate if this assumption is realistic.

Profit is like the air we breathe. We need air to live, but we don't live to breathe. - Frederic Laloux

Monday, November 4, 2019

Agile@Scale - Are Common Patterns Emerging?

Your organization has decided to introduce agile at scale in all development departments or better in the whole company.

Your Chief of Agility COA, Chief of Digitalization COD or Chief of Change COC was in an expensive training and has selected the appropriate framework for your company.

Welcome to the club of companies introducing agile approaches and having no clues why they do it and how they could be successful.

Here some hardly learnt truths worth knowing when starting such an endeavor.
Imposing Agile methods introduces a conflict with the values and principles that underlie Agile methods -- Martin Fowler

Wednesday, October 23, 2019

Time to Migrate to a Modern JDK, Laggards!

Are you still using Java 8 to run your mission critical systems?

Are you truly using a six years old technology stack?

Are you already applying for a Java laggard club membership?

If you are still using Java 8 you are using technologies released in Spring 2014. You are missing all the improvements in the garbage collector, runtime engine and various API.

Java 11 LTS was released in September 2018.  The current LTS release is one year old. You had one year to migrate to this long term solution version.

It is time to modernize the fundament of your application and invest a small amount of effort in it. The payback is really good.