August 2010 Newsletter
Any change, even a change for the better, is always accompanied by drawbacks and discomforts. –Arnold Bennett
It is not how old you are, but how you are old. –Jules Renard
Greatness is not a function of circumstance. Greatness, it turns out, is largely a matter of conscious choice, and discipline. –Jim Collins
The folly of mistaking a paradox for a discovery, a metaphor for a proof, a torrent of verbiage for a spring of capital truths, and oneself for an oracle, is inborn in us. –Paul Valéry
A refund for defective software might be nice, except it would bankrupt the entire software industry in the first year. –Andrew S. Tanenbaum
Optimism can make you look stupid, but cynicism always makes you look cynical. –Calum Fisher
Do not confuse "duty" with what other people expect of you; they are utterly different. Duty is a debt you owe to yourself to fulfill obligations you have assumed voluntarily. –Robert A. Heinlein
Most project management methodologies and approaches fail to take into
account collaboration and the fact that these interactions are often the cause
of some project risks. He reviews a new
concept called “risk
leadership” that includes the complexities inherent in development
projects.
http://www.zdnet.com/blog/projectfailures/wicked-problems-collaboration-risk-and-failure/9465
This review of a new paper from US DOD on agile methodologies highlights
the important concept that we are moving from the Information Age
into the so-called Age of Interactions where collaboration and interaction
bring not only new opportunities, but new challenges, as well.
This author says that developers need to stop spending time complaining
that the business can't decide what they want.
He offers four suggestions for how to address this that are within the
control of IT.
http://www.drdobbs.com/blog/archives/2009/09/lame_excuse_the.html
For all of the talk about the cool new technologies like Foursquare and
Twitter, this writer thinks that enterprise software is ripe for a similar
revolution, particularly around scaling and ability to deliver quickly (think
agile).
http://techcrunch.com/2010/07/25/enterprise-software-is-sexy-again/
Often, folks try to give analogies for
programming to other technical disciplines.
This developer makes a very elegant, thoughtful, and well-reasoned
argument for why programming should be considered an art (or perhaps invention) rather
than a science or engineering discipline.
He compares development to the fine art of cooking and even gives his
take on what kind of programmers some of the competitors on Top Chef would be.
In this interview, Fred Brooks discusses his on-going, long-term multi-disciplinary
research on design, which resulted in his new book. Brooks says that conceptual integrity is the
foundation of good design and goes on to explain this concept.
http://www.sdtimes.com/link/34471
Requirements expert Karl Wiegers emphasizes the benefits to both the development
organization and (probably more importantly) to the business of not only
obtaining good requirements, but also of having a good requirements management
process.
http://www.drdobbs.com/architecture-and-design/225702520
If you are considering using agile development methodology, you may be
asking whether you should use kanban or scrum. This article compares the two and indicates
that they can be used
together in a complementary fashion.
http://www.infoq.com/news/2009/05/kniberg-kanban-v-scrum
This article presents an interesting paradigm for measuring the value of acceptance testing by tracking “boomerangs”, which are anything that comes back into your process from one iteration to another.
http://gojko.net/2010/04/05/mind-your-boomerangs/
In the aftermath of Apple's IPhone 4 "antenna-gate" debacle and the indications that they rushed the product to market, James Whittaker counts the blessings of good testing practices.
http://googletesting.blogspot.com/2010/07/there-but-for-grace-of-testing-go-i.html
The principles outlined in this article are those that define the attitude of a successful tester in agile environment. Likewise, the authors emphasize that, especially on agile projects, testing is a role rather than something reserved for particular individuals.
http://agile.dzone.com/articles/agile-testing-principles
In this interview, pundit Johanna Rothman discusses the elusive nature of software quality and how agile methods can help.
http://www.drdobbs.com/architecture-and-design/225701141
One of the on-going mysteries of market-driven software development is why customers continue to accept defect-laden software. This article looks at how increased demand for features increase complexity and results in a Zeno's paradox regarding improving software quality.
http://blogs.techrepublic.com.com/security/?p=4040
One of the cornerstones of lean methodologies is the concept of kanban, which involves trying to minimize work in progress and "pull" work through the system efficiently. This article gives you the basic ideas behind kanban and how it applies to software development.
http://www.drdobbs.com/architecture-and-design/225702051
By far, one of the best ways to develop programming skills is to read others' code. Likewise, most projects involve working with
code that others have written. This
article provides some tips for effectively and efficiently reading code.
http://omergertel.com/2010/07/04/how-to-read-code/
This comprehensive guide from two of the
originators of the Scrum agile methodology provide excellent, succinct explanations of both the
concepts and practices.
http://scrumtraininginstitute.com/home/stream_download/scrumpapers
One of the principles of functional
programming is that all actions are the result of functional composition
and this precludes the use of assignment.
This helps to enforce immutability. This tutorial shows how this concept can be
applied in most any language to reap the benefits of functional programming.
http://www.loup-vaillant.fr/tutorials/avoid-assignment
Lack of women in software and other technical fields is a problem that comes up frequently. Evidence is mounting that personality characteristics that improve productivity, such as conscientiousness, seem to be at odds with those that promote increased pay, like Machiavellianism.
http://economix.blogs.nytimes.com/2010/04/26/do-nice-gals-finish-last/
Author William Powers says that each time technology advances to make information more widely available, it causes stress and disruption of personal routines. He uses examples from ancient Rome and the Renaissance to show that our 21st century Internet addiction is really nothing new. And he offers tips on how to break the constant connection habit.
http://www.npr.org/templates/story/story.php?storyId=128364111
Productivity is something that almost everyone aspires to improve. These 10 tips center around two main concepts: avoiding procrastination and breaking down complex efforts into manageable tasks.
http://the99percent.com/tips/6585/10-laws-of-productivity
Without getting into all of the technicalities of epistemology (which I personally find fascinating), this article gives an interesting perspective on how language actually shapes our understanding of the world around us.
http://online.wsj.com/article/SB10001424052748703467304575383131592767868.html
Interesting new research indicates that increased risk of heart disease is more correlated to the amount of time a person spends sitting (think at a computer, watching TV, or driving/riding in a vehicle) than the amount of exercise a person gets. So you need to find a way to get up and move around at the office!
http://well.blogs.nytimes.com/2010/07/14/phys-ed-the-men-who-stare-at-screens/
We have often discussed the pitfalls of multitasking and how multitasking is unhealthy in this newsletter. This is another article that looks at multitasking deficiencies specifically in the context of software development, especially agile development.
http://www.infoq.com/articles/multitasking-problems
Intel co-founder Andy Grove says that the US cannot depend only on knowledge work to sustain enough jobs, but must also reinvigorate the manufacturing sector, as well. His suggestions are garnering lots of buzz from all quarters and this suggestion may have practical implications, as well.
This article gives an excellent summary of the concepts in John Maxwell's book The 21 Irrefutable Laws of Leadership. The "laws" bring the difference between management and leadership into sharp relief. Remember that anyone (and everyone!) can be a leader.
http://www.zacharyburt.com/2010/07/21-laws-of-leadership/
We've mentioned Samuel Culbert's one-man crusade against the performance review before. Here's a brief interview about this topic, which includes an excerpt from his book. Instead of reviews, Culbert recommends performance previews.
http://www.npr.org/templates/story/story.php?storyId=128362511
While I'm not sure that I agree with the conclusion that creativity is declining (I think it's probably just changing from its traditional measures), this article discusses some interesting ideas about why innovation needs to be a bigger priority.
http://www.newsweek.com/2010/07/10/the-creativity-crisis.html
According to a new survey, almost ¾ of home Internet service subscribers are satisfied with their service and nearly ½ don't see a need for increased speeds. These results call into question the value/need for FTTH.
http://www.informationweek.com/news/windows/operatingsystems/showArticle.jhtml?articleID=225701400
While I doubt that this means the imminent demise of traditional telecom as we know it, the idea of putting adaptive mesh networking in smart phones is certainly interesting. For all of its problems, one of the neatest things about the OLPC XO-1 low-cost computer was its built-in ad hoc mesh networking capability.
http://esr.ibiblio.org/?p=2115
In this op-ed piece, Oklahoma governor Brad Henry urges the FCC to reconsider reclassifying broadband as a telecommunications service to help preserve private investment in broadband for rural communities and help avoid having the US fall further behind the rest of the developed world in broadband.
http://www.tulsaworld.com/opinion/article.aspx?subjectid=65&articleid=20100703_65_A21_Westan278060
Infoweek's cover story for the July 12 issue discusses how broadband has yet to reach commodity status in the US and how broadband is important to IT, especially with the anticipated growth of cloud computing and other distributed technologies.
http://www.informationweek.com/news/infrastructure/management/showArticle.jhtml?articleID=225702723
While VOIP service continues to grow for businesses, this survey shows that T1 access will continue to be dominant connection to PSTN through 2012.
http://www.infonetics.com/pr/2010/SIP-Trunking-Strategies-Survey-Highlights.asp
Demand for enterprise cloud services is expected to triple to almost $36 billion by 2015 with the bulk of the growth in 2011 according to new report from Analysys Mason.
http://www.informationweek.com/news/smb/services/showArticle.jhtml?articleID=225702638
If you are interested in checking out the new version of Visual Studio, but have some trepidation about installing and configuring all of the tools and/or it messing up existing Visual Studio installations, this is just the option for you. It is fully installed and configured VS 2010 environment, including TFS, virtual machine that runs under Windows Virtual PC (or VirtualBox). Obviously, this approach requires some substantial hardware, but it's a good option to try things out. (Note: The virtual machine expires on 12/15/2010.)
When developing in *nix environments, have you ever wished you could display shell output in a browser window? Well, bcat does just that. You simply pipe the output of your command to bcat (or btee) and it opens the output stream in the default system web browser with appropriate formatting.
http://rtomayko.github.com/bcat/
Do you ever get frustrated when you have to reboot your machine after a patch update, application installation, or just because the system is unstable and then you have to restart all of your applications? Cache My Work makes a list of all of your open applications and allows you to choose which to re-launch after you restart your system.
http://cachemywork.codeplex.com/
Clipboard managers for Windows are quite prevalent. Archive Clipboard goes beyond many of these with some special features, such as ability to save and reload clipboard history items (even automatically backs them up in case of system crash), filtering to only save text, images, file path information or any combination, and preview of items in the clipboard history. In addition, support for Mac OS X and Linux is expected soon.
http://www.archiveclipboard.com/
System Nucleus is a multi-function system for viewing, editing and managing system properties in Windows. It puts a variety of useful tools into a single application, including process viewer/killer, startup application editor, system information viewer, shortcuts to over 100 Windows applications, a customizable system tray menu and much more.
http://www.spencerberus.com/projects.aspx
The human body is a miracle of design. Here are some interesting (and a few sort of disgusting!) facts about us.
http://bsnprogram.com/2010/50-incredibly-weird-facts-about-the-human-body/
I’m not sure quite why I found this site so humorous, but it seems so wacky and yet sublime at the same time.
http://godzillahaiku.tumblr.com/
This beautiful visualization gives some remarkable facts about the Internet in 2010 and how we use it. For example, did you know that teenagers spend almost 8 times more time online than doing homework?
http://www.medicalbillingandcoding.org/facts-about-the-internet/
You've likely already seen this, but if not, it will certainly make you laugh. Popular (or infamous?) group Improv Everywhere re-enacts the scene where Darth Vader confronts Princess Leia for the first time in a New York subway car!