events

Rob Mee on XP Coaching

December 7, 2002 14:16:36.928

Rob gave a talk this afternoon on XP and coaching. My take on the XP coach is that it sounds a lot like a baseball manager - the job isn't to play baseball, but to make the other guys play baseball to the best of their abilities. now, like any metaphor, this one doesn't hold completely - while both jobs can be seen as transient (just look at how long the typical baseball manager lasts!), they aren't really the same. The coach is looking to train the team and go - the manager is really not hoping to work himself out of a job. In any event, Rob did a better job of conveying this than my notes indicate. It was a very interactive session, with a lot of feedback solicited from the audience. Here are the notes:

Rob Mee

XP and Coaching What is it - if XP is self organizing, why do we need a coach?
  1. Someone who has done it before
  2. Bootstrapping
  3. Observing (everything)
  4. enforcing discipline
  5. Course correction
  6. Participating in all team practices
  7. keeping the balance
i.e., much like a sports team coach Attributes of a good coach?
  1. Communication
  2. Flexibility
  3. Diplomatic
  4. Aggressive
  5. Persistent
  6. Supportive
  7. Creative
  8. technically Competent
  9. Likes to share power and responsibility
Questions: What about business domain knowledge?
You won't come in with it anyway. Will have to learn
What about coaching the customer team?
(Lowell)Could be a separate person. Just as we need competent programmers, we need competent customer
What is the most challenging of these skills for you?
difficult to answer in three minutes
Coach is a separate role from programmer - does he program?
Yes, participates and pairs (hopefully with everyone)

Tips, Techniques, Patterns How to win over a reluctant team (individual)?
Promise to go away after a fixed time Ask for temporary cooperation They can do it their way when you leave
good cop/bad cop (Rob, Kent - audience laughs) The integrator bunny Use a fun or provocative token for integration. breaks the ice. Team building Used a bunny - too small, got lost. Then used bunny ears (wearable) Pattern - Ronaldo (soccer) work is not everything The coach needs to make sure that the team makes non-work time part of the culture Live your life normally, and do your job better Relax, get away from work, get refreshed Strategic Retreat As soon as you start coaching, you are on your way out
  1. Start delegating
  2. lead meetings less often
  3. Stop giving tech advice
  4. Make fewer decisions
Experiences - question on failures references Kent's project cancellation story from yesterday Quote - XP is more suited to party people than other processes (Kent) - as a coach, it's important not to get sucked into the personality conflicts of the staff Experience - XP at a Silicon Valley startup, $25M funding large, ambitious browser based system Currently about 3000 unit tests hundreds of acceptance tests Flexibility
  1. removed WebLogic EJB 3 weeks before going live
  2. Planning module - 4 dim rotating model, designed to handle 3 million nodes -- changed to handle 350 million in 3 weeks
  3. How to replace the coach?
    1. start finding possibilities early
    2. intensive mentoring
    3. handing over of responsibility
    4. encourage XP community contribution (articles, talks, etc.)
    Experience - XP in Germany
    1. 100 year old insurance company
    2. 4 yrs
    3. 70 developers
    4. how much money did you say?
    5. nothing delivered
    Fired all staff, waited a week, hired 12 back 1st meeting - mgrs, 12 staff - We need you to teach us XP Results
    1. initial fear and dismay
    2. most doubtful - cried, even - became biggest champion
    3. team evolved into best estimators ever seen
    4. 8 weeks to a deployable system
    Tests Customer tests - Fit Unit tests - independent - no db contact, no 'container' (Tomcat) contact Why did it work?
    1. realistic goals
    2. one week iterations
    3. OS packages (over 10)
    4. Sane working conditions
    5. beer
    who to become new coach?
    1. one diplomatic, flexible, communicative
    2. another refactorer, aggressive
    3. third - technically brilliant
    Answer - coalition of all three Audience questions - how long to get there?
    typically 2-3 months if team has no XP knowledge With some background, small team - could be 3-4 weeks
    Kent - principle behind XP is one of creating social networks, not hierarchies Coaching is not about "power and glory" Job one - make the coach go away Job two - create a replacement

 Share Tweet This

events

Lowell Lindstrom at XP Brazil - The customer side of XP

December 7, 2002 14:19:24.718

Lowell Lindstrom of OMA spoke on a very interesting topic, and one that seemingly gets overlooked a lot - the customer side of XP - what do they get out of XP, and why do they care?

The Customer side of XP

What is our (developer's) ability to predict what the customer wants? not so good What is the customer's ability to specify what they really want? not so good So OMA started teaching XP classes a few years ago, and gradually came to the conclusion that teaching developers about XP wasn't enough. They had to talk to the customers as well.
Metaphor - Lowell related a story about his sister learning to drive. Lowell was ten, riding in the car with his family, typical vacation. He and his brother fought, suddenly Dad tells sister (close to home) that she can drive Instant quiet - the brothers weren't sure they were safe (audience laughs). Only problem happened on last turn home. Sister doesn't make the turn correctly - doesn't cut wheel enough, heads for a fire hydrant. So Dad grabs wheel, pulls it, and yells a lot. So what does this mean to us? Steering is difficult when starting out. It's nice to have someone to help you out. In XP, the customer is steering.
So what about Lowell? He started as a developer working with Bob Martin (Uncle Bob), who was then heavily involved in the C++ Report and OO community. Started Gravitating towards the customer point of view early - programming was fun, but not his passion. Moved into customer relations, product marketing, and Q/A.
  1. Heard Ron and Kent talking about XP
  2. Heard XP as a developer side thing, without enough customer side
  3. Thought, how does XP impact sales, marketing, management (etc)?
So when OMA started teaching XP classes, they ran into a common issue - trust between customers and programmers was typically not high (on either side). Programmers generally didn't respect the customer, the customer did not trust the programmers enough to tell them what they really wanted. Solution - Lowell started teaching XP for Customers First class, adapted slides from the standard XP class. This was fine until they came to this:
Why are we here? Because we like to program
hmm. This required some dancing and adpatation. So why are customers here? Lowell has answers, but is still looking for a better quick summary. Customer's dilemma
  1. Market is changing fast
  2. The business is becoming more and more reliant on software (which is hard to get)
  3. There is still a shortage of skilled programmers
  4. There are lots (too many, almost) internal and external customers
  5. There is a constant need to make very difficult choices about focusing limited resources
So again - Customer's dilemma Audience feedback to this - what does the customer want?
Make work easier Have more people use the product(s) Bring in profit Improve efficiency Improve reliability and repeatability of delivery to customers Have time for personal stuff Actually get the products that the customer wanted Better Time Management
Again - Customer's dilemma They want the same thing as developers - they want to execute the business as well, as much, with as little stress, and as much success, as is possible.
XP Values
  1. Simplicity
  2. Communication
  3. Feedback
  4. Courage

KISS

So they derived a Customer's Bill of Rights Customers have a right to:
  1. An overall plan - what can be done at what cost
  2. Get the most possible value out of every programming week
  3. See progress in a running system proven to work by repeatable tests you specify
  4. Change your mind, substitute in functionality, change priorities without paying exhorbitant costs
  5. Be informed of schedule changes in time to choose how to reduce scope to restore the original date.
  6. Cancel at any time and be left with a useful, working system reflecting investment to date
There is, of course, a matching Developer's Bill of Rights
  1. Know what is needed with clear priorities
  2. Produce quality work at all times
  3. As for and receive help from peers, superiors, customer
  4. Accept responsibility instead of having it handed to you
Lowell drew a picture here, showing the overlap between the developers, customers, and stakeholders. The stakeholders - end customers, marketing, sales, management, media, testers, etc. - are often pretty remote, but still must be taken into account Key concept - it's a Whole Team Customer Team practices
On site customerBusiness strategy alignment
XP PlanningManaging High level requirements
Acceptance testsStakeholder feedback
Small releasesConflict resolution
MetaphorContract structure
Not necessarily comprehensive - but key if you want a well fuctioning customer team
Managing scope Lowell drew a diagram with a set of boxes in it. The boxes are customer requirements to be delivered. Question - how many projects have completed exactly as they were specified? No hands go up. Ok, some do more, most do less, some deliver a less pluss some things not planned for. What's important? That the dividing line is far enough down that the customer perceives value - and has the acceptance tests that prove it. If we can deliver that, then the customer will probably be mostly happy

 Share Tweet This

events

XP Brazil - The closing Panel, random thoughts

December 7, 2002 14:23:42.285

I gave my talk on XP in Smalltalk, and why I think it's better that way. You can get the presentation here. I had a good audience, and interestingly, a good number of non-Smalltalkers. All of the attendees received an NC CD, and after my talk, I had a number of people come up to ask questions. The thing I showed them - maybe I should have done this in the presentation - was to bring up the Web Toolkit ToyzInc demo, and walk through it. Then put a halt in a page, and watch the jaws drop! Yes, tools like Eclipse are getting better, but JSP coding isn't nearly this productive or fun. Anyway, the show itself was a lot of fun. I actually got to attend this show, instead of pulling booth duty (my typical fate at these things). It was a lot more fun to listen to the presentations. Once nice thing was that translation was provided - not just English to Portuguese, but also the reverse - so I could participate in events held in Portuguese - very nice. The XP hour on Thursday was especially nice that way. Funny thing, or at least ironic - here I studied Spanish for ten years, and the first country I visit in South America speaks Potuguese. I ran into three simply wonderful people from Paraguay who also did not speak Potuguese, and for whom English was their second tongue. I spent a couple of pleasant lunches conversing with them.. oh well. The folks from Object Magazine (Brazil were also very nice - Thanks Daniela for being so patient with my Spanish and (very halting) French. Daniela was kind enough to ask me to write an article for their magazine, and her editor asked to interview all of the invited speakers via email. I am pleased and humbled to be included with such a group of XP luminaries. Daniela (and a few other people) encouraged me to write a book - gosh, that sounds like real work. I'm tickled, and we'll see if I have that much ambition. The conference ended in a panel discussion on the future of XP - Kent Beck, Flavio, Scott Ambler, Lowell Lindstrom, Rob Mee - and Klaus Wuestefeld (an organizer and emcee, as well as XP expert) surprised me by asking me to participate in the panel. I took this as quite an honor! It was interesting - lots of good audience questions, including one on the future of Smalltalk. I related Cincom Smalltalk's annual 10% year on year customer increases, and that there are more Smalltalk vendors now than there were back in 1993 (Object-Arts, Object-Connect). This led to an interesting question - and later conversation - with Rob Mee. He has been working on a project with an old (conservative) bank in Germany, where they brought in all Open Source products to solve a problem - see my post on his talk for some notes. Well, that's a hard one. On the other hand, some of those OS things - a mock object framework (not needed in Smalltalk), JUnit (ships with VW), Eclipse (cool, but not as powerful as VW) simply aren't, IMHO, that relevant. Others, like Tomcat, are. On the other hand, the VW server frameworks scale quite nicely. The larger point is that there are scads of Open Source components for Java, and doesn't that swamp Smalltalk's ability to compete? Well, there are two answers to that

  1. First, ask any of the XP luminaries what they would rather code in. After you here Smalltalk from almost all of them, draw your own conclusions
  2. Second, The productivity gains in Smalltalk - 3x according to the SPR numbers - will still yield an earlier delivery
i.e., if project delivery dates actually matter, I think Smalltalk is still a better answer. Of course, I didn't have all this at hand when I spoke to Rob, and he still has a point. It's key to get more Open Source stuff going in Smalltalk. Bottom line, I had a marvelous conference. I am very, very glad that the Cincom Brazil folks - Thanks Ivan de Souaza and Nelson Martins! invited me. I am grateful to Klaus Wuestefeld for going out of his way to make me feel welcome. And I want to talk Objective Solutions - a Cincom Smalltalk customer - for being the driving force behind the show. Oh, and thanks to Scott Ambler for the kind present of a signed AM book! One other thought - if you go to Brazil, make sure to be ready for a lot of very good food!

 Share Tweet This

events

Summary of the links to my XP Brazil notes

December 7, 2002 14:40:38.703

First, bear in mind that my notes are not comprehensive - I didn't see all the talks, or even most of them. However, here are the permanent links for my blog entries on the show: Kent's opening talk Brief show notes, first day Scott Ambler - Agile Data, Agile Databases Kent's Keynote, XP Brazil Rob Mee on XP coaching Lowell Lindstrom - XP for the customer My thoughts on the show

UPDATE - I made the links friendlier for ancient browsers.

 Share Tweet This

itNews

Apparently I missed the Times report on Kay joining HP

December 7, 2002 15:16:42.172

The Times story (free registration required) - has some interesting comments about Alan Kay and Smalltalk:

Dr. Kay and a few PARC colleagues, notably Dan Ingalls and Adele Goldberg, also developed Smalltalk, an influential programming language that uses blocks of code, known as objects, that are put together, like the cells that make up the human body, to build applications.
That's a nice quote from the mainstream media on Smalltalk!

 Share Tweet This

itNews

IBM buys Rational...

December 8, 2002 12:24:11.529

See the whole story here. My first take on this - it moves IBM away from the whole Agile Development Camp - Rational in general, and the RUP are not agile proponents by any stretch of the imagination. It will be interesting to see how this one plays out. This is also interesting for other reasons - I'm of the opinion that Sun is doomed, as they are being squeezed on the commodity end by Microsoft and Dell - meanwhile, IBM is hitting them hard on the enterprise side. My guess is that IBM will eventually by the rights to Java and Open Source it. Right or wrong, I think it's going to be an interesting next couple of years in the IT business.

 Share Tweet This

survey

New CST Survey for December 8, 2002

December 8, 2002 13:01:06.865

We have posted a new survey here: Cincom Smalltalk Survey and of course, all previous survey results may be found here: Survey Results This week's topic, inspired by my trip to the Brazil XP conference, is XP and Agile development. Thanks!

 Share Tweet This

events

Alan Knight's trip notes from Net Object Days

December 9, 2002 10:20:53.413

In October, Alan Knight traveled to Erfurt, Germany for Net Object Days. You can see his trip report here

 Share Tweet This

java

Well well, the Java guys are going to make some mods

December 9, 2002 10:48:16.887

Lamba the Ultimate reports that there's a JSR for adding some stuff to Java. See the post here. Here's an extract:

Sun has recently posted a list of new proposed features for Java 1.5. These include:
  1. A syntax for defining enumerated types. This syntax provides linguistic support for the Typesafe Enumeration pattern.
  2. An automatic conversion from primitive types to their corresponding reference type wrappers. This conversion facilitates the integration of generics into the language, and reduces inessential clutter.
  3. Enhanced for loops allow convenient iteration over collections, without the need for an explicitly defined iterator. This reduces the need for boilerplate iteration code and the corresponding opportunities for errors.
  4. Static import. A mechanism to allow the use of unqualified constants.
Useful links: The JSR document describing these proposals in more detail and the discussion on The Server Side. It's interesting to note how these changes are mostly cosmetic alterations to syntax rather than deeper semantic changes such as adding blocks. There's an interesting wiki page I started a while back that offers some interesting proposals that would really shake up Java.
It's as if the Sun guys almost get it, but not quite... Closures? Nahh, that would be useful, can't have that for the unwashed masses, can we? The Wiki Ref above actually makes some interesting proposals; on the other hand, people wanting such things could just use Smalltalk and be productive now. Can't have that either, I suppose; gotta follow the herd wherever it goes. At this pace, Java might conceivably be as usable as Smalltalk in about, oh, maybe 20-30 years. In th emeantime, the suckage continues....

 Share Tweet This

itNews

The fun at IBM and Rational begins

December 9, 2002 12:44:42.797

Boy, I remember this kind of contradiction at PPD back in 1995-1996. Lots of fun for everyone. All the people managing this merger must really like the article's title:

IBM Australia denies Rational analyst comment
snicker

 Share Tweet This

development

REST?

December 9, 2002 21:37:47.829

Here's an acronym I ran across awhile ago and ignored, but looked into a bit today: REST: REpresentational State Transfer The idea seems to be, if you can do an HTTP GET and get back an XML document for parsing, that's REST. How you know what you are going to get back? Anybody's guess, I suppose. Anyway, here's the story

 Share Tweet This

general

Wow, my daughter doesn't need to know this

December 10, 2002 8:23:29.363

I read this story with trepidation. Apparently, the 8-12 year old set wants a cell phone - and the Wired story says this:

If a child in this age group doesn't already own a cell phone -- 21 percent of them do, according to research by SpectraCom -- he or she is likely part of the great majority pestering mom and dad for one
Fortunately, my daughter still seems to like board games and Christmas decorations and Barbie more than this stuff. Whew!

 Share Tweet This

blog

Think I have all the url encoding issues fixed

December 10, 2002 14:39:46.013

There were some issues with the arguments I was passing in the urls - specifically, they had spaces in them. This didn't cause any problems for newer revs of IE or Netscape, but older browsers had problems. I should have that licked; please send me email if you spot something.

 Share Tweet This

smalltalk

Alan Kay's still up to cool Smalltalk work

December 10, 2002 14:44:22.226

And still trying to invent the future - take a look at the Croquet site. The summary page has useful information as well:

Croquet was built to answer a simple question. If we were to create a new operating system and user interface knowing what we know today, how far could we go. What kinds of decisions would we make that we might have been unable to even consider 20 or 30 years ago, when the current set of operating systems were first created. The landscape of possibilities has evolved tremendously in the last few years. Without a doubt, we can consider Moore's law and the Internet as the two primary forces that are colliding like tectonic plates to create an enormous mountain range of possibilities. Since every existing OS was created when the world around it was still quite flat, they were not designed to truly take advantage of the heights that we are now able to scale. What is perhaps most remarkable about this particular question is that in answering it, we find that we are revisiting much of the work that was done in the early sixties and seventies that ultimately led to the current successful architectures. One could say that that in reality, this question was asked long ago, and the strength of the answer has successfully carried us for a quarter century. On the other hand, the current environments are really just the thin veneer over what even long ago were seriously outmoded approaches to development and design. Most of the really good fundamental ideas that people had were left on the cutting room floor.
Go read the whole thing - it's well worth the time. They are using Squeak as the basis.

 Share Tweet This

events

Smalltalk Solutions 2003 Call For Participation

December 10, 2002 23:45:19.305

The Call For Participation is out. Next year's show will be held in Toronto, Canada July 14-16. Hope to see you there!

 Share Tweet This

development

REST - ok, starting to get it

December 10, 2002 23:49:35.039

I saw this usage report online, and it made sense. The approach those guys are taking seems much simpler than a SOAP basd approach:

At my company we are using a REST-based interface to allow the import and export of data to and from our trading system. We considered using SOAP, but felt that it would create an unnecessary extra layer of complexity without offering any benefits over a REST architecture. In fact SOAP's RPC approach seems to have many short comings versus the Representational State Transfer approach
With VW, this all ought to be pretty straightforward. You create servlets using Web Toolkit, and deal with the inbound and outbound XML using the XML support. A whole lot simpler than SOAP, and it's something that could be grown very incrementally.

 Share Tweet This

analysts

Another Analyst Report

December 11, 2002 0:15:13.322

Readers of my blog will know that I'm skeptical (to say the least of the so called analysts - see here, and here, and here, and finally, here for my last round of rants on this subject. Still, many large companies seem to take what these people say as gospel, which means that this report on web services from the Meta Group will have a lot of influence:

According to META Group, more than 90% of large organizations will utilize host access products that externalize legacy applications via Web services by 2007 "We expect host access products to continue playing an important role for large organisations externalising legacy applications," said Mark Vanston, programme director with META Group's Enterprise Data Centre Strategies service. "Web-to-Host access solutions can reduce the cost of legacy integration, enabling organisations to leverage existing assets and capitalise on new IT opportunities"
Better go get the SOAP out...

 Share Tweet This

cst

In case you missed the Multi-Proc UI info

December 11, 2002 0:50:41.365

In September, Sam Shuster put out some information on the changes coming to the VW GUI with the upcoming 7.1 release of VisualWorks - the singleton UI process is gone, replaced by a more flexible system that will allow per window (or per application, or any other combination) processes. To get the lowdown, follow this link to the September Smalltalk Digest.

 Share Tweet This

smalltalk

How do you make a project successful?

December 11, 2002 10:27:52.726

Jason Ayers makes some good points on the c2 wiki on this topic. Check out his post yourself.

 Share Tweet This

community

Some cool Powered By Smalltalk possibilities

December 11, 2002 11:01:20.417

Boris Popov has posted some interesting Logo possibilities. Personally, I like this:

 Share Tweet This

community

Smalltalk IRC network

December 11, 2002 11:41:31.072

Smalltalkers can now more easily connect thanks to the efforts of Janko Mivsek, Peter Hatch, and Rado Hodicak. This was posted to comp.lang.smalltalk this morning:

I'm glad to announce that a Smaltalk IRC Network is born. As you probably know, an IRC server run by Pete Hatch exist for a year or more already. To improve robustness and availability of IRC regardless of any internet related troubles, we decided to add two more servers and connect all of them together in IRC network. So, now you can connect to those three servers:
irc.parcplace.net (US, run by Pete Hatch, nickname pete) irc.4096.sk (Slovakia, run by Rado Hodicak, nickname rh) irc.eranova.si (Slovenia, run by Janko Mivsek, nickname Misolin)
After you connect to one of those servers, join a general channel #smalltalk . You can open your own channel like #squeak, or a channel for your project, for your group, etc etc .. And what is IRC chat good for?
  1. staying in touch with Smalltalkers around the world
  2. feel of community
  3. fresh news, rumors, stories are heard on IRC an nowhere else ;)
  4. real time "help desk" for your problems
  5. good communication media for your Smalltalk group
  6. remote XP like work
  7. and many more.
If someone likes to join the net with his own server, he is welcomed. And specially squeakers are very welcomed too :) It is my desire to join all Smalltalkers to communicate together and being on the same IRC net, even on separate channels, is definitively a step towards that goal. So all of you are invited to join :) Janko
This really great - a lot of the BottomFeeder work was helped out via the IRC - it's been the primary means of communication between Dave Murphy and I.

 Share Tweet This

java

More evidence that Gosling and the Java boys live in an echo chamber

December 11, 2002 11:51:41.227

This story left me rolling on the floor laughing. Either Gosling had no idea that the elisp in Emacs was part of something larger, or he's just completely clueless. Possibly both. Here's a quote from the page:

The Jackpot team is engaging in experiments using the open source NetBeansTM platform. NetBeans, the product of a small but widely-known company in Prague, the Czech Republic, is a modular, extensible IDE, written in the Java language, that has been in open source since June of 2000. The SunTM ONE Studio (formerly ForteTM for JavaTM) product line is based on NetBeans. By taking their experiments out of the lab and into the open-source developer community for real-world feedback, the team is opening the project to the wealth of talent in the open source community. "There have been a lot of good ideas and interesting approaches that haven't been reflected in the commercially available tools, particularly the IDE interface," says Michael Van de Vanter. "We're experimenting with plug-compatible tools on the NetBeans platform. By getting feedback from the open source community, we will further refine our prototypes."
Not available in commercial tools? Apparently, neither Gosling nor any of his team have ever seen a Smalltalk or Lisp implementation. Or if they did, they didn't understand it. Or I suppose they could just be making wild assertions that they are boldly going where no one has gone before, assuming no one will know the difference. That would make them lying weasels, of course, but hey - that's just my opinion.

 Share Tweet This

BottomFeeder

BottomFeeder Update

December 11, 2002 17:49:36.940

If you have downloaded a recent development build, you'll want to visit the site and grab the latest. There was an odd bug that arose when I added some code to check for a possibly running version - detecting one results in the auto-save feature being turned off. Unfortunately, I had the auto-save being turned off no matter how the check went.

 Share Tweet This

community

There was an outage....

December 12, 2002 11:54:09.004

Apparently, someone thought it would be hilarious to launch a DOS attack on this server. Things seem to be ok now, but I'm working on some safeguards...

 Share Tweet This

itNews

Well, well, the Rational story is getting interesting

December 12, 2002 12:30:13.787

According to this story, Microsoft is also bidding on Rational. That's interesting. Well, one of the two will end up supporting the overblown, heavyweight cruft that is RUP, and the other will have another chance to look at the Agile side of things. Should be interesting either way, I think.

 Share Tweet This

cst

The NC Download app...

December 12, 2002 16:39:52.965

If you forgot what email you registered with (here), there's a feature for having us email you your password. Unfortunately, I had never fully tested this feature, and it bailed with an error if you entered an email we hadn't seen. That will teach me to write unit tests. In any case, the server now responds to that situation appropriately - telling you sorry, try another email or register.

 Share Tweet This

development

Joel hits another good note

December 12, 2002 20:03:23.444

This post from Joel has some really, really good points. Excerpt:

There was a time when if you read one book by Peter Norton, you literally knew everything there was to know about programming the IBM-PC. Over the last 20 years, programmers around the world have been hard at work building abstraction upon abstraction on top of the IBM-PC to make it easier to program and more powerful. But the law of leaky abstractions means that even as they built the abstractions that are supposed to make programming easier, the sheer amount of stuff you have to know to be a great programmer is expanding all the time.
I think this is part of why the Smalltalk community keeps being baffled about the C family of developers saying that Smalltalk is hard. Smalltalk is all about abstractions; a lot of the C style developers don't like looking that high up, and have to do a mental shift just to get there. Smalltalk is about simplicity, but it takes a mental leap to give up the familiar complexity.

 Share Tweet This

java

Well, it's something

December 13, 2002 3:30:49.952

In response to my complaint here, (which I also sent in a slightly more judiciously worded email), I did get a decent response:

Me: Is the Java team completely blind to events outside the Java Universe, or is it worse than that? Sun: None of the above: we neglected to spend enough time supervising the hype generators closely enough. We know better, and I apologize for the indiscretion.
so I'll acknowledge the kind response. Now, let's see if they update the site....

 Share Tweet This

analysts

Might as well use some of those Analyst numbers...

December 13, 2002 8:16:12.073

Awhile back I had this to say about suggestions that Java, being mainstream, is safer than Smalltalk. Well, there's some fascinating numbers you can pull out on that. This Gartner information states that fully 40% of all IT projects fail:

A September survey by the Gartner Group, a technology consulting company, revealed that approximately 40% of information technology (IT) projects do not produce their intended results, an indication of how badly some companies need the consulting services of a tech-savvy CPA. Gartner's prediction that global IT spending will reach $3.3 trillion by 2002 highlighted the broader implications of this finding.
Now combine that with this Gartner study, in which they state that, to date, Java projects have a 70% failure rate - and that they expect the same failure rate for .NET. So, by using Java instead of what you already know, you increase your chances of failure dramatically. To see the weirdness here, merely note that they
  1. Recommend that you use Java or .NET
  2. Note that they report much higher failure rates for those decisions
and then decide whether they are worth listening to, since they apparently don't look at their own data when making recommendations. Heck, even political polling firms are smarter than that.

 Share Tweet This

events

There's apparently a conference for everything

December 13, 2002 9:04:13.353

Just follow this link to see what I mean. Scary, kind of...

 Share Tweet This

development

Project Failures - thoughts

December 13, 2002 10:41:03.641

Projects don't fail for technical reasons. They fail for people/communication reasons
What the analysts and pundits don't take into account is how technical choices aid or impede communication. One of the largest problems faced by IT shops is churn - there is always a new silver bullet technology that will solve all the problems. What this means is that most IT shops never gain enough expertise in any given set of tools to be truly productive; they are always moving on to new tools that will theoretically solve the problems better than the old ones. What developers need is tools that will help improve communication - both between themselves, and between their customers. If the technologies they choose to implement in are complex, then developers will consistently be speaking jargon - solving technical problems instead of business problems. If, on the other hand, developers are given tools that are not complex, they will spend more time solving (and discussing) business problems instead of technical issues. To use a trite example, simpler tools will allow developers to discuss requirements instead of compiler errors. Tools that mostly get out of the way and allow developers to express the intent of their customers are better; tools that layer on complexity and arcane rules stand in the way, and prevent or delay these expressions of intent. One thing to bear in mind is research from psychology. People can, on average, keep 7 (+/- 2) things in mind at once. Adding to the number of things that need to be kept in mind is not really possible - it's a human limitation. Choosing tools and/or processes that insist on throwing complexity directly in the face of a developer are as sure a recipe for failure as is possible - simply based on the reality of human capabilities. What does this mean? It means that choosing a strict process with many steps and lots of documentary steps is not going to work - the sheer complexity of the process will over burden the average developer. Likewise, choosing a set of development tools that require a steep learning curve will add problems. It will take longer for developers to internalize the rules well enough to be productive. It's a simple fact that projects will not normally be staffed with as many experienced people as you would like - so choosing technologies that make things simpler will get you started sooner.
Where does this drive us?
Processes - pick an agile methodology. A heavyweight, process driven methodology will wear developers down and prevent progress. Tools - pick an agile toolset. A set of complex tools will likewise wear developers down and prevent progress. What satisfies these? Visit the Agile Alliance for tips on process. For tools, take a look at Smalltalk. It's no secret that the Agile Alliance leaders are virtually all from the Smalltalk world; there's a reason for that. Smalltalk is simple and powerful. A beginner can learn it in minutes, and an expert can express a design clearly and tersely. One complaint you'll hear is that Smalltalk has a large learning curve. And Java or C# don't? Smalltalk has 5 reserved words and syntax that fits on a 3x5 card. C# and Java have 50+ reserved words and very complex syntactical rules. It simply is not the case that Smalltalk is harder to learn. If you want to beat project failure, the best way to do so is to use an agile methodology with Smalltalk.

 Share Tweet This

itNews

The Rational/MS Thing

December 13, 2002 12:37:51.354

One of my intrepid readers linked to my earlier Rational post, and, there are comments on this weblog.

I'd give rational more credit: a) They may have used eclipse because they recognized a need to have a better technical foundation for their product; b) they wanted to be more appealing to IBM; c) they recognized that they need to become more agile and saw eclipse as a step in that direction (it is); d) they relized that there was a market for a common tool set for dot net and j2ee deveopment in large organizations. e) a+b+c+d. I'm amazed that there was not more Slashdot interest in the Togethersoft connection. As half-troll pointed out, Borland just agreed to buy Togethersoft. Togethersoft Control Center offer support for multi-language, model driven development -- many Java developers prefer it to the WebGain and/or Rational tool set. Of course, Together Control Center addresses problems not normally encountered by the slashdoters such as deploying to multiple J2EE servers, object modeling, complex documentation that is generated from code, etc.
Read the whole post, he's got interesting things to say.

 Share Tweet This

community

Have you joined the new STIC?

December 13, 2002 13:05:46.917

If not, why not? The new STIC has been put back together through the efforts of Allan Davis and Jason Jones (who also sponsor the excellent Why Smalltalk site. Individual and corporate memberships may be purchased online - and individual members will get a nifty CD with all of the free and non-commercial Smalltalks on it. Join now!

 Share Tweet This

java

Ahh, more words of wisdom from McNealy

December 13, 2002 14:20:48.954

InfoWorld interviews the intrepid Scott McNealy. He goes on reasonably enough for awhile, and then gets here:

IDGNS: Do you think you waited too long to bring out a Linux on Intel server? Did you wait too long on an Intel-based system because SPARC is in your blood? SM: If you look at what Sun has done that no one else has done in the Microsoft era, we have developed a real live developer community. There is the .Net developer community and the Sun ONE (Open Net Environment), Java, XML developer community. After that, there really aren't many interesting developer communities. The rest are small and shrinking. We are doing everything we can to provide as much opportunity for the Sun ONE, Java, XML community. We think we can leverage the 32-bit price-performance points of the low end of the Intel space to make Sun ONE a better price-performance environment for some areas
Apparently, McNealy is unaware of all the Perl and Python work going on. Purposely unaware, maybe. Clueless, more likely.

 Share Tweet This

analysts

So using the statistics...

December 13, 2002 23:45:21.161

I posted earlier on the Gartner reporting - they have statistics showing an overall industry failure rate if 40%, and of 70% if using Java. I posted this to comp.lang.smalltalk, and John Brant applied the following:

40% of all projects fail and 70% of all Java projects fail, so what's the
rate for non-Java projects :-)

40% * (# of projects) =
    (70% * (Java market share) * (# of projects)
        + (non-Java failure percent) * (1-Java market share) * (# of
projects))

If we assume that Java's market share is 50%, then we get:

40% * (# of projects) =
    (70% * 50% * (# of projects) + (non-Java failure percent) * 50% * (# of
projects))

This can be reduced to:
    40% = 70% * 50% + (non-Java failure percent) * 50%
==>
    40% = 35% + (non-Java failure percent) * 50%
==>
    5% / 50% = non-Java failure percent
==>
    10% = non-Java failure percent (assuming 50% market share)

So, if they actually believe their own statistics, they
  1. Recommend that you use Java instead of (say, Smalltalk)
  2. Based on their own stats, they know that following their recommendations has a 70% chance of failure
  3. Based on their own stats, they know that not following their advice has only a 10% chance of failure
kind of sums it up, doesn't it? They don't check facts - they make claims that Smaltalk vendors aren't upgrading their products, when this is demonstrably not the case. They tout statistics that they can't possibly believe - if they did, they wouldn't make the recommendations they make. None of this is hard to check - heck, I did nothing but follow links on the net to gather this information. Seems to me that it's time someone pointed out that the emperor has no clothes

 Share Tweet This

development

Joel's Lord Palmerston story

December 14, 2002 12:01:17.552

has gotten some attention. This is the original post from Joel; it seems others are weighing in on the topic. For instance, I picked this up from Gordon WeakLiem, who got it from comments elsewhere:

Personally I think the heyday of really hard programming were the early 1960s, when the first big distributed electronic commerce systems like SABRE were being built. American airlines contributed the 1960 equivalent of a billion dollars to build SABRE over 5 years (I don?t know what other airlines spent). I believe these numbers and timeframe are similar to what Microsoft spent to develop the entire .NET platform. It?s hard to believe that if the airlines wanted to build a reservation system today they couldn't use mostly off-the-shelf software and get it done for 1/10 that cost (or less, I?m an optimist). Even if it feels like you have to run to stand still in this industry I think it's easier than ever to get things done.
Gordon then goes on with this:
Talking about the travel industry is always a good way to get me to pay attention ;-) If you want a good read on the construction of SABRE, chapter 2 of the book Hard Landing has the story. In fact, Sabre was the 2nd system American Airlines tried, another company (Burroughs, IIRC) tried and failed before IBM succeeded. I still work in the industry, and the amount of effort involved in making changes on the mainframe is absolutely incredible. One of my co-workers who's worked on the mainframe tells me that he used to maintain code where the last modification date was before he was born. Now that's legacy code.
I spent some of my own time in a Sabre offshoot - a wild attempt to rewrite the TravelBase system. It had started out, as all of the Sabre system did, as a mainframe system. There were stories galore there; it was written in HuBol - named after Hugh, who's office was in the basement. If you had a question, you could ask Hugh - if he felt like answering, he would. Being close to retirement, his concerns didn't always match ours.... This was an attempt to rewrite the system - out of the mainframe and the Cobol offshoot, and over to OS/2 and C. You haven't seen hell until you've seen a bunch of Cobol programmers trying to do their first even driven, GUI based system in C. I spent 6 of the longest months of my life on that death march, and all I have to show for it is the wrist wrest under my keyboard, which has the official launch date - June 2, 1992. Don't you believe that the system actually worked then....

 Share Tweet This

analysts

More Fun with Numbers

December 14, 2002 22:33:57.253

So I posted some fun with statistics yesterday. Let's revisit those numbers under a different set of assumptions. Recall that

  1. Gartner's own numbers claim that 40% of all IT projects fail - and this is in line with other industry research - story here
  2. Gartner's own numbers claim that 70% of all Java projects fail - story here
  3. Gartner has been recommending (since 1997 at least) that IT shops migrate from Smalltalk to Java
In the post referenced above, I assumed 50% market share for Java. That's way, way too high - between existing projects, legacy work and what not, let's assume some different numbers: Assumption 1

Java has 10% market share in development

40% (failure rate) = 70% (Java failure rate) x 10% (Java share) + N x 90% (other dev languages share)

That boils down to N = 37% failure rate for all languages other than Java, assuming a 10% share

Assumption 2
Java has 20% market share in development 40% (failure rate) = 70% (Java failure rate) x 20% (Java share) + N x 80% (other dev languages share)
That boils down to N = 32.5% failure rate for all languages other than Java, assuming a 20% share Assumption 3
Java has a 30% market share in development 40% = 70% x 30% + N x 70% That boils down to N = 27% failure rate for all languages other than Java, assuming a 30% share


But you get the point - Gartner's analyst on this has been telling people to migrate from Smalltalk to Java for at least 5 years now, even though he has been in full possession of these facts. He has been telling people that Smalltalk vendors are not adding new features to their products - he said so earlier this year, in fact to some of my customers - even though he knew about the upcoming releases of VW 7, VAST 6, Gemstone 6, and Dolphin 5!. In short, the Gartner analyst who follows Smalltalk doesn't do minimal fact checking - and is in a position that enables him to do huge amounts of harm. Now, I don't begrudge an analyst expressing the opinion that Java skills are easier to find, or that Smalltalk is more of a niche tool - what I mind is the blatant lack of fact checking - i.e., the assertions that no new work is being done by vendors. I mind the fact that he tells people to migrate off, knowing full well that this increases the risk of project failure dramatically. In short, I'm sick and tired of experts deciding that Smalltalk is dead, and then making sure that it's true by pounding us in the head with a shovel.

 Share Tweet This
-->