Wednesday, July 29, 2009

Stuff I Have Found Interesting Today

Traits That Make A Good Development Manager (guest post)

Great list for anybody who is or wants to be a manager of developers.

Where does the money go?

A graphical view of where the average consumer spends their money.

My ideal IDE

Good wish list. I hope VS 12 does it :-)

Incremental Delivery Through Continuous Design

Good article and a better practice.

Friday, July 24, 2009

Stuff I Have Found Interesting Today

Differences in Beliefs Results in Differences in Approach

Quite long, but the author makes some good points. I agree that often Scrum can miss the boat by leaving too many things up to the team. Many I have worked with would be lost in such a situation. I believe process is what you do. If everyone on the team follows a completely different process then improvement will be limited if not impossible. Like the author, I think good management is essential to improvement and much of Scrum seems to be to limit management. I think this inherently places limits on the Scrum team to improve. I think it is due to the history of so much mismanagement in software, but 180 degrees from wrong is still wrong.

From the short article "Locus of Control (LOC) is the belief one holds about who or what controls events – oneself (internal) or factors outside the control of oneself (external)". I have at times been both. I wonder what that makes me?

Thursday, July 23, 2009

Stuff I Have Found Interesting Today

My students forged the notes. I turned them into a lesson plan.

This is brilliant! Kids writing excuses notes as part of class!

Software Engineering: An Idea Whose Time Has Come and Gone?

Tom DeMarco in a 2 page opinion piece has some strong opinions. He starts out slamming his 1982 Controlling Software Projects: Management, Measurement, and Estimation book. He then writes these gems
  • "To my mind, the question that’s much more important than how to control a software project is, why on earth are we doing so many projects that deliver such marginal value?"
  • "Software development is and always will be somewhat experimental."

I'm a sucker for top 10 lists:
  • Lesson 1. All software is flawed.
  • Lesson 2. Check-in often.
  • Lesson 3. Tests, gotta love them.
  • Lesson 4. Refactor, check-in and repeat.
  • Lesson 5. Coding is easy, humans are tough.
  • Lesson 6. The more eyes on your code the better.
  • Lesson 7. Keep learning and improving.
  • Lesson 8. Simple is beautiful.
  • Lesson 9. Learn software development not coding.
  • Lesson 10. Think about your audience.

Tuesday, July 21, 2009

Review of "American Lion"

Subtitled: Andrew Jackson in the White House by Jon Meacham. The subject was interesting. He was our seventh president. He came from humble beginnings as his father died before he was born and his mother and brothers died during the revolution leaving him an orphan at age 14. He was struck by a British officer during the revolution which gave his his distinctive facial scar which can be seen on the $20 bill. He won a convincing victory over the British at New Orleans during the war of 1812 even though the war was technical already over. He was the first to lose an election (1824 to John Quincy Adams) after having the most votes due to his rivals joining forces (Henry Clay became Secretary of State) in the House. He was quoted by future presidents (e.g Abraham Lincoln, FDR) and has a statue less than 1000 ft from the back of the white house.

Unfortunately the book didn't live up to the subject. I found myself getting confused as the author would jump backwards and forwards chronologically without much warning. He also quoted quite heavily from letters of the time, that I found difficult to understand, with little explanation. He spent a lot of words on family relations and less on important historical events of the time. I have not read another book on Andrew Jackson, but I would hope there is a better one out there. Andrew Jackson: His Life and Times looks promising as it got slightly better reviews at Amazon.

Thursday, July 16, 2009

Stuff I Have Found Interesting Today

Uncovering Better Ways of Developing Software by doing it and Helping Others do it

I liked the summary of Gerald Nadler’s book from the mid 1990’s, Breakthrough Thinking: The Seven Principles of Creative Problem Solving. Nadler's seven principles:

1. Uniqueness

2. Purposes

3. Solution-after-next

4. Systems

5. Limited Information Collection

6. People Design

7. Betterment Timeline

A well written critique to the Kanban craze. He biggest beef seemed to be that without iterations he couldn't tell the business when he would deliver. I think Kanban (or something like it) is the future of software process as I do not see the need for iterations and forcing the customer to split their needs into a size that fits the software team's chosen process. The software team should take the business need, give a date range (with a probable date) and then deliver it as fast as possible using best practices (e.g. TDD). Iterations are not a necessary component. For a detailed response read: Response to critical article on Kanban.

Stack Overflow Architecture

Covers the architecture of and gives it fairly high marks.

Wednesday, July 15, 2009

Stuff I Have Found Interesting Today

Two Timely New Tees

The first one is precious!

free eBook “12 Things to Shorten Your Lead Time” [PDF]

A good short read that will help most people. In summary here are his 12 things (for detail read the PDF):

1. Measure, measure, measure
2. Increase quality
3. Reduce rework
4. Frequent releases
5. Stop working in parallel
6. Shorter stories
7. Visualize and manage flow
8. Rigorously cancel meetings
9. Continuous deployment
10. Shorten product management
11. No single point of failure or bottleneck
12. Leveling work

Where Has All the Income Gone?

Long, but thorough article that shows how easy it is to misunderstand statistics. In conclusion "Careful analysis shows that the incomes of most types of middle American households have increased substantially over the past three decades." The richest 25% have gotten richer, but the middle class hasn't done as bad as many politcal people might lead you to believe.

Tuesday, July 14, 2009

Stuff I Have Found Interesting Today

Kanban Is Process Control, Not A Process For Adding Value To WIP

Does a good job of explaining what Kanban is and is not. I love the quote:

the kanban is an organized system of inventory buffers and, according to Ohno, inventory is waste, whether it is in a push system or a pull system. So kanban is something you strive to get rid of, not to be proud of
- Jeffrey K. Liker, “The Toyota Way”, p. 110.

Author makes the point that handling failure is key to success of a start up. I would argue that it is key to success, regardless of what you are doing. How you deal with failure is a good predictor of success. The best in any field have seen more failure than success.

I have never heard of this idea. I am not sure what the ramifications are, but I like it!

Monday, July 13, 2009

Stuff I Have Found Interesting Today

The Three Types of Change

Jurgen does a good job in this one. He defines three types of change in a complex system (closed, contained, open-ended) and gives examples plus a personal story to boot.

The author shows how Kanban solves some problems he has had with iterations. I think iterations was a good step when the starting point was waterfall, but I think everyone's goal should be to abolish iterations as they produce more waste than they are worth.

Most interesting that they wound up ditching iterations.

The DFT “à Pied”: Mastering The Fourier Transform in One Day

Good explanation of Discreet Fourier Transform with code to boot.

Saturday, July 11, 2009

Stuff I Have Found Interesting Today

Global Banking Economist Warned of Coming Crisis

A 6 page article on William White, a former BIS economist, who was critical of Greenspan's policies. A string of gems: "[White's team]...observed the real estate bubble developing in the United States. They criticized the increasingly impenetrable securitization business, vehemently pointed out the perils of risky loans and provided evidence of the lack of credibility of the rating agencies....predicted the disaster, and yet not even his own clientele was willing to believe him.... the central bankers knew exactly what was going on, a full two-and-a-half years before the big bang... BIS reported that the index for securitized US subprime mortgages had fallen sharply in the fourth quarter of [2006]...At the London G-20 summit in April, the group decided to promote a crisis-prevention model based on White's theories."

He has come out of retirement to help instruct those who had ignored his advice. There is a cool graph, titled "The Curse of Cheap Money", embedded in the article.

Relearning: The Productivity Problem that We're Not Supposed To Talk About

I fascinating look into code solubility (I had to look this up). Gem "One of the worst mistakes that programmers make in writing code is in failing to recognize that more productivity will be spent over the life time of code navigating through the code than will be spent writing the code"

Better Now Beats Best Later

This is so true! I have done this too many times to count.

Why the Brain Craves Exercise and Sleep

A seven minute interview/overview of "Brain Rules" that covers roughly half of the book.

Friday, July 10, 2009

Stuff I Have Found Interesting Today

Why Does Chrome OS Make Sense?

Kent makes a good point that I did not see.

JavaScript Expression Closures and Why They Rock

I didn't get it at first, just as he said, but the ability to delegate functions inline is powerful and the syntax is clean.

Robert C. Martin's Clean Code Tip of the Week #10: Avoid Too Many Arguments

A cute story with a good point. I wonder why we programmers feel that bad code is faster when experience has taught us that it isn't.

Review of "Blink"

Subtitled "The Power of Thinking Without Thinking" by Malcolm Gladwell.

A short, interesting read that was filled with stories and studies that made you think. The opening story is fascinating. In 1983 the J. Paul Getty Museum purchases a kouros (small ancient Greek statue) for $10 million. They did every thing you could think of the verify it's authenticity. When they showed it to art experts they immediately felt it was a fake, which wound up being the truth. The theme of the whole book is basically stories and studies like that. The brain can do amazing things with short slices.

The next story is about John Gottman and his ability to accurately (95%) predict if a marriage will last 15 years by just observing a couple for 1 hour. He measures emotional slices on a scale (SPAFF) and used the results to predict failure. Another amazing study, by Steele & Aronson, had African-American students take the GRE. One group answered questions about their race pre-test and did half as good as the group that didn't! Another interesting thing was the implicit association test(IAT). The author whose mother is Jamaican took the race IAT and it showed he was biased against blacks. The last story is about classical music. Since instituting screened auditions the number of women in orchestras has gone up 500%. Even women judging women playing were biased if they saw the women before she played.

I'm not sure I learned much from this book but it was enjoyable.

Thursday, July 9, 2009

Stuff I Have Found Interesting Today

The Power of U

This post starts with calligraphy then factory floor setup then change management then personal change. Next is my favorite part "The four stages of competence" then a high level review of a book Theory U: Leading from the Future as it Emerges. It ends with a picture of a horseshoe. He deserves credit for tying so many things to a single vowel.

A Dubious Foundation

A long article that brings up many scary points. The one the sticks with me is "The magnitude of recent growth in the monetary base is literally moving off the charts, having increased from about $870 billion to almost $1.7 trillion in the last nine months." I see double digit inflation in our near future.

Wednesday, July 8, 2009

Stuff I Have Found Interesting Today

T-Shirt Estimation

A good write up on estimation in a Lean (no iteration) software process.

The Nanny Nation

A review of a new book by Barry Ritholtz, Bailout Nation: How Greed and Easy Money Corrupted Wall Street and Shook the World Economy. In the review are some interesting tidbits, like 1971 was a watershed moment as it was the first time the US government bailed out a private company (Lockheed) and the bailout of Chrysler in 1980 stopped the market from correcting the US automotive sector. I might have to read this book.

PMI: US Home Prices Likely Lower In 2 Years

I'm glad I have NO plans of selling my houser anytime soon. This graph also shows how out of bounds the housing prices are compared to GDP.

Introducing the Google Chrome OS

I didn't think they would go there, but they went there. It is a crowded marketplace, but they do have good name. Now can they live up to it?

Refactoring challenge Part 1 - Examination

You have to respect a developer when they post their code and let others shred it, then repost it and shred it themselves. It is a good lesson and I look forward to his journey to clean code.

Tuesday, July 7, 2009

Stuff I Have Found Interesting Today

On Hearing and Speaking the Truth

I have worked in both types of places and find most fall into area #2.

Michael Lewis on A.I.G.

A fascinating 5-page story on how AIG was involved in the gobal financial meltdown. It just goes to show that bad management is bad business.

Monday, July 6, 2009

Stuff I Have Found Interesting Today

So You Want to Buy an American Car?

4 out of the top 10 cars with the most domestic content are made by Toyota (with #1 being the Camry).

Lessons in Software from James Waletzky

A sensible top 10 list (for detail follow the link):

Lesson 1. Keep it simple.
Lesson 2. Define ‘done’.
Lesson 3. Deliver incrementally and iteratively.
Lesson 4. Split scenarios into vertical slices.
Lesson 5. Continuously improve.
Lesson 6. Unit testing is the #1 quality practice.
Lesson 7. Don’t waste your time.
Lesson 8. Features are not the most important thing.
Lesson 9. Never trust anyone.
Lesson 10. Reviews without preparation are useless.

Resources on Self-Organizing Teams for Agility

Quite a list for those who have the time.

Sunday, July 5, 2009

Review of "Brain Rules"

Subtitled "12 Principles for Surviving and Thriving at Work, Home and Schhol" by John Medina.

I loved this book. The brain has been fascinating to me since I studied neural networks in graduate school. This book is the most informative and readable book about the brain I have ever read. I think it is must read for anyone, especially true if you are a parent and/or teacher. The books main point is much of the brain is a mystery, but there are some thing we do know. He groups this knowledge into 12 rules.

Rule #1: Exercise boosts brain power.
Rule #2: The human brain evolved, too.
Rule #3: Every brain is wired differently.
Rule #4: We don't pay attention to boring things.
Rule #5: Repeat to remember.
Rule #6: Remember to repeat.
Rule #7: Sleep well, think well.
Rule #8: Stressed brains don't learn the same way.
Rule #9: Stimulate more of the senses.
Rule #10: Vision trumps all other senses.
Rule #11: Male and female brains are different.
Rule #12: We are powerful and natural explorers.

One of my favorite quotes comes in the introduction "If you wanted to create an education environment that was directly opposed to what the brain was good at doing, you probably would design something like the classroom. If you wanted to create a business enviroment that was direclty opposed to what the brain was good at doing, you probably would design something like a cubicle." There are many myths busted by this book as well as some points to adjust how you live to allow your brain to function better. I think we all need that.

Friday, July 3, 2009

Stuff I Have Found Interesting Today

The perils of estimation

The authors makes a good point about making sure you serve the customer needs not your own.

GETting Documents From CouchDB

Pretty simple interface for an online document centric data store.

How to conduct a Five Whys root cause analysis

A good explanation of the technique with real world examples. One point that didn't get enough focus is the need for trust in the organization. Without the "respect for people pillar" this will just be a exercise in futility (e.g. the Toyota Half-Way).

Review of "The People's Tycoon"

Subtitled: "Henry Ford and the American Century" by Steve Watts.

A well written book about an interesting and amazing man. Henry Ford was born during the Civil War (1863) and died after WWII (1947). He was the father of mass production, a fervent anti-Semite, and a pacifist. He created one of the largest companies in the world then almost drove it in the ground by driving out rising stars and undercutting his only son as president. He was close friends with Thomas Edison and received a Grand Cross of the German Eagle from Nazi Germany.

His legacy affects us today. He is the father of Lean, the consumer economy and the rise of the middle class. Some of his ideas were truly weird, but his impact on last century and thus today can not be dismissed. To understand America one needs to understand our history. Henry Ford is definitely a figure worth studying and this book is a good place to start.

Thursday, July 2, 2009

Stuff I Have Found Interesting Today

FW: Sailing a Straight Course in a Time of Variances

A message on the Lean Software Development yahoo group by Tom Poppendieck that has a great email from Jim Womack on leadership.

Oh, You Wanted "Awesome" Edition

Funny stuff from Codinghorror.

Wednesday, July 1, 2009

Stuff I Have Found Interesting Today

Canalizing Design

A great post with a new term "Canalizing" - as in like a canal.

Malcolm is wrong

Seth Godin on the future of writers and editors and how magazines and papers are dead. I think it is obvious, but I have been known to be wrong before.

Hudson River Crossings: Improving Bus Capacity

I never plan on being a commuter from NJ to NY, but this short film was extremely well done!

WIP Limits are for Adults too!

I have had the same thoughts as Alistair. This response from David Anderson basically says we need limits because that's how we do it. I think WIP limits can help when you are learning (prevents you from sliding down the path of large amounts of WIP), but I think your goal would be to not need them as your process becomes more mature. A lean practitioner blogged a similar idea as The Fifth Primary Practice of Kanban, but kinda wimped out on his original idea of "Eliminate Kanban".


Interesting idea: work a fairly simple problem many times so the variations will be the techniques used. Now to make the time to do this!