By Daniel Wellman on
2/1/2010 10:27 AM
In designing and developing software, it’s usually cheaper to prevent problems from ever occurring (by making a decision at design-time) rather than patching them as they happen (by a last-minute fix after deployment). It’s cheaper (and substantially less stressful) to design a system to handle thousands of concurrent users rather than trying to diagnose and fix a system that mysteriously breaks in production under heavy load. But detecting problems in real-time is a useful skill in many professions, including one as different as recording audio books.
Read More »
|
By Daniel Wellman on
1/25/2010 10:13 AM
There has been a lot of recent discussion on Twitter about the use of mocking frameworks and writing readable tests. Here is a roundup of some of the recent blogs on the subject.
Read More »
|
By Daniel Wellman on
1/18/2010 8:24 AM
In “Growing Object Oriented Software Guided By Tests”, Steve Freeman and Nat Pryce talk about the dangers of tests that occasionally fail, otherwise known as flickering tests. These failures can cause teams to start seeing these failures as false positives, and distrust their build results.
There has been a lot of discussion about this topic recently.
Read More »
|
By Daniel Wellman on
1/11/2010 8:40 AM
At the Agile 2009 Conference, the LiveAid lab created an iPhone application to enable people to donate to the Mano a Mano charitable organization. This lab was an opportunity for participants to learn something new, practice their craft, donate their time to a worthy cause, and meet other folks. By the end of the conference, the application was working and had collected over $10,000 in donations.
Volunteering offers an opportunity to practice our craft and give something back to the community.
Read More »
|
By Daniel Wellman on
1/3/2010 1:46 PM
We spend our time at work reflecting on our team's progress. Yet it’s easy to forget to follow these same self-evaluation processes for our own professional development.
Read More »
|
By Daniel Wellman on
12/13/2009 10:06 PM
Agile software development practices have been finding their way in to various industries; finance, education, government, and even games.
Read More »
|
By Daniel Wellman on
12/7/2009 8:10 PM
As programmers, we’re constantly working to improve and evolve our designs. Refactoring helps us take an evolving code base and make it look like the code was designed for today’s problems right from the start. And hey, it can actually be fun!
But it’s not easy. It can be difficult to make small steps in a tricky bit of code, hard to figure out how to fix a particular code smell, and hard to know when you’re done.
Practice helps us build our skills and recognize patterns in code. Read on for some ways to practice refactoring.
Read More »
|
By Daniel Wellman on
11/15/2009 5:49 PM
A computer is really, really good at identifying the differences between two chunks of text. Use the Gold Master pattern in circumstances where you need to verify that there are no unexpected changes.
Read More »
|
By Daniel Wellman on
11/8/2009 5:18 PM
No, you won’t need an oracle or a tricked-out DeLorean to peer into the future. It turns out you’re already using a great tool for simulating time travel.
Read More »
|
By Daniel Wellman on
10/25/2009 8:42 PM
The life of a software product is a continual stream of feature additions, enhancements, and even removals. But a great product doesn’t (usually) outshine its competitors because of the sheer number of features, it’s because those features are really useful or work well together. It’s a difficult balance that requires a lot of iteration and experimentation.
For advice on tackling this difficult problem, you might try looking to Batman.
Read More »
|