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.
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.
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).
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.
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.
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.
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.
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.
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.
In this interview, pundit Johanna Rothman discusses the elusive nature of software quality and how agile methods can help.
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.
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.
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.
This comprehensive guide from two of the originators of the Scrum agile methodology provide excellent, succinct explanations of both the concepts and practices.
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.
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.
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.
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.
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.
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!
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.
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.
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.
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.
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.
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.
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.
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.
While VOIP service continues to grow for businesses, this survey shows that T1 access will continue to be dominant connection to PSTN through 2012.
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.
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.
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.
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.
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.
The human body is a miracle of design. Here are some interesting (and a few sort of disgusting!) facts about us.
I’m not sure quite why I found this site so humorous, but it seems so wacky and yet sublime at the same time.
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?
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!