Sharpening your .NET applications

In detail

Software life cycle

Software life cycle

Continuous Integration - Continuous Delivery

I have always worked in software development according to this model: continuous integration and continuous delivery. It is indeed far less risky to release a new version every day than to let major changes accumulate, sometimes creating difficult hurdles to overcome. Each code change, each addition of a new feature, ultimately remains marginal compared with the product as a whole.  This approach also brings real satisfaction to users: new features become available quickly. And for the development team, it creates a genuine sense of working as closely as possible to customers’ needs.

Never having to pay for a bug fix

Isn’t it frustrating to discover a bug in version 1 and then have to purchase version 2 to get the fix? The question answers itself. A bug means that we missed the mark. It should be fixed as quickly as possible, and users should be able to benefit from that fix without any additional cost or difficulty.

So how should feature versioning be organised?

From the above, it follows that there is only one source code base. Regardless of the version purchased, every customer is entitled to the same executable: the latest one. The developer nevertheless « protects » new features by means of a different licence key, which unlocks the new functionality.

Upgrading to a new version should never be a project in itself

Updating the software should be easy and within reach of every user. If a new version requires changes to the database structure, this mechanism must be automated as part of the update process. The process itself comes down to running a small wizard, where the user simply clicks « Next » as many times as necessary. The same process can also be automated through a scheduled task, ultimately achieving a form of « Continuous Deployment ». Every morning, users who have opted for it have the latest version of the software available.

This approach to the software lifecycle benefits everyone: users quickly receive bug fixes and new features, while the development team continuously works on a single, consistent and always up-to-date codebase.

Previous Next
All products, technologies, and company names mentioned on this website are trademarks or registered trademarks of their respective owners. The Microsoft products cited (SQL Server, Windows, MAUI, Xamarin, .NET, Blazor,...) are trademarks of Microsoft Corporation. Ubuntu is a registered trademark of Canonical Ltd.
An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.