tag:blogger.com,1999:blog-438942112364524044.post6776048506075985114..comments2024-03-24T08:48:20.786-07:00Comments on Biology of Distributed Information Systems: Lean Software FactoryYves Caseauhttp://www.blogger.com/profile/04812034190333969728noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-438942112364524044.post-85035569072978459782012-07-10T23:04:03.507-07:002012-07-10T23:04:03.507-07:00Thanks for your comment :) I agree that testing is...Thanks for your comment :) I agree that testing is a key part of the puzzle, I thought that I made it clear (cf. my comments about the need for agile testing and modular testing).<br /><br />I actually agree that you cannot do everything at the same time. I have a rather loose definition (see my previous postings or my books) about SOA and MDA, but still I would agree that you cannot do "top-down, model & architecture - driven, large scale system engineering" and "agile development" at the same time. However, my experience is that you need both (in a large organization). This is the point I was trying to make at the begining of section 3 : A LSF need to run both agile projects and V-cycle (model & architecture driven) projects. The separation / distinction is a bit messy, but my opinion is that they may coexist (which is not to say - your point - that they can be done at the same time).<br /><br />There is another way to answer your comment (because I think that my experience is actually close to yours): I do not envision MDA or SOA as a code-generation, micro-level practice but as a enterprise architecture, macro-pratice. This reduces the tension that you pointing out between LSF and SOA/MDA.Yves Caseauhttps://www.blogger.com/profile/04812034190333969728noreply@blogger.comtag:blogger.com,1999:blog-438942112364524044.post-40045612967307429112012-07-10T00:08:36.786-07:002012-07-10T00:08:36.786-07:00Thank you for this post Yves.
I think there is o...Thank you for this post Yves. <br /><br />I think there is one major aspect of software that does not really appear here is tests. <br /><br />Frommy experience, I just don't believe in Big Upfront Design and architecture approaches such as Model Driven Architecture or Service Oriented Architecture. I rather believe in emergent design.<br /><br />What I've learned is there are two types of software : the one you can change and the one you can't. The first are the base of resilient systems, the other are legacy code. <br /><br />The best way to make your software able to cope with change is to have unit tests you can run fast. Model Driven Architecture is difficult to test, it makes every change very heavy to handle, it does not cope with concurrent teams working on it. It makes your software base heavily depending on external frameworks (MagicDraw, all this kind of stuff). Not to mention migration issues.<br /><br />I'm not saying the idea is not beautiful I'm just saying it does not work for small/medium organisation. And it surely does not work for Agile development.<br /><br />I don't think you can have both : MDA, SOA ... and a Lean Start-up approach. If you do one you can't have the other.Cecil Dijouxhttps://www.blogger.com/profile/14566803392203398695noreply@blogger.com