I recently got involved in a new project. It's not a project from my company. We just provide a few developers (including me) on a body leasing basis. We have to graphically redesign a web shop with some small changes in functionality. The process that we follow you could describe as a mix between waterfall and cowboy coding. The good thing is that we have a close collaboration with the product owner (yes, we have one) and a small self organizing team. But when I compare it to the project that I was involved before it's a totally different functioning.
In my last project we did scrum. Our level of scrum adoption was not too bad (7 yes answers in the nokia test). We had a good self organizing team with motivated people. We improved from sprint to sprint and ended as a very effective team.
Now, I realized once more how important practices like time-boxing, prioritized backlog and developer estimating are.
So what can you do as a an agile programmer if these key practices are missing?
Well, the good thing is that agile is not an all or nothing approach. You don't have to adopt all the practices at once. If you do that, changes are high that you will fail, especially when you have no people with agile experience in the team or support from an agile coach. As a developer your possibilities to change something are limited as well. But I think if you are an experienced agile developer and everything in your body resists against heading blindly for disaster you have to change something. Even if it's just the advocating of approved developer techniques. As I'm more a web designer than a programmer right now I can't to the last thing I mentioned. So I targeted the organizational level and introduced the backlog today .
We already had some work packages identified that where bundled into a gant diagram. This diagram was out of date from the first day of development and wasn't adjusted from that day on. So I translated this information into a prioritized product backlog and presented it to the product owner, the project manager and the team. The reaction was positive. The project manager was surprised when he saw how much work is still not done.
It's not a revolutionary change. But it's a small step towards improvement.
Thursday, December 13, 2007
Sunday, November 18, 2007
NUnit Test Templates for ReSharper
Every time when I create a new unit test in visual studio I bother me that I have to type the same 4 to 5 lines of code . I was too lazy to create a visual studio or resharper template for that. Fortunately not everybody is as lazy as me:
MbUnit and NUnit Test Templates for ReSharper
MbUnit and NUnit Test Templates for ReSharper
Monday, November 5, 2007
Scrumbreakfast
I just came across this blog where jp anounced a scrum breakfast on November 7, 2007 at Namics in Zurich.
Great stuff. Could be of interest to our Scrum Master.
Great stuff. Could be of interest to our Scrum Master.
Old School Book Reading
In my last post I wrote about reading Code to improve your software development skills. Beside of that I read blogs, news and E-Books to hang in there. Althought they are great resources for learning, I prefer to read old school hard-bound books that I can cuddle up with in my bed.
Here is my list of recommended reading ...
Architecture, Design & Patterns
Here is my list of recommended reading ...
Architecture, Design & Patterns
- Patterns of Enterprise Application Architecture by Martin Fowler
- Code Complete by Steve McConnell
- Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development by Craig Larman
- Head First Design Patterns by Elisabeth Freeman et al.
- Working Effectively with Legacy Code by Michael Feathers
- Applying Domain-Driven Design and Patterns: With Examples in C# and .NET by Jimmy Nilsson
- Agile Software Development, Principles, Patterns, and Practices by Robert C. Marin
- Extreme Programming Explained: Embrace Change (2nd Edition) by Kent Beck
- Crystal Clear: A Human-Powered Methodology for Small Teams (The Agile Software Development Series) by Alistair Cockburn
- Agile Estimating and Planning by Mike Cohn
- Lean Software Development: An Agile Toolkit for Software Development Managers by Marry Poppendieck
- Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries by Krzysztof Cwalina, Brad Abrams
- Test-Driven Development in Microsoft .NET by James W. Newkirk
Sunday, October 28, 2007
C# Code Reading
I usually read books to learn more about software programming, design and architecture. As Grady Booch suggested in his post some time ago, studying real code is a good way to learn too. In his handbook about software architecture he has a reading list (authentication required) with code that is worth to study.
Unfortunaly there is not as much open source code in c# as in other languages but nevertheless here is my own reading list with elegant c# code:
Unfortunaly there is not as much open source code in c# as in other languages but nevertheless here is my own reading list with elegant c# code:
- CruiseControl.NET
- DasBlog
- Castle Project
- Storyteller
- XUnit.net
- Neuparts Shipping (no real code, but high quality demo code with Evans Entities, Repositories and Factories)
Subscribe to:
Posts (Atom)