Wednesday, May 06, 2009

Agile Estimation & Planning with User Stories, Product Backlog and Release Management in Scrum | Mitch Lacey & Associates, Inc.

I really need to revisit the campaign for getting our Project and Development Managers in tune and trusting the concepts behind Agile estimation.

It doesnt have to be as painful as it is today.

Agile Estimation & Planning with User Stories, Product Backlog and Release Management in Scrum | Mitch Lacey & Associates, Inc.

Anyone had any good experiences firms to help with education and adoption?

Monday, February 23, 2009

Trestle Table







Since shortly before xmas I've been working on a Stickley inspired trestle table. It's coming along nicely and I managed to take a few photos along the way.

Gladys has been patient with my obsession over it and Miguel has been a big help and is now Chief shop-vac operator.

A few details about the table:
Quarter Sawn White Oak
Quadralinear posts
Floating key Wedged cross brace
Wedged tenons on trestle posts
Breadboard ends

[If anyone shows interest, I'll update this post sometime with notes and links to some things that helped me along the way.]

Going to need some finishing advice soon.



www.flickr.com








mjmeyer_2k2's items tagged with trestleMore of mjmeyer_2k2's stuff tagged with trestle





Thursday, January 22, 2009

Where to place Unit Test source

A subject of some debate around our shop lately is where unit test source should be kept relative to production source.

One camp believes the habits evident in tools like Eclipse and Maven where unit test code is in a completely separate directory than your application source is best.

I'm favoring the opinion that keeping the test source in the same location as the production code is preferable.

My primary reasons include:

- forcing the tests to be seen as first class elements. Not relegated to a special case.
- makes it impossible for someone to compile source from IDE and NOT compile the tests along with. (reduces broken builds)
- when viewing source by path, makes tests proximate and conveniently right next to the classes they test.
- supports refactoring. When you move a class due to refactoring it's all but impossible to forget to move the test along with it.

The drawbacks include:

- Some tools like Maven's default script and the create test features in IDEs like Eclipse assume a separate Test directory.

- The release build script needs to explicitly exclude the tests from compile.

Neither of these are significant to me relative to the benefits. Tweaking the build scripts for release targets to exclude test classes is trivial and the convienience tools to create tests in IDEs are rather anti-TDD in that they assume you have a class first to generate test from. Test infected devs should be creating test classes BEFORE the prod class anyway.

Here are a few links to others who have grappled with this question:

Project directory structure that facilitates all kinds of developer testing (Testing forum at JavaRanch): "functional"

Unit Testing Guidelines

Wednesday, December 31, 2008

Term Extraction Tools

Revisiting my long dormant toy that uses analysis of song lyrics and Flickr or Google Images to do contextual visualizations. I have implemented a simple ti.idf frequency counter and am getting decent results but wanting for more. In this web 2.0 world maybe I should be looking for services to do this?

Consider:

Yahoo Term Extractor API
Topicalizer
OpenCalais
Alchemy

and mabye Wordnet for synonyms.

Also, possibly relevant is Echonest's colossal db of music metadata intended to spur research into music recommendation / discovery tools.

Wednesday, December 17, 2008

Why we Iterate

The struggle continues. Faced with being increasingly outnumbered by PMI habituated and prediction minded project managers we've hired lately I'm returning to this question of why we iterate.

People are using the word. But too often not groking the motives.

We have things like 9 month long
efforts to build an internally deployed version of a currently external system being called an iteration. To me that's a whole other project or a "phase" but certainly not an iteration.

We have PM candidates that my peers are gushing about. I get asked to interview. I ask about things like how they think requirements work should progress in an iterative methodology. I get back ideas about getting tomes of requirements first and then planning iterations.

We have months long breadth first swipes through the requirements for a whole system being called an iteration along side plans for a second iteration to do "design".

We have business users insisting that it's pointless to test an incomplete system. "I dont want to see it until it's done".

We have directors asking for MS project plans in the first weeks of a project detailing how many iterations it will take and what will be done in each.

Seems like we have a future destined for many more failed projects and missed "estimates" before we start to figure this out.

I have dreams about some speech, presentation or as of yet un-conceived prop that will suddenly bring the idea home to folks. But in waking life am running thin on optimism that we can get this concept across and make it work.

So, maybe one more time I'll try to collect some nuggets of persuasion and contemporary thought about why emergent software planning is more healthy than predictive planning.

Maybe something will come of it.

Coding Horror: Boyd's Law of Iteration is a good summation of the detail in Roger Sessions' A better path to EA

The neglected practice of iteration Jeff Patton sends a reminder that software developers who neglect the practice of iteration will get caught either delivering poor quality software or delaying schedules in order to make time to iterate. We kick ourselves, or others, for not "getting [software] right up front" when we all know that the hardest part of software development is figuring out what to build. But there's hope, and it comes in the form of prototypes and frequent iterations

Good quip about devs not being the constraint From David Anderson's blog article Why We Lost Focus on Development Practices
In my Zen of Agile Management class, I teach participants about constraints. I then ask them, in a collaborative exercise, to speculate about the bottleneck in their organization and discuss how they would prove it and what they would do about it. In almost 3 years of teaching this class, over 4 continents, and around 12 occassions with groups ranging from 16 people to 250 people (at Javapolis in 2007), I have concluded that developers are the constraining factor on project and team performance less than 10% of the time. In some groups it is as low as 3%.

My belief around this is quite simple. Basic agile practices focusing on quality including collaborative working such as pair programming, and a strong focus on unit testing and early defect detection with continuous integration and test automation, have greatly improved software development to the point where initial software quality (i.e. bug insertion rates) is not the constraining factor on team performance. With immature teams, with sloppy development practices and poor initial quality (i.e. high defect insertion rates) development is the constraint. Agile has successfully fixed this!

So we can declare victory!

In this sense, the crowd who argue for a continued focus on better development practices are fighting the last war.

The rest of the community moved to other areas - most notably project management and business analysis / value-based software engineering. The community tends to get sucked to where the constraining problems are occurring. This is the natural and correct behavior. And it shows that many in the community interpret better ways of developing software in the broad sense rather than the narrow programming-centric sense.

Metaphors & Quips
OOPA - Observe, Orient, Plan, Act (or maybe P really should be Decide)
Shoot, Move, Communicate
Fail early and often.

Sunday, November 30, 2008

YouTube - How to prepare for civil Unrest

The classic imperitive of those predicting the impending police state is a call for citizens to acquire guns. To stock pile ammunition, water, dried food, and prepare to take up arms to defend your life and property.


YouTube - How to prepare for civil Unrest is a limp wristed example. (not recommending watching it, but if you must...)



I favor my right to own arms and think any reasonable person should have put some effort into emergency preparedness, whether from natural disater or civil unrest.

But I wonder if guns will be enough in the future some imagine. The inevitable outcome of dueling it out against the police, SWAT or some paramilitary group would almost certainly mean death...and probably little impact in the hearts and minds of other citizens.

The "offical" story would be told through the increasingly conglomerated and well sanitized media. Memories of Waco, TX would be invoked. You and your god would know you made a nobel stand. But that's about the end of it.

It has often surpised me that the conflicts in Iraq and Afghanisan during this hyper-connected internet era have not produced some game changing privately submitted bit of video. Something that never would have made it past the media censorship or at least pushed the envelope.

Maybe it's there. Maybe I havent been paying attention. Maybe YouTube and its ilk are just so full of noise it wouldnt matter, or be credible, or would be taking down promptly.

We may have an option short of the last resort of taking up arms that the doomsayers havent quite got figured out.

How about Google Civil Disobedience as the next beta feature?

Many police cruisers have had video cameras for years. Following the tradition of the UK, the US is investing heavily in large scale surveilence systems in every major city. Good, or bad, one thing about these systems is that they are closed. They are not accessible by the public. The privacy arguments dont help here. It's one thing to have a duly authorized governement actor monitoring citizen activities and another to know anyone could be watching. Which is worse?


What if we all had our own google streetview cars? What if we had our homes wired with our own cameras? Millions of video capture capable PDAs and iPhones are out there.

What if these devices could regularly upload their content to a LimeWire-like distributed network of other citizens computers. Not one copy to one server, but to many private machines.

The owners of those private machines wouldnt be able to access the video. Some electronic equivalent of the "open this letter if something ever happens to me" would seal it from them.

It would remain sealed and private until either you released it, or perhaps didnt respond to some regular email tickle; "are you okay".

When things were okay, you could dispose of the video, use it for your next video scrapbook, or you might just set it to evaporate if nothing interesting happens.

Maybe you could set a group of friends who would be able to review your feeds before it went public?

The choice to make a last stand against tyranny is a deeply personal one I hope nobody has to face. Whether you take up arms or submit to their dominion, I think anything that can be done to increase the odds that someone will know what really happened is powerful.

So perhaps those out shopping for a new AR-15 will think about buying webcams and working out some ways to distribute feeds to trusted friends and patriots.

Back to the Blazer

With the need to drive the blazer again as a daily driver (4 mile commute) and this weekend's focus on unfinished projects I came up with some need and nice to haves for the'71 Blazer.

Need




  • Fix front drag link

  • fix pass. side D44 hub seal

  • fix upholstery @ front seats

  • Bottle jack w/ saddle



Nice



  • Air Conditioning

  • custom cage / roof rack / soft top

  • lighten up rear rack / add tool mounts & hi-lift mont

  • interior bed boxes (side & floor)

  • jump seats intead of heavy suburban 3rd row


  • Rover Connection-Land Discovery Jump Seat

    Also..
    DAP inc seats.

Friday, November 28, 2008

Two Inch Art Tiles


Someday I'll get back to woodworking and to remind myself of that, I forced myself to take some time this weekend to clean up and re-organize the workshop a bit.

Among the unfinished projects I dusted cobwebs from I found a small jewllery box that is finished except for a 6" x 2" relief in the face I'd been planning to fill with some nice 2" art tiles.

I havent gotten around to finding the right ones as yet, but found these today.

Verdant Tile Co. - Two Inch Art Tiles