Skip to main content


Showing posts from 2009

Relearning to Count - Zero, One, Many

I have been thinking about the methods we use to count with.  What method of counting is most appropriate to the task at hand (pardon the pun).  A smart friend of mine told me that developers need to relearn to count.  As a software developer the appropriate method of counting is, zero, one, many.

The first time we learn to count we use our fingers in the simplest technique.  Some time early in childhood we learn to show fingers for our age, "I'm this many (shows two fingers)".  Then we actually learn to count, 1, 2, 3.  Later taking it up to 10.  So a base-10 number system seems like a natural human number system.  But is this true?

I've been wondering why we used a sexagesimal number system (base-60) for time.  A hour has 60
minutes and 60 seconds in the minute.  Why use this system when it would appear a base-10 system would have been more natural?

These two facts perplexed me.  We learn to count in base-10, yet our fundamental unit of measure is base-60.  Readin…

(NOT) Reliable and Valid Research - Fox News

Fox News quotes poll to show that perhaps scientist falsified research to support global warming.

Rasmussen Poll:  Did scientists falsify research to support their own theories on Global Warming?
59% Somewhat likely
35% Very likely
26% Not very likely
120% total people responding

Well that is a poll that you can take to the bank.

Perfection and constant change

"To improve is to change; to be perfect is to change often."
      - Winston Churchill 

The Universe - by the numbers

The Universe appears to be quite old but for some reason the really interesting things happened at either end of the arrow of time.  Being a fan of This Is Indexed I though I would try one myself - nope not funny.
Everything interesting happens at the ends of time.

      Age (years) 13,700,000,000     Universe  4,600,000,000      Solar system  4,570,000,000      Sun  4,540,000,000      Earth
   530,000,000      The Cambrian explosion
       2,500,000      Stone Age (begins)            15,000       Domestication of dog, cow, pig, etc.            10,000       Argicultural revelotion              5,300       Bronze Age (begins)
                230       Industrial Revolution (begins)
                 47       me

ToDo or Not ToDo - that is the question.

What does a TODO tag in your code say about you as a developer?

When is a TODO not appropriate - is it every appropriate to postpone work that you recognize, but just don't want to deal with now?  Is procrastination a trait that we encourage or discourage?

I posit that quality code has very few if any TODO tags.  That there is a inverse correlation between the percentage of TODOs in a code base and the quality of the code.

Srikaran Reddy had this argument to make:
TODOs present in code may be indicative of the quintessential engineer: one who can distinguish between what is required at the moment versus an ideal, or potential future requirement, that is of relatively lower priority. The term 'sine qua non' comes to mind. This is especially true when maintaining inherited code. On the other hand, a TODO could represent some sloppiness. There are different flavors of TODOs that need to be factored into this argument.

The good thing about TODOs is that they are easily tracked, …

Rx for a Team Culture

Do you think you need a prescription to create a Team Culture - OK - here you go.

Executive-level statements in public and private about the importance of team players (not just teamwork platitudes).Executives model team player behaviors (not just preach behaviors).Promote and reward people with team player skills, publicly announce reasons including team player factors for decision.Reward team players with important assignments.Adjust individual performance appraisal systems to include specific team player behaviors.Hold training on attitudes, skills and behaviors of team players.Reward team players with higher salary increases, and tell them why.Create an incentive system that rewards team effort (not individual effort).Institute flexible compensation programs that allow managers to pay individuals that contribute to the team culture.Include team-player skills & abilities in management assessment programs.Develop programs of team awards that motivate the teams, flexible enough to…

Acid Pour - Group Initiative

Acid pour is a game (group initiative) to investigate styles of leadership such as: command-and-control versus self-organizational teams, styles of communication and behavior of groups.

I have used this game to teach teams the difference between Agile and using a command-and-control style of leadership.  In this scenario the group elects a CEO that appoints 4 managers, the rest of the group is assigned the role of worker.  Restrictions are place on the worker such that only communication is allow to flow from the top.  For example: when the workers approach the containment area they must put on the protective suits (blindfolds), however only the 4 manager suits have intercom systems, therefore the workers will not be able to talk, nor see.  The managers will instruct them (control).  The CEO will direct the action via planning with the managers for 5 minutes, and then by announcing new directions as needed.

This scenario is very restricted, typically fails to succeed, so I allow them …

Ban Double Speak in Congress

Senator John McCain introduces a bill named "Internet Freedom Act".  It is designed to give broadband providers the right to block applications and content.

“Today I’m pleased to introduce the Internet Freedom Act of 2009 that will keep the Internet free from government control and regulation, it will allow for continued innovation that will in turn create more high-paying jobs for the millions of Americans who are out of work or seeking new employment. Keeping businesses free from oppressive regulations is the best stimulus for the current economy.” - McCain So blocking the Net Neutrality Rules proposed by the Federal Communications Commission designed for freedom of access would be McCain's idea of freedom.

I think one of the problems we have in this wonderful country is we (the population) allow this type of double speak from people that should be held to a higher standard.  I just lost some respe…

What does it mean to be a Team Player?

Being on a team is a privilege not a right.  Some people inherently understand this, some do not.  Marcus Jordan, freshman guard for University of Central Florida, doesn't want to wear the team shoes.  It is big money for sports teams to make deals with sponsors - this one is $3 million.  Why does Marcus refuse to wear the team shoe?  The team shoe is Adidas, and Marcus is fond of his father's famous Nike Air Jordan.

So if you were the coach, what would you do?

What were the choices for Marcus?  To wear the Adidas shoes and explain to the press that he was wearing the team shoe.  This has been referred to as "taking one for the team".  Or he could play the "I'm special" card.  Which is what he choose to do.

Is having a special player on the team, good for the team?

I have fond memories of Michael Jordan playing for UNC.  He was  great player for many reasons.  One was that he was so very hard to defend when driving to the basket, the defender didn'…

Proposal to Adopt Agile Development Methods

Proposal to Adopt Agile Development Methods
David Koontz
Chapman University College

Proposal to Adopt Agile Development Methods

Welcome to the Twenty First Century.  We have amazing technology, a complex ecosystem of global industry, and a systems-thinking learning organization.  However, we are using antiquated software development methods. Our home-grown methodology based upon a manufacturing model of large up-front detail designs, construction, then verification, and finally production is a phased or largely sequential software development process.  This process does not work well for software - a very malleable product.  Our project success rate of 32% is slightly better than the industry average of 28% (small companies) reported in the CHAOS Report (Johnson, 1995).  However, if we continue to fail two-thirds of the time, we may find ourselves at the back of the pack, and possibly in the bankruptcy courts.
Agile software development is a family of methodologies based on iterative and i…

Apple-Innovation is the Key

David Koontz, Sumalee Mahaguna, Daniel Stiles
Chapman University

Organizations have many distinguishing factors that make them successful in their field.  However, one factor that is apparent in great organizations is vision.  Organizational vision is necessary for an organization to be successful because creative energy begins with vision.  Creative tension is the driving force which organizations use to make their vision a reality.  “Visionary companies are premier institutions…in their industries, widely admired by their peers and having a long rack record of making a significant impact on the world around them” (Collins & Porras, 2004, p. 2).  According to Peter Senge author of the Fifth Discipline, vision is distinct from purpose.  Purpose is abstract, leading towards a general heading whereas vision is a specific heading that is concrete (Senge, 2006).  Apple is a visionary organization that has a clear vision and purpose that can be seen through their innovative products ove…