Folks, Many of you have been keeping me busy the last couple days with your many questions. Allow me to turn the tables a bit, and ask you a question or two. I'd be interested to hear about your experiences with organizations and software architecture. Have you witnessed any of the following, or similar problem? * Develop a new architecture, but the folks who were supposed to use it, never adopt it? * Friction between two groups wanting to go different directions with an architecture? * Develop an architecture, but by the time you wer able to start using using it, conditions had changed, and it was not longer as useful any more? I'd be interested to hear your stories. Dave
* Develop a new architecture, but the folks who were supposed to use it, never adopt it? Yes. * Friction between two groups wanting to go different directions with an architecture? Yes. * Develop an architecture, but by the time you wer able to start using using it, conditions had changed, and it was not longer as useful any more? I did not have this. But as a variationon this theme: old( not so good) architectures are held on to for vested reasons. Sanjay
Originally posted by David Kane: * Friction between two groups wanting to go different directions with an architecture?
Actually on going now on two counts. I personnally have a disagreement with another developer over the Architecture established. I know we'll work things out because we both agreed to disagree and have a meeting scheduled with the entire group so we can each present our case. (I just hope he accepts it when he loses ) The good part is the final decision doesn't reside with either of us and I beleive we are both professional enough to get past it and work with it if it doesn't go our way. The second is harder. It's a strong disagreement on how much design is enough. I'm not in that rift but, two strong A types are. The bad part here is I not sure someone above them will step in and end the feud. Personnally I beleive the root cause is a lack of clear definition of roles. One has manager status with the company but, the other has been lead to beleive that he has Architect responsibility over the entire project. If he has, this hasn't been communicated properly to the Manager.
Originally posted by David Kane: I'd be interested to hear your stories. [/B]
Well, I'm glad you asked. Get comfortable and pull out your violin and some cheese if you like 'coz I've got some whine We are using VisualAge for Java/WebSphere AS 3.5.x on my current project. The client is used to working in a mainframe environment (COBOL/CICS) but they wanted to do a Web-enabled application so that customers could access accounts and make payments via the Internet. The client management and developers chose Java/J2EE using VAJ/WAS as the platform for the new development. I came on in April this year. I didn't get a decent machine until August which was about the time that they managed to cut through all the red tape and install VAJ and WAS. From April to August we were languishing in busy work: UML modelling sessions, requirements gathering, bickering about standards for documentation, coming up with a schedule for the whole project, etc. Looking back now I can honestly say (and I did say it way back then too) that it was all a waste of time and money (and to give you a hint of where I was, it was your money too). So, anyway, the Project Manager initially wanted to know more about OO-style development since we would be using Java. We suggested Use Cases, Iterative/Incremental Delivery, doing UML modeling, etc. PM seems to understand (or so we thought). When the MS-Project plan is printed out, he announces that we are going to follow the "Waterfall" methodology that the COBOL developers and managers are used to. And we won't be making use cases: just functional requirements documents. "We'll do iterative and used[sic] cases in the next phase." was the PM's reply. "But we'll do the UML modelling." PM adds, trying to throw us a bone. When development finally started, a few of the developers thought that it would beneficial to use the MVC pattern to separate presentation and business logic. And since we were doing JSPs and Servlets, we might as well use a framework like Struts. It was my responsibility to make sure that Struts would work in WAS. It took me about a week to get up to speed with it and get things working in VAJ/WTE (with some help from Kyle Brown). Swell. Things are looking promising. It's good to go with Struts. In the meantime, however, other developers have already started creating Servlets and EJBs. On one hand, we thought Struts was great. But work on other parts was already going another way and was being reported to management as "100% complete". So what were we going to do, refactor that stuff to use Struts? The PM certainly wouldn't agree to that. In the meantime, I was developing a piece of the application using the Struts framework. Struts is not a perfect framework and neither is WAS. The framework worked fine in my development environment (VAJ/WTE), WAS 3.x is not totally receptive to it. We had to some tweaking here and there and it took us about 2 weeks to work out all the kinks. Then we found out from Systems Admin, which is another group in the client's organization, that we had to use stored procedures for all access to the database. Fine. But then we started getting problems with stored procedures. Now we had to debug in several different places: Java (dev), Java (prod), App Server (prod), and stored procedures. Another 2 weeks. Many different things that got in our way and these were natural occurrences, I guess. But I'll give you two guesses which one gets the blame for the "delays". Of course, it's the new, open source guy, Struts that gets the blame . And no matter how hard we try to explain that most of the problems had nothing to do with Struts, we still get the directive from PM that new development should not use Struts. <Sigh> So now we're back to having to roll our own ControllerServlet and do lots of JSP scripting, etc. What a pain in the a**.
* Develop a new architecture, but the folks who were supposed to use it, never adopt it? Yes, they never really adopt it or they just adopt parts of it. The group of follks who should adopt it never did. Becuase it seemed the new the system idea is always not really from the group of folks but from a person. * Friction between two groups wanting to go different directions with an architecture? Yes, always! But this is ok becuase it always turned out good, have good result. Most of the time i liked it with different directions. It actually good you more options. But which way to take it is not always a happy way. * Develop an architecture, but by the time you wer able to start using using it, conditions had changed, and it was not longer as useful any more? This happened to me once while finishing up the architecture another condition changed. It was supposed to be three months project but it ended up more than half a year. Whenever my group of people were finishing up a change came in adding new function to it. It was supported to be a short term solution and a fast implement that we couldn't care about the architecture but without good software architecture the changes made us rethink the whole design again and again. It was hell as the client kept pushing for it to finish and we didn't have the time to see the design as a whole. We add code everything and anywhere to make it work. It ended up with bugs but we released it anyway since the client insisted on it becuase his company pressured him. As a result we never saw that client again.
Dave taking revenge han any this is a very good attempt to make this discussion extremely interactive ----------------------------------------------------------------- * Develop a new architecture, but the folks who were supposed to use it, never adopt it? ----------------------------------------------------------------- this is exactly the story with us ---------------------------------------------------------------- * Friction between two groups wanting to go different directions with an architecture? ----------------------------------------------------------------- * Develop an architecture, but by the time you wer able to start using using it, conditions had changed, and it was not longer as useful any more? ----------------------------------------------------------------- i havnt experienced these two yet since i m very early in my carrier as an architect an developer
Joined: Nov 08, 2001
Dave does your book address these questions as well
Joined: Sep 20, 2001
These are the kinds of questions that are at the heart of the book.
Originally posted by BILAL HAMEED: Dave does your book address these questions as well
Folks, Thanks for the stories. (And if you haven't posted yet, please do). It is because we have heard and experienced many similar stories that we thought it would be worth writing our book. One thing that intrigues me from some of the stories here, is the question of nationality. All of our direct study was of companies in the US and Canda. G mentioned his experiences in Portugal. Do you folks think there are significant differences in how people interact in north american software development organizations versus those in other countries? Have any of you worked in both situations? Dave ------------------ David Kane email@example.com Author of Software Architecture: Organizational Principles and Patterns http://www.vraps.com http://www.houseofyin.com
Joined: Aug 30, 2001
There is very significant difference even between the same Germany, western and eastern one. And even inside western Germany, between protestants and catholics, if I recalled correctly the divisions there, as I was explained. I am in Portugal but I worked and studied before in fUSSR, in various current conutries. VGV
Originally posted by David Kane: Do you folks think there are significant differences in how people interact in north american software development organizations versus those in other countries? Have any of you worked in both situations?
I have worked for Asian companies in the past (Hong Kong, Singapore, Malaysia). I came to the US with hopes that things would be better here in terms of how people develop software. But aside from the cultural differences, I have found that there is virtually no difference in the way development goes in the US companies I have worked with so far and those I worked for abroad. Pointy-haired managers are pointy-haired managers no matter where you go. And users will be (ab)users. On the plus side (and not to say that I didn't work with any abroad ), there's a better chance of working with smart people here. Junilu
Joined: Aug 30, 2001
Y-e-s, the only hope for smart people. I beleive smartness is, not directly but, correlated with education. Portugal is amazing country: according to statistics 86% of labor force here has 6 classes of primary schol or less! Before coming to Portugal I have never seen so many illiterate people, even those that can read cannot put two things together (functional illiteracy). And you know, here is very strong tradition: who makes orders never participates in work and executors are never consulted. The problem is that who makes orders is not who has education but...cut It is the country of services (and turism. Prostitution is not prohibited). National IT companies do not produce anything: they all outsource personnel and sell services (to translate Windows to portuguese, to make patches for bought SW, maintain/adapt application in instllations of the client, by the order of client, i.e. another organization, bank). The problem that client frequently is not IT people but his desire is law (no sense to me). The client may tell: " I do not like that worker, and he is done (the work/result is nothing, the service is ALL) Planning, organization is absent and even more it is traditionally considered here an insult to ask for some planning even for himself alone, no kidding! Rational Rose: never saw a single firm that bought it. Since companies are outsourcing and not producing their products, they are not interested in smart people. IT companies are interested to prove to client that there employed a lot of people and are doing a lot of work. It is not difficult, after all. And they are interested in employers that do not have any ideas or initiatve, that do not create problems. Mess, to me! I have worked in Portugal in a couple of dozens of firms, and it is all the same, everywhere. I just hope to arrange something abroad but it is difficult, especially in current crisise. [This message has been edited by G Vanin (edited November 16, 2001).]
subject: Software Architecture and the Organization: Questions for You