Archive for February, 2011

Clarity is needed for the success of a software project

Have you ever heard crickets chirping when you announced your product? Sucks, doesn’t it? A lack of enthusiasm from customers or even your own sales team is a sure sign that your product fails to meet demand. While it’s true that a project is a success if it meets the needs and expectations of consumers within the constraints of the project, it is more accurate to say that a project is only considered a success if it’s perceived as a success. In order to have your project perceived as a success, you need to manage expectations. And the way to manage expectations is with clarity. A successful project needs everyone involved with the project to have a clear purpose, clear priorities, clear use-cases, clear estimates, and a clear understanding of dependencies and uncertainty. Fully expanding these points could easily fill entire articles (or books), but here’s a basic recipe for making a software project successful.

View full article »

Warning: MVC .NET’s TempData now persists across screens

Microsoft has made a change to the behavior of TempData that we need to be aware of in MVC 2 and 3. TempData now no longer completely clears at the end of a controller action cycle. TempData can now (automatically and without you changing anything) persist through to other pages. TempData keys are now only cleared if they’ve been read. Furthermore, if you use RedirectResult or RedirectToRouteResult, they will persist even if they are read. These changes could potentially be very bad where we have coded under the old assumption.

Here’s the details:
View full article »

Separation of Concerns Principle

Fear of making changes to your system or difficulty in following code logic are signs that your legacy code has consistently violated the Separation of Concerns principle. The Separation of Concerns principle is a cornerstone of good engineering and a hallmark of using this principle is code that’s easy to read, easy to test, and easy to refactor. The Separation of Concerns principle is about creating stable, easily maintainable code, systems that won’t fall to pieces just because you made one little change (or even sweeping changes) somewhere. Code that is separated by layers is easier to automatically test, and automated tests make code even easier to refactor. Code that is effectively organized also allows more developers to work on a project without tripping over each other in source control, either by waiting to check out a file or puzzling through a change-comparison.

View full article »

© 2017 Robert Corvus