The Cone of Uncertainty is a management phrase describing the fact, that we cannot foresee the future of a project with a constant probability. The longer period we want to plan for, the less probable it's going to be exact. That's the reasoning behind sprints in Agile, to keep them short enough to be in … Continue reading Processes and The Cone of Uncertainty
It seems to me that veryfing one's thesis is one of the most important aspects of software engineer work. Quite often phrases started with 'it seems to me...' or 'think that...' are said in a way, that the listener takes for granted truthfulness of the sentence. Meanwhile it hasn't been proven or covered by a … Continue reading I think therefore I haven’t written a test
Currently I'm helping to model one domain with Event Sourcing. A few days ago we spent ~15 minutes on modelling some cases on the whiteboard. The result of the first phase was distilling a few aggregates with events. Later on, we described some processes as we needed to react to some events. At first to … Continue reading From domain to code
The presentation of Pawel Brodzinski published on Infoq here is a must see. Whether you're into Kanban or not, it shows a few simple cases and discusses the three important aspects of a company: values principles processes and interactions between them. Additionally, some problems with visualizations are shown. One can show you all of his/her … Continue reading Values, principles, then processes
I love working in the zone. I find this flow extremely productive and exhaustive the same time, but if one asks is it worth to go in There, my answer is always yes. Through the years I've learned a few things about myself and my responses to different measures I use to get in it. … Continue reading Zone, where are you?
Applications have layers. It's still pretty common to see an enterprise application being built with layers like DAL, Business Logic (or Domain), Services, etc. Let's not discuss this abomination itself. Let us rather consider the flow of the data within the application. SELECT * FROM That's where the data are stored. Let us consider a … Continue reading Do we really need all these data transformations?
If you develop software in .NET, you probably use exceptions. Or at least, handle them, even by simply logging. Beside providing an easy way to deal with runtime errors, exceptions are frequently met during the initial phase of using a library or a framework, when you don't know API yet and try to do something … Continue reading Imperative exceptions