Today I had to come up with a cost estimate for a Request For Proposal (RFP) for a fixed-price project. The customer asks for it to be developed using a waterfall approach: Analysis; Design; Coding; Testing; Integration; Maintenance. Estimating the total cost seemed to be very risky to me, given that only a preliminary form of the Analysis stage has been completed by the customer. So I had to do a mini design phase in my head. Including imagining some User Interface for the application.
I am a bit embarrassed to admit I had to resort to estimating using a database-driven design for this project. I really prefer domain-driven design. But there wasn't enough time to design a full-blown domain model. Glimmers of a data model could be captured from the requirements put forward in the RFP. Ideally I think it should have been a mix. A large part of the application consists of just very straightforward CRUD operations for several entities with simple relations. Database-driven design can be a very appropriate approach for this.
The other part of the application is some kind of workflow with extensive business logic that performs elaborate checks and balances. For that part I would like to start with designing a domain model instead of data tables, but the RFP leaned heavily towards a data model. Another thing that hampered me was my incomplete understanding of the domain at hand.
What do you think? Is it possible to give an estimate for the cost without completing a detailed design phase or should I just have refused to do it? What approach would you use?
A photograph of a hot air balloon taken by me has appeared on the homepage of the municipality of Zeist. It's the picture of the week. I took it on June 22, 2005 from my balcony. The balloon was just about to land. After this week the picture will apear in Zeist's image archive.
Microsoft has announced that it will include deep support for RSS (and Atom) in Longhorn. A lot of it will come through Internet Explorer 7.0 but there will also be a kind of RSS data store that can be accessed by other applications running on Longhorn. Microsoft's Robert Scoble links to a lot of news items and responses to this announcement. Robert has been an RSS evangelist long before he joined Microsoft.
This MSDN page has a lot of information on this new RSS support in Longhorn. It says “The RSS support in the Longhorn platform will be discussed in detail at Microsoft Professional Developers Conference (PDC) in September, and PDC attendees will be provided with early versions of the software so they can begin exploring how to build RSS support into their applications.”
Microsoft has not forgotten how to embrace-and-extend. It is extending the RSS protocol. But Microsoft will make their extensions available under a Creative Commons License. I am afraid that most media will forget to mention that the Attribution Share alike 2.5 license that was chosen is a very liberal license, and will portray this embrace-and-extend act as an evil act. Just like when Microsoft extended HTML (like Netscape did) and Internet Explorer was declared to be an inseparable part of the operating system.
This MSDN page says: “A common data store provides a single location where applications can access any content that has downloaded to the PC via RSS – including text, pictures, audio, calendar events, documents and just about anything else. All applications will have access to this content for creating rich user experiences.”
I wonder what kind of data store will be used. It looks like the perfect match for WinFS, but as we know WinFS has been dropped from Longhorn, because it won't be finished in time. So will the data store be a glorified “Temporary Internet Files” folder or some kind of Jet derived database (like Exchange and Active Directory or previous versions of SharePoint use). Or will it be based on SQL Server 2005's database engine? That together with the object model layered on top (also shown on this MSDN page) would make it some kind of WinFS “light” pre-release. The article mentions that “enclosures” (think attachments) can be accessed from the Explorer.
Longhorn will also feature a new version of Outlook Express. The version that was included with the PDC03 build (build 4051) of Longhorn used WinFS. I wonder if Outlook Express 7.0 will use the old DBX datastore (in which attachments are not accessible via the Explorer and there is no API for other applications) or if it will share the architecture of this RSS data store.
Ever since the announcement that WinFS would not be released with Longhorn I have wondered what use it would be as add-on that is released one year after Longhorn (if ever). Because then no applications released with the OS will use it. And not a lot of applications will build on top of it, because you cannot expect it to just be there. The same thing hampered the adoption of .NET applications because even XP SP2 does not install the .NET framework by default ;(
My manager just told me the good news. My proposal to go to PDC 2005 in Los Angeles has been approved. I am really excited to be able to hear the hot new stuff about Longhorn, IIS 7.0, ASP.NET 3.0 and C# 3.0 at that conference.
It'll be strange to hear Microsoft talk in September about the vNext-Next instead of just vNext, considering .NET 2.0 and related technologies will not be released until November 7. But Longhorn will be the vNext for Windows, just as it was at PDC 2003. Microsoft has said it has several things up its sleave for Longhorn that they haven't talked about in public yet.
I wonder if Microsoft will disclose the new shell codenamed “Aero”. Microsoft has been keeping an Apple-like secrecy about “Aero”.It has been deliberately excluded from all publicly released builds of Longhorn so far. Some computer magazines (like the Dutch PCM) have written ridiculous articles about Longhorn by reviewing the shell that was released with those builds. They concluded that Longhorn sucks. The shell that was shown was just a minor variation on the XP shell.
Channel 9 has started to air a series of PDC05 Road Trip videos. It chronicles the journey of a certain guy to get to the event. The first episode (2m58s) is incredibly funny. Well, maybe only if you are a geek. But hey would you be reading this if you weren't??
After a lot of deliberation with myself and encouragement by others I have decided to start my own blog. The last time I had a real Internet presence was back in 1998 when I had my own homepage. Today the only way to see that page is to use WaybackMachine.org. So let me reintroduce myself 😉
I am 31 years old and I live in the wooded town of Zeist in the Netherlands. Since 1999 I work for LogicaCMG as an IT consultant. And roughly the same amount of time I have worked for a well-known Triple-A bank in the Netherlands. My main work related interests are Microsoft .NET related technologies. Especially C#, ASP.NET, Indigo and Avalon. I also have a big interest in Service Orientented Architecture and other architecture related stuff.
I do not work full time for that Triple-A bank. Since last year I work two days a week directly for LogicaCMG. In those two days I work on competence development, R&D, our Intranet and consultancy for other customers.
In september I hope to able to go to the Microsoft PDC 2005. This blog entry explains better than I could why I would rather like to go there than to TechEd Europe. That blog also features a really nice “I'll be there” logo that I would like to put on this blog!
Outside of work I am very interested in digital photography. I own a Canon EOS 20D and some cool lenses to go with it. I also enjoy watching movies a lot. The next one I am going to see is probably Batman Begins. I also like watching DVDs. These days I am watching the American Queer As Folk Series - Season 3 (I have already seen the first and second season).
I hope to share some insights and opinions with you on this blog in the future.
For the more visually oriented readers I have uploaded some pictures to an image gallery on this site. They are taken by me (with the exception of that picture of me) with my Canon EOS 20D.