Always a happy occasion… here comes Eclipse 3.0 M3.
Archive for August, 2003Not Up to Code? Embellishing the Flag, Then the Web Site (washingtonpost.com) talks about a number of laws that Bush has broken recently. This is partly a testament to how complex our legal system is, and partly a testament to how Bush is willing to bend the rules to get what he wants. There’s still that larger question hanging out there of how far the truth was extended in order to win support for the war against Iraq. iTunes iSbogus is a nicely done satire of iTunes that blasts people for supporting the existing music industry. I’ve been generally against the music industry and many of its practices, but the fact of the matter is that artists voluntarily sign contracts with these records labels. And, no one has stepped forward with a viable business model that pays for the recording of the music and promotion that follows the release… there is a lot more that goes into it than just the artist’s original output. Places like EMusic offer a new model for artists. Musicians have choices (and we better make sure that the legislature doesn’t remove those choices!)… if they want to be a “big name multiplatinum radio and MTV star”, the only way to do it today is via the major labels. Unless they’re really good at self-promotion. Yahoo! is expanding out beyond My Yahoo! (which is already a great service) to provide RSS feeds for several news categories. If you’re writing Java code and trying to support multiple databases, your best bet is probably to use Hibernate and not write queries directly. Assuming you just really like SQL, you can also useLDBC Liberty Database Connectivity which provides a common SQL syntax and common behavior regardless of which database engine you attach to. Via Slashdot of all places, I came across a link to Dynamic Drive DHTML(dynamic html) & JavaScript code library!, which looks like a great resource! I’m not sure why I’m taking the bait from this anti-XP rant at the BileBlog, but I am. Before I start: I am not saying that everyone should use XP everywhere all the time. Now that that’s out of the way…
Yes, times are tough and people have to go for business where they can find it. But, if that’s truly what your customers want, I’m sure there’s an increased chance of the project not being successful. Companies want to spend as little as possible, but they also want their projects to succeed. The point of having a lot of customer interaction is not to air your dirty laundry but to make sure that what you implement is actually what the customer wants. It’s not uncommon for the view of what the customer wants to change between the start of the project and the end, and lack of customer interaction is one signficant reason for project failure… the customer simply didn’t get a product that did what they wanted at the end of the development.
XP is not about making frequent “releases”. XP is about having visible, demonstrable results on a predictable (2-3 week) schedule. The customer decides when an actual release (as in code shipped to end user) happens.
Undoubtedly, though they will probably find fewer issues than if you weren’t doing test driven development. Also, it seems that you missed the fact that you are supposed to have automated functional tests, too. Ideally the customer would create these, so that they have something they can trust that says that development is done. I do think reality diverges from the ideal here, only the savviest of customers could create their own automated functional tests.
It doesn’t sound like you’ve ever actually done XP. If you’re doing test driven development, you should never be working on “getting unit tests up to date”. You would have written a failing unit test before changing any of your main code. Getting unit tests up to date can be a lot of work, because code that is written test-driven looks different than code that is not. It’s designed to be tested, and your test code is usually very simple.
I don’t think an XP team would stick a pair of clueless newbies in a room by themselves to work on something they’ve never seen before. If something is very esoteric and one person on the team knows about that, odds are that person will be paired with someone working on that part. Most programming is not quite that far out. XP teams are usually located in an open environment which means that the pairs are not working in isolation. Someone from one pair can toss in some guidance as needed.
Any team will be made up of a combination of people, with varying skill sets. In fact, you want a team with varying skill sets. People at Menlo Innovations, a local XP shop, mention that they have had great success where less-experienced developers would come up with novel solutions that are better than what the more-experienced developers came up with. Not because of any failing of the experienced developers, but because the less-experienced ones are not set in any particular ways of doing things.
Generally, people switch back and forth from the driver seat frequently. And if the person who is not driving is “bored”, they’re not doing what they’re supposed to be doing. While the driver (typist) is handling the mundane details, the other person is supposed to be keeping an eye out for the big picture: how well does this code fit the overall design? are there places that this can be refactored?
And what happens when a new requirement comes up that the “sound architecture” designed 2 years ago doesn’t address? People generally end up adding warts to an otherwise nice architecture, because they don’t want to break anything. When you do test first development and your tests cover the bulk of your code, you can change things a lot more comfortably.
Yes, we all know that user. The fact of the matter is that if the user is defining the features and the timeline, the project is likely to fail. Most projects have a fixed time horizon. The point with XP is to give the user the knowledge they need to make choices about their end-result product. If you want to say “Sure, we’ll give you all of the (undefined) features you want in 4 weeks”, go for it… and be ready to spend 80 hour weeks on a project that is buggy and comes out 4 weeks late. Something that could come in handy in a future power outage:
In the “oh, come on!” department: SCO CEO says IBM behind open source attacks includes this choice tidbit:
I’ve been avoiding adding more coverage to the already massive coverage of this crazy lawsuit, but these guys are even more deluded than it had seemed previously! I can guarantee that I think SCO is full of malarky and that IBM has nothing to do with that opinion. Time has a nice article about the changing consumerism in India. Huge change is afoot indeed.
The article also has some interesting bits about the steps McDonald’s has taken to cater to the crowd there:
|



Entries (RSS)