Or is it more the lack of ideas actually being executed?
Tuesday, January 30, 2007
Is it really the lack of variety that make retrospectives stale?
Posted by
Jason Yip
at
22:39
2
comments
Links to this post
Labels: retrospectives
Monday, January 29, 2007
Turning a Dell XPS into a build light
Via Johannes Brodwall,
Litrik de Roy created an Eclipse plugin that controls the lights on a Dell XPS, turning them red when the your JUnit test fails and green when it passes.
Now all I need is a Dell XPS and I can create a pretty expensive build light...
Posted by
Jason Yip
at
22:01
0
comments
Links to this post
Labels: build light, eclipse
Wednesday, January 24, 2007
How to design simple solutions
Think about testing. How hard is the technology to test? How expensive will testing be to setup? This includes all the bureaucracy of setting up a test environment.
Be idiomatic OR Don't leave alien artifacts. Don't use unfamiliar technology unecessarily. And that's unfamiliar with the current group of people, not the "organisation", whatever that means. It doesn't matter that the "organisation" knows COBOL if most of your current people don't. Limit experimentation to one or a few aspects, not all of them at once.
Avoid duplication. Don't re-invent the wheel. Post-modern programming and all that. Don't write if you can reuse. If there is existing duplication, consider extracting (and offering) a library or service.
Minimise the number of parts. The more lines you have on the diagram, the worse it's going to be. And that's for your current system, not for some overall enterprise architecture diagram. Enterprise architecture is supposed to make it easier to build each individual system. So I don't care if the enterprise architecture diagram looks like spaghetti if most systems are being built quickly. I'll trust performance numbers over the aesthetics of a doodle. The doodle is misleading because you have other non-technical issues that come into play. Do we have people who know that system? Are the administrators of that system hostile? Do the consultants charge too much money? etc.
Posted by
Jason Yip
at
23:58
1 comments
Links to this post
Labels: architecture, design, simplicity
Sunday, January 21, 2007
The point is to get features done, not tasks done
Yes, but hours aren't burndown. Accomplishments are. A team that focuses on hours isn't focusing on getting things done. Tracking hours makes it "OK" to do whatever you're doing so long as you're keeping the hours up to date.
The point of the Sprint or iteration is getting backlog items done, not getting tasks done. Tracking hours, in my experience, obfuscates that key fact.
-- Ron Jeffries on the Scrum Development mailing list
Posted by
Jason Yip
at
17:57
0
comments
Links to this post
Labels: ron jeffries, scrum, tracking
Is it actually safer to be a technology laggard?
I've repeatedly encountered a belief that it is safer to lag in technology, let everyone else experiment first, let everyone else lead the way.
Is this actually safer?
I immediately think that this kind of behaviour will affect the types of personalities that the organisation will attract and retain. Specifically, people who are driven to do things better probably won't stick around.
Posted by
Jason Yip
at
09:53
2
comments
Links to this post
Saturday, January 20, 2007
BarCamp Sydney: No Spectators, Only Participants
The first BarCamp is being held in Australia this year! BarCamps, those crazy unconferences, will be held in states across Australia at the same time on the 3rd and 4th of March. BarCampSydney is calling you!
NO SPECTATORS, ONLY PARTICIPANTS
When you come, be prepared to share with BarCampers.
When you leave, be prepared to share it with the world.
BarCamp is an ad-hoc unconference born from the desire for people to share and learn in an open environment.
It is an intense event with discussions, demos and interaction from attendees.
Anyone with something to contribute or with the desire to learn is welcome and invited to participate.
What’s Next?
Sign up on the wiki, check out the blog, tell all your friends, prepare your presentation, ask your company if they’re interested in sponsoring…
Posted by
Jason Yip
at
14:34
0
comments
Links to this post
Labels: barcamp
Tuesday, January 16, 2007
A few ideas you might consider for your project
Don't progress stories/features until they are tested. Or better yet demonstrated. Or better yet tested against users.
If you have them, unit test your stored procedures.
Accept stories in more realistic environments.
Include explicit tasks for "write story test first" and "refactor after".
Use probabilistic estimation and reporting.
Try answering requests with "Yes, and..." it will cost this much, it will introduce this risk, etc.
Encourage more direct interaction between programmers and users and other stakeholders. Use analysts as aides, not as gatekeepers.
Cross-skill to allow resource balancing for constraint management. At least cross-skill the easy stuff, and work on doing the same for the harder stuff.
Decide on and document your own conventions and process.
Posted by
Jason Yip
at
22:43
0
comments
Links to this post
Labels: agile
Sunday, January 14, 2007
Viktor E. Frankl on best practice
To put the question in general terms would be comparable to the question posed to a chess champion: "Tell me, Master, what is the best move in the world?" There is simply no such thing as the best or even a good move apart from a particular situation in a game and the particular personality of one's opponent. The same holds for human existence.... and the same holds for engineering software.
-- Viktor E. Frankl, Man's Search For Meaning
Posted by
Jason Yip
at
21:45
0
comments
Links to this post
Labels: best practice, viktor frankl
It's Not Just Standing Up revisited
I've sent a copy to Martin to update on his site but in the meantime you can see it published from Google Docs. I'm experimenting with writing tools. Google Docs is alright but I might move to CSS styled XML the next time around.
[Update: Martin's published it now]
Posted by
Jason Yip
at
18:34
0
comments
Links to this post
Labels: daily standup, patterns, plop
CruiseControl 2.6 released
CruiseControl 2.6 has been released.
Jeffrey describes some highlights here.
I'm interested in working out where we go from here so if there is a key desire or problem you have with CruiseControl, please add a comment here, on the user's list, or on our JIRA.
Posted by
Jason Yip
at
09:14
0
comments
Links to this post
Labels: cruisecontrol
Friday, January 12, 2007
Lending to change lives
I blogged about Kiva over a year ago but it took Mike Cannon-Brookes and fellow ThoughtWorker, James Webster, to get me to finally take action and become a Kiva lender.
There seems to be another one of those pointless blog memes going around. I say instead of blogging five things people don't know about you, how about becoming a Kiva lender instead?
If you're reading, consider yourself tagged.
Posted by
Jason Yip
at
19:20
2
comments
Links to this post
Labels: kiva
Wednesday, January 10, 2007
Squirrel SQL 2.4 has refactoring
I created a feature request for this in 2005, though it looks like they didn't see it. No matter, Squirrel SQL 2.4 has refactoring.
Allows you to view SQL alterations for several refactorings or apply them directly to existing tables. Refactorings supported are Add/Modify/Drop columns and Add/Drop Primary Key.
Posted by
Jason Yip
at
21:44
0
comments
Links to this post
Labels: database refactoring, squirrel sql
Friday, January 05, 2007
The key to US-Canadian relations
... is apparently American Idol, WWE, and Jessica Simpson.
Posted by
Jason Yip
at
07:39
0
comments
Links to this post
Labels: freakonomics
Thursday, January 04, 2007
Informative Workspace is not about papering the walls
Creating an Informative Workspace is not about papering the walls with material. You are communicating and too much irrelevant information will distract.
Just because the information is there doesn't mean that I will see it, especially if it is buried in noise, written in tiny fonts, etc.
Make information visible, yes. But also minimal and focused.
Posted by
Jason Yip
at
21:14
2
comments
Links to this post
Labels: agile, informative workspace, xp
Not just asking Why? but also explaining Why
Mark Graban at Lean Blog referred back to an old entry about his tour at NUMMI:
At previous companies, not as lean as NUMMI, it was pretty common to see a box of parts tagged with a sign that said, sternly, "DO NOT USE." Sometimes there was an important manager's name associated to illustrate who is making that pronouncement.One of the key things people new to Lean (as well as Agile) tend to miss or ignore is the concept of "respect for people". It's interesting how savvy observers can pick up on this by noticing the small things like how signs and guidelines are worded and presented.
At NUMMI, a box was labeled with a sign that included the "why." The sign said something like “using these parts would result in brake failures or problems for the customer.”
Posted by
Jason Yip
at
21:04
0
comments
Links to this post
Tuesday, January 02, 2007
Only easy problems are purely rational
Several of us from the ThoughtWorks Sydney office have been meeting up for a book study group, starting with Jerry Weinberg's Secrets of Consulting.
I've actually read this a while ago but going through it again is great for a reminder.
For example, the advice that being reasonable is more important than being rational.
If you can't accept dealing with less than pure designs/systems/approaches/processes, you won't survive being a consultant nor will you ever be an effective problem solver since only easy problems are purely rational.
Posted by
Jason Yip
at
22:59
0
comments
Links to this post
Labels: consulting
Monday, January 01, 2007
What would it take for last minute changes to be safe?
Have you ever been a situation where you receive a last minute change request that you have to refuse because you're just too close to release for that change to be safe?
That's responsible behaviour. It's utterly foolish to risk system stability by making non-critical changes just before a release.
Of course, there is a much higher probability that changes will be re-interpreted as non-critical just before a release even if it may eventually turn out that a minor issue as seen by the engineering team is the final annoyance that encourages a customer to go elsewhere.
So what would it take for last minute changes to be safe?
- Full automated regression testing
- Multiple eyes reviewing the problem and solution
- Clean, easy-to-understand, non-duplicated, loosely coupled but cohesive, design
- Skilled and creative testers
What makes last minute changes more dangerous?
- "I don't need to test everything"
- "I don't need a pair" OR "I don't need my code reviewed"
- "That duplication is not important"
- "I don't write anything that can be broken"
Posted by
Jason Yip
at
10:23
0
comments
Links to this post
Labels: change
