Agilistic

A blog with lessons learned, experiences and reflections on Scrum and Agile Software Development (.NET, mostly)

The Scrum Guide emphasizes that Scrum Teams should be self-organizing and cross-functional. Guides, frameworks and methodologies aside, this is very sensible advice if you want to allow a team to discover the best way to do their job and work around (or through) obstacles. But being a cross-functional team does not mean that everyone should be able to perform any task. Nor does it mean that there can be no specialized skills in a team, like design, development, testing, analysis or UX. These definitions share the assumption that teams are at their best when skills are (mostly) homogenously distributed. This…

Welcome to my upgraded blog! I hope you like it, and that you find it more readable and friendlier for the eyes. I spent the past few weeks migrating content, files and images, so you should have little trouble reading older posts. The only part of my old blog that I couldn't migrate are the blog comments, which were too closely tied to the old platform (BlogEngine). If you run into any issues, feel free to contact me. Why the change? Although setting up a new blog gave me a great opportunity to play with new technology (Node.JS and…

Most of the backlogs I work with are made up of user stories. Although they are in no way required for Scrum, they are a useful technique to describe functionality in a just-detailed-enough manner. But many seasoned analysts and architects cringe at the idea of having to write user stories. To them, it feels like a very sub-optimal and forced way to capture the richness of user requirements. And I completely get that it feels fishy to write user stories, only to have the Development Team come in and ask a ton of questions when they start working on it.…

This is my fourth post in a critical series on Evidence-Based Management (EBM). This series discusses a number of objections that I have against EBM; a quality movement that intends to improve managerial decision-making by urging managers to use the best available (scientific) evidence (Pfeffer & Sutton, 2006). In my first post, I introduced the series and summarized my objections. In my second post, I discussed the history of EBM and how Scrum.org applies it to software development. My previous post focused on the problematic definition of evidence that underlies EBM. In this post, I will…

Securing a website built on Microsoft’s MVC framework is not exceptionally hard. Out of the box, MVC offers a lot of protection against common OWASP attacks from the box. If you combine MVC with Entity Framework - like most of us - you don’t have to worry about SQL injection attacks either. But getting your MVC app through a penetration test is a bigger challenge. This post summarizes what I’ve learned so far, and applies to both MVC and WebForms (although some recommendations are less or not applicable). What hackers are usually after: your…

I recently had the pleasure of setting up a continuous deployment environment for a frequently visited 24-7 .NET-based web application that allows visitors to purchase tickets for hundreds of events. Since this application is routinely updated with new functionality by a variety of developers, the need arose for non-disruptive deployments without a complicated and risky manual deployment process. In this post, I share the design we came up with and explain how we tackled some of the problems we ran into. Deployment, or how we used to do it Originally, the application was deployed manually from Visual Studio by publishing…

Evidence-Based Management (EBM) is an emerging movement that aims to improve the quality of decision-making by urging managers to use 'the best available evidence' to support their decisions. Recently, Scrum.org has picked up on EBM and is now actively promoting it as the next logical step in improving organizational agility within the context of software development.  In my first post, I introduced the series and summarized my objections. In my previous post, I discussed the history of EBM and how Scrum.org applies it to software development. In this post, I will discuss one of…

I regularly have the (wonderful) opportunity to help teams get to grips with Scrum and help them apply it in their company or project. Not only is this enjoyable because I get to help teams find a better way of developing software, it also provides with me with a wide variety of contexts where Scrum is being applied. Since every company, every team and every project is different, we always have to look for the best way to apply Scrum in a particular context with the given constraints. Rarely is it possible to do Scrum entirely as described in the…

Evidence-Based Management (EBM) is an emerging movement that aims to improve the quality of decision-making by urging managers to use 'the best available evidence' to support their decisions. Recently, Scrum.org has picked up on EBM and is now actively promoting it as the next logical step in improving organizational agility within the context of software development. This series discusses a number of objections that I have against EBM. In my previous post, I introduced the series and summarized my objections. In this post, I will clarify what Evidence-Based Management is and how it is being applied to software development.…

In the previous post I explained what a service bus is designed to do. In particular, I introduced NServiceBus, which is a .NET implementation of a service bus that I quite like. Since the documentation on NServiceBus is quite limited I decided to write a post that shows you how to use NServiceBus with two actual web applications (MVC), a bit of Ninject and a touch of the CQRS design pattern.  In the next post I will also show you some actual code. Since the applications are hosted on AppHarbor, you can play with them online…