September 2010 Newsletter
The scientist describes what is; the engineer creates what never was. –Theodore Von Kármán
I never have let my schooling interfere with my education. –Mark Twain
Everyone is trying to accomplish something big, not realizing that life is made up of little things. –Frank A. Clark
Every great advance in science has issued from a new audacity of imagination. –John Dewey
Beauty, truth, friendship, love, creation—these are the great values of life. We can’t prove them, or explain them, yet they are the most stable things in our lives. –Jesse Herman Holmes
The only limit to our realization of tomorrow will be our doubts of today. –Franklin D. Roosevelt
Adversity is the trial of principle. Without it, a man hardly knows whether he is honest or not. –Henry Fielding
It is essential to remember, however, that until you have clear requirements, you cannot develop a quality program. While you may not start with clear requirements, you must understand the requirements before you can finish. –Watts Humphrey, Reflections on Management
This author says that it's time to rethink enterprise architecture, because the current prevailing view doesn't effectively support IT-business alignment due to the increasing pace of business change. His suggestion is that IT adopt business management models and mold them to fit the specific needs of IT.
Many organizations trying to adopt agile development methodologies fall into the so-called "scrummerfall" trap, where they fall back on the old waterfall process techniques. This article helps you watch for the warning signs of this.
Good user stories are one of the key factors for success with agile development. But you don't want to spend all of your time writing them. This article gives a 4-point approach for efficiently writing good stories.
If you worked in development for any length of time, you'll probably recognize most of these "secrets" about programming as a craft.
In view of the fact that there isn't a one-size-fits-all approach for agile development (or any methodology for that matter!), this author compares agile to waterfall on some specific points and which one has the advantage.
This article points out that while IT usually takes more than its fair share of blame for application rationalization problems, the bigger problem is that chaos in IT is merely a reflection of trying to support an often more disorganized business.
Agile development methodologies have taken the development world by storm, but that doesn't mean that they are the silver bullet for all development process ills. This article outlines some of the potential pitfalls of agile, which are really risks of most any methodology.
While targeted toward commercial software developers, this article contains some very valuable tips to all programmers about some of the simple usability factors that can go a long way toward ensuring a good user experience.
Regardless of the particular development methodology or process that you use, this brief list has some great ideas on streamlining that process.
Jim Highsmith says that one of the key characteristics for agile leaders is to provide clarity and focus for their organization. In other words, agile leaders cut through the impediments that keep the team from accomplishing their goals.
Despite our best attempts as developers, users are going to experience errors and exceptions in our applications. To avoid adding insult to injury, we need to provide useful and helpful guidance in the error messages. This article provides some excellent ideas for how to do that.
Based on his own experience, this programmer suggests that an agile team size of 4 - 5 developers is most effective. He recommends that when a larger development effort exists, the overall team should be sub-divided into scrum teams of this size.
This author explains a recommended process for managing the requirements process and how it should be treated like management of any other business asset. It includes some great tips on how to decide whether a requirement needs some sort of visualization (i.e., screen mock-up, etc.) or not.
Martin Fowler offers some valuable insight into the common conflict faced IT organizations: Provide service to the business without being seen, but also be a strategic partner in meeting the organizations goals.
Scott Ambler presents the results of his recent survey about development methodology and project success, including responses from over 200 people. He compares the results between traditional methodologies and agile approaches. Agile and iterative methodologies have about 60% success rate, compared to slightly below 50% for ad hoc and traditional methodologies.
This author recommends that the common definition of "done" in agile needs to be revised, because it is too focused on the IT/software development side and not on the user/consumer.
One of the most important tasks in software test design is create the minimum number of tests that cover the functionality under test. This article looks at a heuristic approach to defining the minimum sets of test criteria needed and some of the complexities involved. In addition, it is interesting demonstration of using programming in testing.
This story discusses the value of using "fuzzing" to search for bugs and security flaws in applications, even if you don't have time for full test automation. Specifically, an open-source tool called BitBlaze that allows tracing of the cause of the fault in the application under test.
Following the paradigm of test-driven development (TDD) and the goal of writing testable code, this author recommends a testing approach based on the three levels of tests classified by the breadth/scope of the tests rather than the traditional types of tests.
In the latest installment of his interview series with Watts Humphrey, Grady Booch discusses how software testing cannot substitute for process failures by looking at the software failures in the Therac-25 and V22 Osprey.
Folks frequently confuse quality assurance (QA) and quality control (or testing). This article explains the role of each and emphasizes that QA provides more added value since it focuses on process rather than checking work that has already been done.
Sun… errrr, I mean Oracle… is expected to release Java 7 in fall 2010. This series of articles discusses some of the more salient changes to the language in this revision.
If you are just getting started with Scrum agile methodology, this is a handy one-sheet guide to the basic concepts and the process flow.
Unless you are a professional designer, much of what you "know" about UI design concepts may be based on common myths, especially those that grew up in the infancy of the World Wide Web. This series of articles helps bring you up to date on the latest design standards.
This simple presentation uses the analogy with the roles in creating a movie to explain the various roles in the Scrum agile development methodology.
As a developer, are you looking for your Obi-Wan to guide you in designing good SQL queries? Well, he has arrived! This site gives you great tips about how to effectively design high-performing queries with good explanations that leave out most of the gory technical details.
Gartner outlines ten significant changes about work that they predict. Almost all of them have significant implications for IT, including decentralization of work and more emphasis on ad hoc organization of projects.
Evidence is mounting that academic success in computer science no longer correlates to success as a professional developer with the advent of end-user programming and advancements with development tools. But there are certainly those who disagree with this view, too.
Pundits say that 20th century management practices will become passé in the 21st century with the need for flexibility and agility along with building a culture of innovation being the primary drivers. This author recommends that corporate managers need to start thinking like venture capitalists by "investing" in projects that provide business value.
Of all the "soft" skills needed to survive in today's business world, knowing how to run a meeting has to rank near the top of the list. But everyone knows that meetings are rarely very well managed. This author (along with a lot of four-letter words!) gives two rules for a good meeting: An agenda and a referee. Read the article for all of the details.
While maybe not as exciting as the year 2525, to celebrate their 10th anniversary, SD Times asked 13 industry pundits to give their predictions about where technology and software development will be 10 years from now and what IT will look like.
Everyone wants to improve their own productivity, but how about killing two birds with one stone? Based on the idea that in a typical office setting workers are interrupted 4 times per hour and in more than 40% of the cases the individual does not return to the task they were working on before the interruption, this author recommends the simple action of collecting your questions on a "point sheet" and when you've accumulated enough of them, then take them to the person who you need help from.
This excellent essay discusses how Americans have lost the art of friendship (the Greek idea of philia), partly due to technology which was intended to bring us "closer" and partly due to disintegration of the traditional marriage. The author goes on to enumerate some of the benefits of traditional platonic friendship.
Even though it's been known that it doesn't work for more than 50 years, brainstorming is still one of the more popular ways to generate ideas. This article gives some alternate techniques that are much more likely to result in innovative ideas.
Most people are familiar with the 10,000-hour rule (the idea that those who achieve greatness in a discipline have devoted at least 10,000 hours to study and practice). This article extends these ideas into what specific things you must do in pursuit of excellence in this manner.
According to a Kearney executive, the advent of cloud computing will end the current IT outsourcing paradigm in the next 5 years. He predicts that Google, Amazon, and IBM (and maybe a company that doesn't even exist today) will be the leaders in the new outsourcing model based on utility computing (pay based on usage).
Although it's impossible to know what will happen with the evolution of the Internet, this comprehensive article looks at some of the salient issues facing the medium, such as security, the move to web-based applications, and network neutrality.
This author says that what separates true professionals from everyone else basically comes down to two traits: Always going beyond what is required and having a good attitude regardless of circumstances.
This story is too big and broad-reaching to just have a single article about it and the implications for the on-going net neutrality battle. So I've picked a few salient and insightful articles on both sides of the discussion to provide some context (hopefully!) for you.
Google has fired a shot across the bow of Skype by offering free VOIP calls and low-cost (lower than Skype's rates) PC-to-landline calls directly from within Gmail.
The Pew Research Center's annual broadband survey shows that it grew only 4% (within the margin of error) in the past year and that most people don't think increasing broadband penetration should be a government priority.
Resoph Notes is a handy desktop notepad application that uses easy-to-remember keyboard shortcuts for improved productivity. It's coolest feature is that it allows direct synchronization with Simplenote. You can use Simplenote, even if you don't have iPhone for online access to your notes anywhere.
AutoPuTTY is a handy add-on for PuTTY Telnet/SSH client, WinSCP FTP/SCP client, Microsoft RDP, and VNC that allows you to manage your connections for all of these tools in one place and open any of those connections, including automatic login. It can minimize to your system tray and you can even set a password for AutoPuTTY itself.
If you are familiar with Intellisense in Microsoft's development tools, but wish you had that feature in all of your applications, then BlitzType is for you. It is a basic predictive text completion application that can "learn" as you type. You can edit its word list for those difficult to remember words and it can be configured to show suggestions automatically or only "on demand" via hotkey.
Unicorn is a free unified semantic validator for web pages. It checks your page to determine conformance to HTML, CSS, and other standards. The tests are very comprehensive and the results give detailed explanations of errors with links to the relevant standard.
WaveMaker is a new open-source enterprise development platform for rapid application development using Java. It features drag-and-drop editing of web applications and includes many AJAX-enabled controls. The basic look-and-feel of the WaveMaker development environment is a cross between MS Access and PowerBuilder.
Have you made the switch to Windows 7, but miss the good old Quick Launch bar? It's simple to add it back. (You will need to unlock the task bar, if it's locked.) Just right click on the task bar and choose Toolbars à New toolbar… from the context menu. In the New Toolbar - Choose a folder dialog box, enter %appdata%\Microsoft\Internet Explorer\Quick Launch and press Select Folder. This will add the Quick Launch toolbar. To add items (or remove them), right-click on the toolbar and choose Open Folder; then you can add a shortcut just like in any other folder.
In these incredible images, the photographer took old images from World War II and took a new photograph of the same scene from the same angle and superimposed the two. The results are both stunning and eerie.
If modern classical music gives you a headache or you just don't "get it", it's not your fault. Our brains are made to respond to certain tonal patterns that are not part of modern classical music.
This fascinating Peabody Award-winning short film about 10 artists and scientists who abandoned their regular work to dive into the world of origami explores the amazing intersection between art and mathematics.
Researchers have proven that 20 moves is the minimum number required to solve a Rubik's Cube from any position. Twenty had been a lower bound for quite some time, but these researchers examined every possible position (43,252,003,274,489,856,000) to demonstrate this result.
Everyone hates putting in those obligatory comments when you check in a change to your version control system. Let Commit Message Generator give you some inspiration!
You've taken it for granted since you were a small child: the alphabet. But do you know how we got the Roman-Latin alphabet that we use today? Check out this fascinating and comprehensive history.
That famed (or perhaps infamous!) summer comedy Caddyshack came out 30 years ago. It doesn't seem that long ago to me. Anyway, here are 30 facts that you probably didn't, such as it's Tiger Woods' favorite movie. I'll bet just reading this has got you singing this song in your head!
Just when you thought Wikileaks had gone underground again, they strike again and put fear in the hearts of Java developers everywhere.