Agile User Interface Development (16 tags)
Agile is a sea of change, refocusing software developers on quality and speed. Its impact on the practice of software development is already being compared to that of object-oriented design. However, one area of effort has been slow to change: development of the graphical user interface (GUI). The critical question: how do you do test-first GUI development? Paul Hamill, author of Unit Test Frameworks, discusses separating GUI elements into smart objects and thin view components and doing TDD of the smart objects.
Agile Object to Relational Database Replication with db4o (4 tags)
Start with the idea of an object database, like db4o, which effortlessly persists arbitrary objects, even those with deep structures, into a database. Then mix in a little Hibernate. Now you can map objects to either the db4o database or a relational database. And as Jim Paterson shows, the db4o Replication System allows you to do some interesting things, even replicating between two relational databases, using db4o in the middle.
Test-Driven Development in Python (2 tags)
The goal of test-driven development is not to produce tests; they're merely a helpful by-product. The real goal is to produce elegant, working code. Jason Diamond demonstrates how test-driven development works using Python and PyUnit to create a sample event-tracking utility.
The Pragmatic Programmers Interview (2 tags)
The Pragmatic Programmers, Andy Hunt and Dave Thomas, recently launched their own line of books on pragmatic software development. Since O'Reilly helps to distribute their books, we convinced them to do an interview about self-publishing, the state of the software industry, and how to become better developers.
Five Lessons You Should Learn from Extreme Programming (2 tags)
Extreme Programming (XP) is yet another popular idea gaining press. It adapts the best ideas from the past decades of software development. Whether or not you adopt XP, it's worth considering what XP teaches. chromatic, author of Extreme Programming Pocket Guide, offers five lessons you should learn from Extreme Programming.