AJAX in The World Is Flat
I’ve finally gotten around to reading The World is Flat since I’ve had some downtime recovering from a nasty flu. It’s one of those talked about business books that you sort of need to read so you know when people are referring to it. Very simple synopsis is that everything in the world can now be outsourced and so competition is global. Then think of 500 pages of anecdotal examples.
Turns out AJAX has so much hype it even ends up in the book:
Because these tools are delivered over the Internet and written in standard Web formats, they are accessible to anyone who has an Internet connection and are easily interoperable with any business. What enables work flow at this level is AJAX, a Web development technique that allows complex Internet business applications to be embedded into a Web page, then called up with a simple browser and accessed as easily as viewing a page on Amazon.com.
Change Takes Time
The Braidy Tester reports on how he tried to institute Agile on a team in short order. After presenting a bunch of practices including pairing, mini-milestones, and people working on fewer features at time he waited for management to respond. Management’s response:
In case you hadn’t guessed, none of my suggestions were enacted.
I can be pretty dense sometimes, but I got the message.
He explains that the great part was that by going back and arguing his points on an individual basis and just continuing to lobby, many of his suggestions did get implemented in the long term.
My experience has been that the incremental approach has worked in practice where wholesale adoption of Agile would have failed. The best part has been is that when people come to the realization on their own that a particular practice makes sense and adopt it on their own.
Whole hog, rapid adoption of Agile practices like TDD, acceptance tests, refactoring, user stories, collocation, etc is still intellectually appealing. Since it only takes three weeks to form a new habit you can possibly move a team into Agile very quickly if you can enforce everything. I just haven’t been in a position to experiment with this approach, and I do fear it may backfire in many work cultures. Still it’s an experience I’d like to have someday.
Coverage Build Failures
Our builds are failing today on one project. They’re failing because one of the developers asked me to turn on a Clover failure target. Now if the unit test coverage falls below 75% the build fails. The 75% number was fairly arbitrary, but you have to pick something.
The fact that we’ve made it to this point is both a good and bad sign:
- Good, because the team is insisting on a certain level of coverage.
- Bad, because they’re still adapting to TDD. Essentially on each Sprint they’re writing a few unit tests up front, then a lot of JSF code, and then catching up on the unit tests at the end.
Our eventual solution has to be to switch over to real TDD and not leave most of the unit tests for the last part of the Sprint. Hopefully forcing builds to break if things slip will help with that for the next Sprint.
Require rubygems
Configuration problems with Ruby’s XmlSimple
I like Ruby gems, I can see the resemblance to Perl’s old CPAN idea. CPAN always drove me crazy since everything you pulled down then had say 8-10 more libraries that it required. Till this day I still avoid often avoid perl just because of the pain of constantly installing libraries to get simple things to work.
I ran into one of those too easy to go wrong type problems. Just two easy steps to use XmlSimple:
-
1
sudo gem install xml-simple - Run a ruby script with <div class="codecolorer-container text vibrant overflow-off" style="overflow:auto;white-space:nowrap;">
1
require 'xmlsimple'</div>
Two hours later I still get the same useless error that doesn’t really have any google hits:
`require': no such file to load -- xmlsimple