Case Study: Large-scale Pure OO at the Irish Government
Recorded at:
Please note that Naked Objects for .NET has just gone fully Open Source
by
Richard Pawson
Also possibly of interest, Niall Barry, who is the Assistant Secretary General of the Department of Social Protection (the subject of the case study in my presentation) has made the following comment:
"In the last five years we have delivered more than 30 new core business applications, on-time and on-budget - and Naked Objects has played a critical role in that success. We have seen even greater productivity with the latest Naked Objects for .NET platform and I am delighted at the news that the whole framework is now going open source. As well as the cost savings to our own organisation, we hope that the open sourcing will encourage more public sector organisations to explore the benefits that this technology offers."
Re: Please note that Naked Objects for .NET has just gone fully Open Source
by
Sándor Nacsa
At this stage my only remaining argument was to refer to the maturity of Naked Objects for .NET as well as its deep penetration into and commitment to such a large organisation as the Irish DPA. To communicate that I needed recent authentic reports. Was glad to find first the digital.cabinetoffice.gov.uk/2011/09/13/the-fir... (The First AgileTea Meeting) and a report on that at digital.cabinetoffice.gov.uk/2011/09/26/what-a-... (What a great turnout for the first Agile Tea Camp)
Then I found this great presentation as well. So included both comments to the Naked Objects for .NET news at devportal.hu/blogs/news/archive/2011/10/10/nake....
Re: Please note that Naked Objects for .NET has just gone fully Open Source
by
Richard Pawson
Re: Please note that Naked Objects for .NET has just gone fully Open Source
by
Sándor Nacsa
The Part That Is Missing...
by
John Passaniti
Re: The Part That Is Missing...
by
Richard Pawson
I can say a little more ...
But first I'll take the opportunity to correct a statement I made in the video, where I said that the DSP had delivered 11 projects successfully. At a subsequent event, the Secretary General of the DSP presented a slide which named all the projects successfully delivered on the new architecture and the number is in fact 30! Each project is a significant new extension into a new business area. This does not include routine upgrades and enhancements, which are issued approx 10 times a year now.
The single failure that I referred to in the talk was not in fact a full project - but a significant milestone within one project. The failure was nothing to do with the technology at all - it was a process failure - and an interesting one.
Specifically, the vendor (this was the first engagement by that particular vendor at the DSP) attempted to impose its own agile methodology onto the process. Previously, the DSP had demonstrated a very strong commitment to the principles of agile, but had not rigidly followed a particular methodology. The vendor, who is well known in the agile field, insisted on following their agile process to the letter: every story agreed at a planning game would proceed on a strict basis of write-the-tests-before-any-code, and be fully integrated through to the database, before being presented back to the client. The DSP was used to a much more iterative style, where early iterations would be very fluid; only as an acceptable solution emerged would the more rigorous approach of writing comprehensive tests be applied, and the persistence added (for the early iterations, all objects are kept in memory). The vendor's methodology could not accommodate this. I could accommodate the concept of a 'spike' - but this was reserved for exploring a specific problem only and lasted only one iteration. The net result was that progress was very slow and lots of early work was wasted. That milestone was, to the best of my knowledge, eventually abandoned (I have no knowledge what happened contractually) - and the functionality was later picked up again within a different project.
A comment I heard on the grapevine several times was that the vendor's process was 'So Agile, it was completely inflexible!'
There is a salutory lesson in here for any organisation embarking on agile. The vendor made no attempt to recognise that Naked Objects enabled a far more flexible style of development and delivery (and, indeed, appeared to regard Naked Objects merely as an unwelcome technical constraint that they had to work with), which was what the client really wanted.
(In case anyone does have knowledge of this situation, I wish to emphasise that the vendor I refer to above was a sub-contractor to the prime-contractor on the project - for that one milestone only. The prime contractor delivered the other milestones within that project and other projects, successfully - but without further involvement of the sub-contractor.)
Re: Please note that Naked Objects for .NET has just gone fully Open Source
by
Ivo H
Naked objects is definitely one of the most interesting approaches to development today.
I have few questions to ask you.
1 - Why did you and DSP went with .NET implementation when you were speaking so highly about smalltalk. I can imagine one of the strongest attribute of the environment to allow you modify the application while running (aka live programming) would be incredible for this approach especially in the initial phase of a new extension of the developed system. As a .NET developer this is the feature I am missing the most on any mainstream development platform. Maybe that was the third language of the initial throw away prototype you mentioned in the speech.
2 - Was the WPF version also open sourced or was it cancelled? There is no information on your site. How did you manage to solve the security issues of client side code access without breaking the concept of NO and additional custom server side programming? Is it using some kind of dummy WPF client (i.e. the presentation layer only tunneling the action invocations to server side)?
3 - Does or will Naked Objects MVC adhere to the "restful objects" specification?
4 - This application of NO is definitely a big one. But because this approach (no GUI custom code) is so heretical to everyone I spoke about this with, are there same case studies or other information of using the NO MVC or the pattern for another client than DSP?
Thank you....
Re: Please note that Naked Objects for .NET has just gone fully Open Source
by
Richard Pawson
"Why did you and DSP went with .NET implementation when you were speaking so highly about smalltalk."
There is no implementation of the naked objects pattern in SmallTalk (Morphic has some conceptual overlap - but is aimed at a quite different type of application). Even if there had been, I doubt this would have been an option that DSP would have considered - as the skills are not mainstream enough. Naked Objects is a radical architectural concept, but the application developers skills are mainstream.
"Was the WPF version also open sourced or was it cancelled?"
The WPF version has not been open sourced. The DSP still uses this somewhat, and we maintain it under contract to DSP, for as long as they wish. We don't think it will ever appeal as much as MVC, because it is not really designed to be customisable.
"Does or will Naked Objects MVC adhere to the "restful objects" specification?"
Not yet, but we are actively developing it, as you may have seen from the RestfulObjects site - I am actively developing the spec with Dan Haywood. Make sure you get on our mailing list to be alerted. (Via link on our CodePlex site).
"are there same case studies or other information of using the NO MVC or the pattern for another client than DSP?"
People say: we can't believe it without a real, large-scale case study. We provide a real, large-scale case study. Then they say: we can't believe it without another real, large case study! Yes, I get the same reaction all the time. Sorry, we can't help there. My own view is that even if we had five or ten such studies, the sceptics would be no more convinced.
Richard
Re: Please note that Naked Objects for .NET has just gone fully Open Source
by
I R
Re: Please note that Naked Objects for .NET has just gone fully Open Source
by
Richard Pawson
Not that I know of. But in principle this would be possible using MVC. If the number of customers with different requirements is relatively small then the simplest approach would be to have a separate 'Run MVC' project for each Customer, but with all the business logic in the (shared) Model project(s) as usual. Each Run MVC project could have customised CSS, customised views and so on - and could, potentially, have its own private Model project to extend the core Model. This is all straightforward and you could easily prototype such an approach.
If you're talking about a huge number of customers, as for example in a public cloud-based application servicing hundreds of separate commercial customers, then you would need a more programmatic approach to managing the customisation. Probably, possible, but at that level you're into a huge project by any standards, and I'm not sure that Naked Objects would offer you a great deal of advantage there. However, we're working on an implementation of the Restful Objects spec (see www.restfulobjects.org) that would be relevant.
P.S. I recommend posting any detailed questions about Naked Objects onto the Discussions page on CodePlex: nakedobjects.codeplex.com/discussions




Hello stranger!
You need to Register an InfoQ account or Login to post comments. But there's so much more behind being registered.Get the most out of the InfoQ experience.
Tell us what you think