An urgent project, 3 weeks, a team of 4, loss of a team member in the middle of sprint 0… This is the setting of a project I participated to not too long ago. We chose ASP.NET MVC 2 even though no one in the team had extensive experience working with this technology before. I had some experience with the Model View Controller concept having participated in a Java project during an internship and working on PHP using an in-house limited MVC framework. So I started the project a bit concerned about the pressure of the deadline, my own competency with this technology, and the uncertainty of how this newly formed team would work together. Sprint 1 was mostly exploratory, trying to figure out the needs of the Product Owner, defining the model structure, and learning how to use ASP.NET MVC. Even though we had a lot to learn and to discover, we managed to meet the Product Owner in terms of delivering the promised features. During Sprint 2, we were going to validate that our initial model was going to hold the new requested features. A lot had to be reworked and at mid-sprint the scope of the project changed quite a bit… Sprint 3 was shortened by a day and we had a team member in vacation. Even with these limitations, we managed to deliver the promised value. At the end of those 3 weeks, we had developed exactly what the client wanted. What I learned through this experience is that Scrum in an incredible tool to deliver what is most valuable to the client. I also learned that ASP.NET MVC is a pretty elegant framework for building web application. After what could be described as a great success, we started to ask ourselves what if we could keep this team together to achieve other successes… the nSemble team was born.



