Sure you’re agile, what about your QA department?
For the past 14 years I’ve been a software developer for money, I’ve noticed a trend. The QA department finds the most bugs towards the end of the release cycle. Even when I’ve worked in departments that are supposedly following an iterative development process.
A lot of the “bugs” revolve around “fit and polish” issues. Making sure the font and wording is correct in all locations. Making sure the application looks and behaves the same across all platforms,browsers in the case of web applications. Most all requirements documents or stories include a note for the QA department to perform these checks well in advance of the final launch, yet these bugs always seem to come up and they usually are not regression bugs.
The places that follow an iterative cycle I’ve found don’t really deploy after each iteration to any meaningful customers. They are all still tied to the “big launch”. I think that getting the product into the hands of people who ACTUALLY care about it, rather than the ones that are just concerned about the launch, is crucial to delivering a high-quality product.
I’m wondering if the traditional QA department is a relic that we need to get rid of? If we move all of the testing/bug finding to the interation and fix them immediately, isn’t QA relegated to mainly verifying bugs reported by customers/users?
So the question is: How do we get QA more involved in the process?
A new JavaScript CDN from Microsoft
Microsoft announced a new Content Delivery Network for their ASP.NET AJAX JavaScript libraries and jQuery. This means that instead of hosting those libraries on your server, you can just link to the versions on Microsofts server. I made a simple page that takes a querystring parameter (q=) and uses the ASP.NET AJAX dynamic templates to bind search results from a call to the Bing API.
The money lines in the source are the following:
-
<script type="text/javascript"
-
src="http://ajax.microsoft.com/ajax/beta/0909/MicrosoftAjax.debug.js"></script>
-
-
<script type="text/javascript"
-
src="http://ajax.microsoft.com/ajax/beta/0909/MicrosoftAjaxTemplates.js"></script>
These two lines tell the browser to load the MS AJAX scripts from the CDN. There are some security concerns around the fact that the files are served from the microsoft.com domain. Both Google and Yahoo serve there files from a separate, non-cookied domain (googleapis.com and yahooapis.com respectively). Hopefully, these fears will be unfounded.
On a side note, it is surprisingly easy to use the Bing API if you are familiar with script tag injection. The easiest way is to put an empty script tag in your page.
-
<script id="jsonResults" type="text/javascript"></script>
And then just create your Bing URL and set the script elements src attribute to the URL you created.
-
function MakeSearchRequest(searchPhrase)
-
{
-
var req = "http://api.bing.net/json.aspx?"
-
+ "AppId=" + YOUR API KEY GOES HERE
-
+ "&Query=" + searchPhrase
-
+ "&Sources=Web"
-
+ "&JsonType=callback"
-
+ "&JsonCallback=BuildResults";
-
-
$get("jsonResults").src = req;
-
};
Announcing WebOSSFlame
The free world is proud to announce an old program for startups looking to do web development. When you sign up for the WebOSSFlame program, you get the following:
- Free, unlimited licenses to the Debian or SuSE server platform
- Free, unlimited licenses to the MySQL AND PostgreSQL database servers
- Free, unlimited usage of either the Ruby, Python, or PHP languages.
- Free, unlimited licenses to ALL of the following IDEs: Eclipse, Vim, Aptana (1)
- Free, unlimited licenses to ALL of the following graphics programs: Gimp, InkScape
- Free, unlimited licenses to the FileZilla FTP program for deploying your Web application.
Aw heck, you know what? We’ll just throw in free, unlimited licenses to any piece of software listed here.
Why start with a spark when you can start your fire with a flame?(3)
(1) – EMACS not included, why do that to yourself? Really?(2)
(2) – Just kidding EMACS users.
(3) Ok, that’s a stretch.
Herding Code 60: Spark View Engine with Louis DeJardin
In this episode of the Herding Code Podcast, the guys talk to Louis DeJardin about the Spark View Engine. Louis talks about how the Spark View Engine was inspired by NVelocity and hatched from a comment thread on Phil Haack’s blog. Kevin asks about the HTML-like syntax syntax in a Spark view – how it [...]
More on Codeplex.org
The CodePlex Foundation: First Impressions (and Recommendations)
Q: So now let’s cover the basics; how is the Foundation set up?
A: Microsoft organized CodePlex under the non-profit laws of the State of Washington, which may be a good neutral choice, or may not. Most attorneys (myself included) aren’t familiar with Washington law, so it’s hard to tell (I always use Delaware law when forming a new non-profit, since its laws are very flexible, and most attorneys have some familiarity with it). Also, CodePlex has not been set up as a membership organization, which is very unusual for an organization operating in an area that usually relies on consensus in order to be credible.
Q: Is that good or bad?
A: In my view, it’s bad, because it means that the Board of Directors not only has complete control, but the Board is also self-perpetuating (i.e., the directors elect their own successors). Moreover, there are no term limits on how long a Board member can serve. In this kind of organization, the Board is not answerable to the participants, and the participants have no say or control at all over how the organization is managed or evolves.
Q: But as long as the Board is balanced, shouldn’t that be OK?
A: In theory, yes. And, to be fair, even in organizations (like most of the consortia I set up) where members elect the Board, almost all actions are approved by the Board, rather than the members. And in order to pay the bills, its common that those that pay more get more of the board seats. But I always try to get the founders to agree to charge smaller companies significantly less than large companies to join at a membership level with board election rights, and also to allocate board seats to achieve diversity in whatever way is relevant to the particular organization (e.g., geographically, by industry sector, to include end users, and so on).
In this case, individuals and companies that decide to participate in CodePlex won’t be able to vote for the directors at all. At minimum, this means that CodePlex will have to work very hard to convince others that the Board really is balanced, and therefore will look out for the best interests of all stakeholders, and not just the company that is paying all of the bills.
An excellent review of the Codeplex.org structure written by someone with a history of setting up OSS foundations.


