Skip to main content
View by: Most Recent | Topic | Community | Webloggers   
Monthly Archives:    

Blogs by topic: Extreme Programming

• Accessibility • Ajax • Blogging • Business • Community 
• Databases • Deployment • Distributed • Eclipse • Education 
• EJB • Extreme Programming • Games • GlassFish • Grid 
• GUI • IDE • Instant Messaging • J2EE • J2ME 
• J2SE • Jakarta • JavaFX • JavaOne • Jini 
• JSP • JSR • JXTA • LDAP • Linux 
• Mobility • NetBeans • Open Source • OpenSolaris • OSGi 
• P2P • Patterns • Performance • Porting • Programming 
• Research • RMI • RSS Feeds • Search • Security 
• Servlets • Struts • Swing • Testing • Tools 
• Virtual Machine • Web Applications • Web Design • Web Development Tools • Web Services and XML 


Extreme Programming

Somnifugi JMS is a lightweight, single-JVM implementation of the JMS interface. I've used Somnifugi to simplify the threading architecture on a few user interfaces for clients over the years. The architecture has worked well, especially for developers who weren't familiar with Java's multi-threading. I've been meaning to follow up on an article by Johnathan Simon where he hinted that one could...
on Jun 23, 2004
Have you seen the 2-liter water rockets? My wife Maggie and I recently bought a launcher to entertain our kids. We about killed ourselves drinking enough rootbeer to empty the rockets, and then headed to the park. My daughters Kayla and Julia stood slack jawed, staring alternately at the aqua missle and their crazed daddy. You basically take a bike pump, a 2-liter soda bottle, and enough...
on Jun 10, 2004
Someone asked on the XP egroup about getting access to private methods for testing purposes. Others suggested a number of ways to get this effect, but it got me thinking about refactoring. Refactoring is often thought of as a pure, safe transformation: convert a program into another program with the same semantics but a better design. From the standpoint of a refactoring tool, the "same...
on May 31, 2004
This isn't a blog about Java-based technologies per se, but it's relevant to any Java programmers working on Open Source platforms. Recently, I have spent a few days working on migrating our existing CVS repository onto some new hardware. This time, I also set up ViewCVS and BugZilla, and took some steps to integrate them more tightly. I worked from a great overview by Steve McIntyre, which is...
on May 14, 2004
I recently had a chance to do some refactoring of some Visual Basic code. I hadn't worked with it in several years. In particular, I hadn't worked with the object support that's in VB.Net. It's very striking how much it's like C# with different keywords. My task was to convert some code from using web services (which were too slow) to just straight object code. Several factors came together:...
on May 12, 2004
It boils down to this: You can use Picocontainer's constructor-dependency-injector strategy to automatically pipe an object instance into an action component, with the understanding that once the action is executed, it will alter the state of its dependency objects. This is one of the core principles of the WARS style. So, you create an object, invoke the execute() method on it, and assume...
on Apr 28, 2004
My brain has been slowly digesting the concept of code rot, triggered by skimming random articles or blogs that have recently mentioned the term. Code Rot. It's a good word. We've all experienced it. But it's another thing to understand it. What is code rot?? The process of evolving and improving upon code is a dynamic one. Some say it has a life of its own. But its thread is fragile...
on Apr 20, 2004
Example-Driven Development Test-Driven Development is a style that says "write a test for a small bit of functionality, write code to make it pass, refactor, and repeat." In a way, the "test" part of the name is misleading. TDD does produce tests in the sense that they are written to verify whether something works, that an expected answer is defined in advance, and so on. But they're not tests...
on Apr 18, 2004
Like many people, I want a way to run some one-time set up and tear down logic and the approach I usually take is to drop some code into a static initializer block in an abstract test case. For example... public abstract class SomeTestCase extends TestCase {  static {    // perform the "global" set up logic  }} Providing that I remember to subclass...
on Apr 16, 2004
During the chaos of process change, Xp is a lightning rod. Everything wrong is because of Xp and once the dust has settled, everything right is because of Xp. Like most false dichotomies the truth lies some place beyond. People who actually get to "do Xp" often see ways they can apply the four values to other parts of their jobs, and in some cases their lives. That is what I saw while...
on Apr 15, 2004
I know this subject has been talked about practically to death, but from what I have read, there's an assumption about Pair Programming that I believe... no, I know is Just Plain Wrong. The assumption is this: Paired Programming is a Choice. In other words, most people seem to believe that whether you participate and thrive in a paired programming environment is a personal choice. And the sub...
on Mar 30, 2004
Test-driven development uses a tight cycle of "test, code, refactor" to develop software. Tension and Release I use the analogy of a stoplight: you start with a green light (all tests passing). Then you write a test; often you're referring to classes or methods that don't exist yet, and get a compiler error (yellow light). You fix this error by writing stubs, and when you run the test it fails...
on Mar 3, 2004
A traditional project plan has an ethos, "Plan the work, work the plan." The planning process will work out all the expected tasks, estimate them all, and assign workers to the tasks. This has several problems: the sheer mass of data makes it hard to see what's really important, the plan is vulnerable to changes in direction, and it's hard to keep up to date. XP and Scrum (and some but not all...
on Feb 3, 2004
Hi, just found out about your book the other day from java.net and was really grateful for the example of the Compression code. I've had to implement that in the past on the web server level and it was a real pain then, but this was relatively effortless. I'm adding this book to my to-buy list. I do have a question. Perhaps if others are interested some sort of improvement could be...
on Jan 27, 2004
In Testing MVC actions, mock objects and code coverage, Simon Brown wonders aloud about how to think about the issue of code coverage via tests. It's quite simple really... The rationale for testing and high test-coverage rates is exactly the same as for brushing your teeth and flossing everyday.
on Jan 21, 2004
Mock objects are the subject of several blogs again this week and they reminded me of a question that several people have asked me. In a web application, how do you unit test an MVC action? In a previous blog entry, I highlighted the differences between implementations of the Servlet specification when it comes down to security and presented a fairly simple workaround. Subsequently, I now have...
on Jan 21, 2004
I'm reflecting on the most important tools I've been using this past year for my Java projects. IntelliJ Idea - A fine IDE. My current default. Eclipse - I've used it some, and found it a little clunkier than IntelliJ's. But I plan to move toward it more this coming year. P4 - Perforce source control system. It's free for a single user, and does a nice job. I've used two primary testing...
on Dec 25, 2003
The Xp Agile Universe 2004 Call for Contributions reminds me of Xp Universe 2003. During one of the lunches, Microsoft mentioned they had 8K developers for 50M lines of code (LOC) for Windows (6250 lines/man). Brad Jensen, from Sabre's product group, told the table he had 250 developers for 14MLOC (56000 lines/man). Someone else was quick to point out "THATS NOT 10 TIMES!" I also jotted...
on Dec 5, 2003
Bob Martin starts a raucous discussion when he states that Debuggers are wasteful Timesinks. To paraphrase a character from the last Matrix movie... Debuggers are just a tool. It is how the tool is used that is good or bad.
on Nov 30, 2003
Most debates about XP revolve around a certain practice. Pair programming gets the most abuse, but many others take heat as well. It's time we transcended the practices and starting talking about the principles. But what are they? Womack and Jones opened my eyes in Lean Thinking to the fact that practices don't map from project to project. They discovered after their landmark book The Machine...
on Nov 7, 2003