Re: FYI: Lessons from Kai Wu at ArsDigita
Ken Manheimer <[email protected]> Wed, 12 Feb 2003 15:33:49 -0500 (EST)
| Newsgroups | gmane.comp.web.zope.zope2-migration |
|---|---|
| Message-ID | <[email protected]> |
On Tue, 11 Feb 2003, Paul Everitt wrote: > Howdy. Below is an email that Kai Wu, a former engineering manager and > early employee from ArsDigita, sent me about things they didn't do > right. He agreed that I could share it with this list. > > While it's true that their situation had some differences, I think the > commonality far outweighs the differences. > > I hope we choose to *actively* learn from his experience. I think that > the current discussion falls in the Risk Management category. What are > we doing to avoid the pitfalls described below? Hiya, paul! To my surprise, i saw the situation quite differently than you did - i was quite _encouraged_ by the differences in the stories. There are some differences that i see as crucial. Maybe i'm deluding myself to some degree, as a Zope Corp employee and partisan. I can't be the judge of that - but i can try to lay out what i'm seeing... First, ArsDigita seemed to be making drastic, fundamental changes to _depart_ from their previous course. First from ACS 3 Tcl to ACS 4 Tcl - > From Kai Wu [about ArsDigita experience] > [...] > stuck in support mode, tied to a legacy client. At that point we > had a separate engineering team forging ahead with ACS 4 Tcl > pretty much freed of any obligation to do backwards compatibility > with ACS 3; the changes were quite radical. (We actually tried > to get close to Zope's object model - no easy task using an RDBMS > and a procedural language.) Of course, the old customers who and then, in mid-stream, they tried to change horses even further: > By Fall 2000, with our sales and marketing guys telling us for > the past year that Tcl sucked in the marketplace and that all big > clients were asking for Java, the first ACS 4 release was done. > Almost immediately, we re-focused on ACS 5 Java, while expanding > our engineering team dramatically. Well this ticked off a lot of In Zope3, we're changing APIs, but we're sticking with our fundamental technologies - python, and you can even see the seeds of the component-based Zope3 model existing and being tested and expanded in the ongoing CMF, and tools being placed in the public CVS. Second, they were staking their future in migrating their sales to the new product, even before it was ready: > started on ACS 4 Tcl were confused and worried. We had at end of > 2000 almost nothing working in Java, just orders to get it done > ASAP. As it turned out, 5-6 months later in summer 2001, the > first client projects were tentatively deployed on ACS 5 Java. > Upon reflection I get a little freaked just writing this; in > retrospect it was an insane schedule, driven by no small amounts > of fear and desperation, and as one of the lead managers I walked > a constant tight-rope with client teams who did their best > delivering systems on alpha software. Zope Corp very specifically and deliberately is continuing to propose and develop customer projects in Zope2, and very specifically and deliberately has committed to continue doing so as the driving force in our business engagements. From the http://www.zope.com/News/ZopeRoadmap - ZRM> Zope Corporation will continue to support, enhance, and solicit ZRM> enhancements for Zope 2.x for the foreseeable future. Our ZRM> commitment to our customers and community requires this. ZRM> ZRM> While Zope 3 progress is a critical R&D effort on the part of ZRM> Zope Corporation, Zope 2 is the driving force in the Company's ZRM> current business engagements. Drastic rate of change also seems to be a big factor in the ArsDigita progression - and i don't have any sense at all that is what is happening with Zope3! From the inside (and speaking as a developer, not anything connected with public relations), i don't fee any rush to adopt Zope3 at all before it's ready. I'm developing in Zope2. I even have an increasing sense that my CMF experience gives me a legitimate foretaste, particularly with portal tools that are similar to services being created for Zope3. (Eg, events and an event listener tool we developed which Chris McDonough recently ported to public CVS - see http://cvs.zope.org/Products/EventListenerTool, to be used with the Event system and Scheduler, which were already there. And note that these Zope3-ish facilities are in 'Packages', not 'Packages3' - because they're usable in Zope2, while similar as (if not the same as - i dunno?) facilities that will be in Zope3.) For what it's worth, i see and have always seen Zope3 as a profound _refactoring_, not any abandoning of the old ways. A refactoring that i think any old-hand at Zope would see as well advised - emerging out of our experience with developing and using the software. Furthermore, the "our" of "our experience" is Zope Corp *and* the larger Zope community. That's another striking difference - Kai mentions small teams of developers churning away at heroic rates to come up with the new ACS versions, and then plopping it out into the world, full born. That is in stark contrast with the fish-bowl/public-sprint/give-and-take that i see happening with Zope3. If i _had_ to sum this all up, i would characterize the ArsDigita actions more towards the "push the new version because we have no other choice" variety, while i see the Zope3 process as being "do that refactoring we now have the wisdom and time to do, in a way we can land gradually and as fits". I'm sure that's an idyllic view, a bit self-indulgent - but i do see the two situations, ACS development versus Zope development, as being different in key and, from the Zope side, redeeming ways ... -- Ken [email protected]