June 2005 - Posts
Today was my last day on a Foreign Exchange (FX) project at a large US investment banks. Even though I've been on the project for a year, it still ended with a last minute dash to Reuters to help test a library followed by a few hours of hand over centered around various libraries. The day finally ended with beers with team - an appropriate end point after being at the client for the last 2+ years working with .NET/Java in New York and London. I've definitely had fun over the last few years. Tomorrow I start at a new client in London, but more on that later.
Of notable interest this week is JavaOne, particularly DTrace. Adam has the blog of it here.
posting back in March its all gone quite on the WinForm source subject. Does this mean the source idea is off the table, or are we looking at a PDC announcement?
Fitnesse is essentially a software collaboration tool - testing, wiki and web server all rolled into one. Testing via a wiki (Fitnesse) is mentioned by John. Grig's Agile Testing blog has a few tutorials (Python specific) on Fitnesse. BayXP did a presentation on Fitnesse recently, the material can be viewed here. Now if we could only have stories, task, code and testing all in one place, and all linked...
So I downloaded Google Earth today - see Slashdot for more links. This application is excellent. New York resolution was particular good when compared to London. Flying from London to New York was excellent. Anyway with Google Video coming soon, this is Google Year
I see from Intentional's blog
that Jetbrains has introduced an early access program for there Meta Programming System
. They even have a hello world tutorial
. Sergey Dmitriev's Language Oriented Programming
is probably worth a read as well.
Most books quote Scrum team sizes of 7 +/- 2. From the projects I have been associated with the disadvantage of larger teams are:
- Scrum's take way to long
- Large teams = greater the diversity of work = team members loose interest in scrums
- Scrum Master has more individuals to monitor
- Finding a suitably sized location for the daily scrum
A colleague has just signed up for this course
- probably a very sensible idea given the area he wants to work in.
I had a little spare time tonight to take a more in-depth look at Visual Studio 2005 DSL Tools. The Walkthroughs that Microsoft provides allow you to move into DSL land fairly quickly, especially the UIP DSL example. The blogs of Steve Cook, Gareth Jones, Stuart Kent also provide a lot of relevant information. One thing I didn't pick up immediately, but the forum helped was how to use the DSL you have just created in another .NET project.
I haven't had time to take an in-depth look at the Guidance Automation Toolkit yet - that's for another day. Reading Tom's posting on GAT the benefit appear to be the ability to deliver reusable code and patterns directly into VS 2005, thereby avoiding the age old issue of x teams within the same organisation developing similar components. Investment banks should love this stuff at the enterprise level.
Finally I came across the Model Taxonomy on Alan's blog which reminded me of a recent taxonomy conversation with a colleague.
Not all Agile teams are the same. Different teams need different types of leadership.
Update: I was impressed by this quote I saw via a mailing list I am on: "You lead from the front, Coach from the side and manage from the rear"
Update: Team-based rewards.
Here are a few general questions about Agile development from a CFO/vendor management perspective that we have had over the past year or so:
- How much the IT business solution will cost
- When will the IT business solution be delivered
- Will the ultimate solution be much greater in scope and cost than what the CFO signed up for
- Will the business really put the effort in with the development team to make Agile work
- How can you tell how good your Agile team really
- How do you know if your Agile team is giving you good value for money
- How can you tell when you have problems with your Agile team
Question 1 and 2 are really about estimation, and not specific to Agile. Whatever methodology is used to develop software, before the project kicks off, some estimation is usually needs to answer the questions of time/budget. Extreme Programming Applied, page 70 has a few interesting statistics on this subject based on 200 projects, 1997-1999.
Question 3 is really about project management. Scope change, the cost curve, ambiguous requirements etc can all influence the scope/cost. At least with Agile, the iteration game allows management to see very quick what is being delivery, re-priorities stories and better understand the quantity of work required to delivery requirements - Agile offers feedback early and often. Chapter 11, Extreme Programming Applied is probably relevant to this point.
With regards to question 4, Agile does require that the customer sign up to the process of software development. As in almost any development, lack of customer input will at the end of the day effect the output. The Agile Manifesto stipulates that business and development staff must work together.
Questions 5, 6 and 7 can probably be answered by looking at what is achieved within iterations - velocity. The whole concept of Test Driven Development (TDD) and Continuous Integration (CI) also comes into play here, with feedback early and often allowing management to full understand what is happening within the project.
Update: Victor has an interesting posting on budget forcasting.
More Posts Next page »