December 31, 2015

Automate Amazon: Writing a Sign In Test

This post is fourth of a series of nine. Need to go back to the beginning?

Drafting a Login Test for Amazon.com won't be as easy as drafting one for Dave Haeffner's mock site, The-Internet. There needs to be a lot more infrastructure put in place besides the CommonUtils library we worked on in the last blog post. Also, Amazon.com use the word "Login". Instead, they use the phrase Sign In.

December 28, 2015

Automate Amazon: CommonUtils, methods and exceptions

This post is third of a series of nine. Need to go back to the beginning?

The Selenium WebDriver API provides the basic methods to manipulate a browser to perform actions, such as navigating to a web page, but it doesn't have all the functionality we would need. What if we wanted to add in exception handling, such as if the web page was not found? What if we wanted to throw a customized error to a log file when the page was not found? What if, even upon a success, we wanted to write a message to the log?

A Common Utilities library, such as one they are using at my workplace, can be developed to handle these cases. Each Selenium API method is wrapped in try / catch / throw blocks for exception handling, built-in with logging functionality. When things go wrong, clear and concise error messages will save a lot of time debugging if the issue was with the server, with the code of the site, or the tests themselves.


December 24, 2015

Automate Amazon: Sketch out a Use Case

This post is second of a series of nine. Need to go back to the beginning?

With the last blog entry, we talked about setting up a development environment and running our first test.

With this entry, we are going to examine Amazon.com's site and see if we can come up with a quick test to automate creating a purchase order with Amazon's Sign In, AddToCart and Checkout process.

December 22, 2015

December 17, 2015

Next Week: Automating Amazon : How I Am Spending My Christmas Vacation

Automating Amazon: How I Am Spending My Christmas Vacation: 


For the past few years, I have been coming up with little side projects during my Christmas break to help deepen my knowledge of the software testing industry.

  • December 2012: Examining the book How Google Tests Software
  • December 2013: Taking Alan Richardson's excellent online course Selenium 2 WebDriver with Java
  • December 2014: I was quite busy! I retook Alan Richardson's course, spent time creating this blog, and I finally created a GitHub account storing Java and Python code samples I could show to prospective employers as I interviewed for automation development positions. Quite handy when I was caught up in a surprise layoff and was searching for automation positions this time last year.
This Christmas, I was going to carry on the tradition!

December 16, 2015

New Editor's Draft of W3C WebDriver Specification Released!

A new Editor's Draft of the W3C Spec Has Been Published! 


A new Editor's Draft written by Simon Stewart and David Burns has been released on December 3, 2015 to the World Wide Web Consortium's Browser Testing and Tools Working Group: https://w3c.github.io/webdriver/webdriver-spec.html

November 11, 2015

How to perform automated testing for an eCommerce application?

Are you an automated tester writing tests for the eCommerce application at your company?

If so... Do you feel like comparing notes? I'm new to the world of automation. I've only been doing it since March of this year, and I would love to compare and contrast what your world is like. 

October 25, 2015

Would it be good for an automated tester using WebDriver and Java to work towards Java Programming I certification?

So far, I have been doing well as an automated tester at my job. I've been doing well picking up Selenium WebDriver, figuring out how to automate our shopping cart regression tests, adding to the test suite, and remembering my coursework in Computer Science and Software Engineering that I studied long, long ago.

... I was wondering, though: to become more well rounded, should I pursue working to a goal such as a Java Programming I certification? It might help force me to learn the real ins and out of the language.

October 13, 2015

Fitbit-Boston is looking for Java developers who know Python, Hibernate, Spring, AspectJ, MySQL, Cassandra, ActiveMQ, Kafka

I just heard that my company, Fitbit Boston, is looking for a Site Reliability Engineer, so I wanted to pass that information along. We're over in a new office by the Moakley Courthouse, near the Barking Crab and South Station. Contact me for more information!

October 8, 2015

Fitbit hands out smoothies in Kendall Square, Cambridge, MA

Fitbit - Boston smoothie giveway
Kendall Square, 
One Broadway, Cambridge, MA
Thursday, October 8th, 2015  11:00 am - 2:00 pm

One of my favorite things about working at Fitbit is their many outreach programs in the tech community, and that all employees are welcome to participate. I can get so focused on designing automated tests for our eCommerce platform. Volunteering gives me an opportunity to get away from my desk, away from the office, and out into the world where people are using our products.

So far, I've had fun back in June working the booth at Boston TechJam and handed out free ice cream at One Kendall Square. I hadn't done anything like that in a while, so it was nice to help out our team!

September 28, 2015

Are QA Engineers Becoming Extinct?

I've been a Software Quality Assurance Engineer for quite some time. I entered the field back in August 1996, a year or two after companies had first invaded the World Wide Web -- formerly the home of scientific and academic institutions. This invasion was seen by some as a corporate takeover of a new electronic frontier, with much fretting that the web would soon become too "corporate", that it would become  nothing more than a fenced in strip mall. Even though I wasn't quite finished with my Computer Science major / Theater Minor, the demand was so great, it wasn't too difficult for someone as inexperienced as I to find a contract position as a software tester.  I wasn't sure what I wanted to do with my degree after I graduated. I had taken many a course at Bridgwater State mucking around with operating systems, learning Ansi C and C++, but none of my courses really spoke to me. It wasn't until I started working at Oracle that I found what I was really good at: Quality Assurance.

September 26, 2015

SeConf2015: Notes from Simon Stewart's Keynote Address about WebDriver

Looking to see the latest trends in automated software testing? The Selenium Conference 2015 ( 9/10/2015 - 9/12/2015 ), held in Portland, Oregon, has placed online most of the speaker's notes and slides. http://confengine.com/selenium-conf-2015/schedule. T.J. Maher will be reviewing them over then next couple of weeks and blogging about them.



Selenium Conference 2015: Notes from watching Simon Stewart's "State of the Union" keynote address


Right now, I am too focused on turning myself from a manual software tester of fifteen years, into a junior level Java developer writing automated tests for eCommerce application at work to even think about becoming a Selenium WebDriver Committer, one of the people who help build out the open source tool.

September 21, 2015

September 9, 2015

Should You Have a Dedicated Automation Team Within Your QA Department?

To stay in touch with what is happening all around the software testing community, my weekly diet consists of many a blog. None helps me more than Sauce Labs and their Official Sauce Labs blog. Sauce Labs was founded by the creator of the first version of Selenium, before it was Selenium WebDriver. Besides being a great tool to use, so that you don't have to manage yourself all the browsers, platforms, and environments Selenium Grid can offer when automated tests are performing browser testing, Sauce Labs also sponsors the open source product, Appium, used for mobile testing.

August 26, 2015

August 21, 2015

August 12, 2015

Anton Angelov: Design Patterns in Automation Testing

I have written a bit in this blog about Software Design Patterns such as:
  • Their early history with Kent Beck introducing them to OOPSLA (Object-Oriented Programming, Systems, Languages & Applications) back in 1987 and their popularization with Eric Gamma, Richard Helm, Ralph Johnson and John Vlissides (The "Gang of Four") book, Design Patterns: Elements of Reusable Object-Oriented Software (1994).
  • A Boston Software Craftmanship Meetup I attended back in June 2015 on "How to Study Design Patterns".
  • As part of "Testing The-Internet" series,  I talk about how Page Objects are used at my workplace.
... I haven't yet blogged about Head First Design Patterns since I am still  halfway through the book, having just finished Head First Java and Head First Object Oriented Analysis and Design.

Anton Angelov, author of the blog "Automate the Planet",  goes far beyond that.

August 6, 2015

Head First Java: Midi and Swing

Now that I found a job where I get paid to write code, I might as well try to practice the language, eh?

Over the past few months, in my quest to practice being a developer, I have been trying to come up with cute little side-projects in Java that I could do in my free time, and I have been reading more than a few textbooks to come up with ideas.

July 29, 2015

The-Internet: Writing the Automated Test

Writing automated test code to test against Dave Haeffner's mock site, The-Internet: Login Page.

This post is second in a series of six. Need to go back to the beginning?

We have covered a lot of ground in this series of blog posts.

The sixth and final part, writing the automated test, is kind of anti-climactic after all that effort.

July 28, 2015

The-Internet: Page Object Model examples

Writing automated test code to test against Dave Haeffner's mock site, The-Internet: Login Page.

July 12, 2015

Online course: John Purcell's Java courses

To help me up-to-speed with Java programming after a ten year absence of writing any type of code, I have been working since January through many helpful courses I have found online. A few that I have liked:


Another favorite of mine is John Purcell's "Cave of Programming". John started out on Udemy.com, but has branched out to his own site. Every time he comes up with the next level of a course, he marks the earlier levels down until over time they become free.

July 8, 2015

The-Internet: Storing locators for web elements

Writing automated test code to test against Dave Haeffner's mock site, The-Internet: Login Page.

This post is fourth in a series of six. Need to go back to the beginning?

Part Four: Storing locators in Enums

How to locate a web element? 


There are two main they locate web elements at work:

  • By ID
  • By CSS Selector
Earlier, I wrote about CSS Selectors when finding web elements.

With the Firefox browser and the Firebug plugin, to find the selectors of a web element, an automated tester can go to the Login Page of Dave Haeffner's test site, The-Internet, and right-click on each element listed:

July 6, 2015

The-Internet: Storing constants: static final vs enums

Testing The-Internet:

Rewriting the automated test code we use at work to test against Dave Haeffner's mock site, The-Internet: Login Page.

This post is third in a series of six. Need to go back to the beginning?


Part Three: Storing Constants 

Setting Constants Using Static Final

When using values such as the username and password of a Login screen hardcoding values within your automated test is a bad idea. 

If there was an automated test that was to go to https://the-internet.herokuapp.com/login and enter the username and password for Tom Smith (tomsmith / SuperSecretPassword!).

June 26, 2015

Selenium is now on GitHub

Back on March of this year, Google's Open Source Blog posted the following notice:
"Beginning today, we have disabled new project creation on Google Code. We will be shutting down the service about 10 months from now on January 25th, 2016. Below, we provide links to migration tools designed to help you move your projects off of Google Code. We will also make ourselves available over the next three months to those projects that need help migrating from Google Code to other hosts. 

June 24, 2015

test.AllTheThings!

I've loved Sauce Labs every since I first heard about it. Instead of testing the same exact web application five or ten times in various browsers and platforms, I can write a test once? And I don't have to manually configure the browsers and platforms by hand? Sign me up! 

We use it at work. Sure, it's a pain setting up Internet Explorer 8, but you kinda expect IE8 to be a pain when using a modern web app with it. 

June 19, 2015

The-Internet: Common Utilities: methods, exceptions and logging

This post is second in a series of six. Need to go back to the beginning?

Rewriting the automated test code we use at work to test against Dave Haeffner's mock site, The-Internet: Login Page.


Please note: I have been an automated tester only since March 2015. This is only my best guess on how to translate what we use at work. I am writing this blog to deepen my own understanding of automated testing. If there are any glaring errors about Java, OO, WebDriver, or anything else please let me know in the Comments section!

June 18, 2015

June 16, 2015

June 12, 2015

The-Internet: Simple Manipulation of a Login Page

Beginning coders in Selenium WebDriver need simple websites to test against. For that purpose, Dave Haeffner ( @TourDeDave ), author of ElementalSelenium.com and the SeleniumGuidebook.com, wrote the-internet.

... No, not "The Internet". The-Internet: https://the-internet.herokuapp.com/. It assembles a collection of Web Elements such as dropdowns, checkboxes, and a login page that automated testers can test against.

For today's blog post, I will speed automated testers through some basic Selenium / Java sample code I quickly hacked together: how a tester can interact with the various page elements of a login screen. The code tests what needs to be tested, it successfully runs... but it ain't pretty.

June 11, 2015

Live Blog: Fitbit Boston @ BostonTechJam

Boston TechJam
City Hall Plaza, Boston, MA
Thursday, June 11, 2015 4:00 pm - 9:00 pm

I've always liked getting involved, so when I heard that Fitbit-Boston managed to get a booth last minute at @BostonTechJam I signed up immediately!

I volunteered to help pack up the truck, go down to the site here at Boston's City Hall Plaza here in Government Center, set up, and staff the booth.

I will be live blogging the event! Stop by this page throughout the day, and I will be posting pictures and updates about my experience here. Feel free to come by, take pictures, and tag me in them. On Twitter I am @tjmaher1.

June 10, 2015

Fitbit-Boston will be @BostonTechJam on Thursday

Fitbit-Boston will have a table at Boston TechJam, held this Thursday. I'll be manning the table from 4:00 pm to 9:00 pm along with my fellow co-workers. Stop by and say Hello!

Boston TechJam - Details


Event Name: Boston TechJam
Registration Link: http://www.bostontechjam.com/
Location: City Hall Plaza, Gov't Center, Boston
Date: Thursday, June 11, 2015
Time: 4:00 pm to 9:00 pm
Cost: $10.00 USD. Pre-registration needed.

June 9, 2015

June 4, 2015

Twitter connects us all!

Sometimes I am amazed at how easy it is to send a note to people via Twitter. I am more amazed how often people respond!

Starting in December of 2014, I decided that if I ever was going to do it, now was the time for one last big push to attempt to finally find a company who would take a chance on me, bring me on board, and start getting me up to speed with automated testing with Selenium / Java. For most of my fifteen year QA career as a manual tester, coding was never part of the job. I had last programmed in Java in grad school ... ten years ago. Switching from a manual testing job to an automation one was going to be a hard sell.

June 3, 2015

#AmIADeveloperYet?

So, I just added my second small Selenium / Java test to Fitbit - Boston's automated test suite of its eCommerce application. Up until now, my main focus was helping out with manual testing. Doing automation was mainly a side project as I was ramping up since our QA department was short-staffed.

... #AmIADeveloperYet?

June 2, 2015

Meetup: How to Study Design Patterns

Boston Software Craftmanship
Brightcove, 290 Congress Street, Boston, MA
http://www.meetup.com/Boston-Software-Craftsmanship/events/222541015/
Monday, June 1st, 2015 @ 6:30 pm
"Design Patterns have been a divisive topic in the programming community. Some consider them indispensable, while others find them harmful when intentionally applied.  
"In the game of Go, there exists a similar divide around the concept of Joseki. They've had more time to wrestle with this conflict, though, and Toshiro Kageyama has made an attempt at reconciling these factions. In his seminal book 'Lessons in the Fundamentals of Go', there is a chapter titled "How to Study Joseki". We will be applying this approach to studying Design Patterns.  
"If you own Design Patterns, please bring it; only one is necessary, but additional copies will help it go more smoothly". - From the Meetup site

May 28, 2015

Intro to Page Objects and Design Patterns in Selenium WebDriver

When writing automation scripts, object-oriented design patterns -- templates on how to structure the classes and objects created in Python or Java -- can be quite useful. One of the first design patterns automation engineers encounter are Page Objects, but there are others. Before introducing the talk, here's a quick history lesson on Patterns.

Pattern Languages in Object-Oriented Programming


As part of the Association for Computing Machinery (ACM), a new group called OOPSLA (Object-Oriented Programming, Systems, Languages & Applications) was formed to address the concept of object-oriented programming which was becoming the dominant programming methodology.

At OOPSLA '87, the group's second conference, Kent Beck -- the future originator of "Extreme Programming", the precursor to Agile -- presented a talk that took the concept of architectural design patterns detailed in A Pattern Language: Towns, Buildings, Construction (1977) and applied them to software engineering.

May 8, 2015

Learning the Command Line Interface

When I started my Freshman year at Bridgewater State back on September 1990 as an eager Computer Science major and computer lab aide, there were two main platforms that were popular at the time: MS-DOS and Digital Equipment Corps VAX / VMS system, both which used a command line inteface (CLI). 

What did they look like?



  • The screens had a black background. 
  • Green, amber, or white were the font colors. 

Open up the Terminal on your Mac or Powershell on the PC, maximize the window to fill the screen, and that is exactly what it was like. 


May 7, 2015

OWASP Boston Meetup - Crowdsource Your Security Testing with Bugcrowd

Wednesday, May 6, 2015 @ 6:30 pm
Akamai Technologies
8 Cambridge Center, Cambridge, MA 
http://www.meetup.com/owaspboston/events/221696816/ 


At my previous position, I performed a bit of entry-level security testing, so I was familiar with the Open Web Application Security Project Group (OWASP ) name, with their website and the Testing Guide that they update every few years. What I didn't know was that OWASP had formed a Meetup group last year that has met every few months at Akamai Technologies starting in March of 2014.

OWASP - Boston is planning on holding regular meetings on the first Wednesday of every month.

April 30, 2015

April 27, 2015

Lecture by Jason Huggins: Fixing HealthCare.gov, One Test at a Time

I am loving working at Fitbit - Boston! I have only been here a bit under two months, but I am already making great friends at work. I am learning not just to write Selenium / Java code, but how to be a software developer. 

I noticed on the  Sauce Labs Blog that Jason Huggins, creator of Selenium 1.0 and founder / CTO of Sauce Labs was gave a talk on his involvement on testing the HealthCare.gov website. I commandeered a conference room here at Fitbit - Boston and did a screening of the Meetup talk on YouTube. 

April 25, 2015

Git Fest: April 23, 2015 @ 6:00 pm

New England Software Engineers Meetup 
McGraw-Hill Education, 281 Summer Street, Boston MA
http://www.meetup.com/new-england-engineers/events/221699860/

"Thursday 23rd of April the first Git Fest Night will take place in Boston at the McGraw Hill Education Labs& close to South Station.


"During the event, after an introductory talk we are going to see on the stage folks talking about Git and its usage from different perspectives.


"In the introductory talk Aslihan Uzun will present a look at the unique aspects of Turkish culture and related issues in New England, and her perspective on the lives and community of people of Turkish heritage.


April 23, 2015

Security Testing Meetup: Beginners Kali Linux w/ RailsGoat

The Beginners Kali Linux w/ Railsgoat Meetup that I attended Wednesday, April 22, 2015 had one requirement: Set up Kali Linux running in a virtual machine.

After tinkering with Kali Linux on-and-off a few days before the training session, I finally was able to have a working installation up and running in a virtual machine on my MacBook Pro. It took me a while. Setting up a Linux distribution is a bit out of my comfort zone, but it was a good experience. Between listening to the instructional video one of the organizers, Apollo Clark, had created, and doing a lot of independent research, I was able to download, install, and set it up using Oracle's VirtualBox. 

April 22, 2015

Security Testing with Kali Linux: Intro and Installation

I've always been intrigued by security testing. I was part of a security testing team at my last position, tinkering with a security testing guide written by The Open Web Application Security Project (OWASP) to review our web and mobile apps, so when I came across a security testing group, I had to attend! 

The organizer of the Boston Kali Linux Users Group suggested before the Beginners Kali Linux w/ Railsgoat  event participants should have a running virtual machine with Kali Linux installed on it. To help us, the organizer Apollo Clark created a tutorial for both Mac  and Windows. It's a good thing, too. I have tinkered with Red Hat Linux, but not for many years. 


April 20, 2015

How to Switch Careers in the Software Industry

Trying to switch careers in the software industry, such as moving from software testing to something more in development? In this blog post I will be outlining how I made the transition from a position as manual QA engineer -- where, although I had a technical position, I was doing next to no actual coding -- to an automated testing position, where I am programming in Selenium and Java daily.


This transition didn't come overnight. It took years to lay the groundwork for the career shift to take place. Because this transition was so difficult for me, I wanted to share some pointers with anyone who may be in a similar situation to possibly make their career shift easier.

Make the commitment



April 19, 2015

How Selenium WebDriver uses CSS Selectors

This information is based upon Alan Richardson's class, Selenium 2 WebDriver with Java. If there is one thing that I can credit getting my current automation engineer position at Fitbit, it is this course. 

About CSS Selectors

A CSS Selector matches a set of elements. CSS stands for Cascading Style Sheets, what HTML uses to style the page layout of the web page. It is reused in Selenium to match the DOM (Document Object Model) elements.

April 15, 2015

How Fitbit - Boston sets up an automation development environment

Without actually having an automation developer position, it was very difficult for me to figure out what tools I needed to learn in order to make the switch from being a manual tester to doing automation.

Here, in this post, I'll highlight a bit of of the tools and technologies Fitbit - Boston uses for automated testing.

April 4, 2015

My new position: Sr. QA Engineer @ Fitbit Boston

I cannot believe that as of today I have been at Fitbit - Boston for a whole month! I am a Senior QA Engineer getting ramped up with Selenium WebDriver / Java development. I have taken many online Selenium classes with Java and Python. I have spent six or seven months running automation scripts at my previous position, but this is the first job in my fifteen year manual software testing career where I am getting paid to professionally program... Exactly what I have been looking for! I am really excited. It is such a great company!

March 12, 2015

Lecture: Customizing Jenkins @ SiteSpect

What happens when a favorite open-source tool is stretched beyond its limit and needs severe customization? Two automation engineers at SiteSpect, Dustin Masterson and Josh Shapiro, talked Wednesday evening at the AutoTestCentral - Boston meetup about the problems they faced --- and solution they came up with -- when forcing Jenkins to run 350+ functional test scenarios comprising over 550,000 tests.

The following is compiled from my hastily scribbled notes, and a heck of a lot of late night last minute independent research. Please let me know in the comments section what needs to be fixed. 

March 10, 2015

Learning Java

These past couple of months while I was searching for my next software testing gig, I strangely found myself with too little hands-on programming experience. Normally, my degrees and knowledge of the software development industry would be enough... but I found out when I was interviewing that no longer could I as a Software Quality Assurance Engineer get away with simply documenting test cases in MS Word or MS Excel. Executing all the test cases by hand just like the end user of our web or mobile app was not enough. Nowadays, it seems, a QA Engineer is expected to know how to write automated tests in Selenium with Java or Python.

February 20, 2015

Selenium WebDriver User Resources

There has been a sudden shift in the software testing industry. As companies are trying to make their software development life cycle run faster and faster, the lines have blurred between Software Quality Assurance and Software Development. If you are a QA Engineer, in order to speed up the regression tests -- checking that the new additions to the product didn't break the old functionality -- you now need to learn how to code. And Selenium WebDriver -- the open-source software that couples with Java, Python, or other languages to simulate a user operating a web application in a browser -- has been the tool to use.

But where can you find good, solid information on how to use Selenium WebDriver?

February 18, 2015

SeConf2014: Fish Bowl with the Selenium Committers

Did you know that by going to the Official 2014 Selenium Conference Site and selecting the Program Schedule you can pull up all the slides, handouts, and video recordings of all the talks given at the conference which was held back in September 2014 in Bangalore, India? For the next few blog posts, I will be publishing my notes on a few of these YouTube captured talks.  


February 13, 2015

SeConf2014: Q&A with Selenium Committers

The Fourth Annual Selenium Conference was held between September 4 to September 6, 2014 in Bangalore, India.

By going to the Program Schedule on their Official 2014 Selenium Conference Site you can see:

  • The times each talk had been held
  • Bios of each speaker
  • Slides shown and handouts that were given out at the time
  • Descriptions of each talk
  • YouTube links of the talk given that you can watch. 

February 9, 2015

Book review: Learning Python the Hard Way

Since November 2014, I have been studying the computer programming language Python, with the free online book Learning Python the Hard Way, [link]. Written by Zed Shaw, it seems is a great way to start learning how to code or getting back into coding if it has been a while since you last programmed.

The author's premise of the book is that readers won't be able to learn how to code by just copy-and-paste the Python code from the online book into a text editor. Zed encourages, demands, wheedles, nags, and hectors his viewing audience that in order to really learn the Python language (or any programming language for that matter) they need to:

February 7, 2015

A bit about Selenium WebDriver

Software companies attempting to become more sensitive to the immediate needs of their customers now measure their software development cycle in months instead of years. The time allowed for Software Quality Assurance to perform regression testing -- testing that the new features of the web and mobile apps being built haven't broken the old functionality -- has been drastically shortened. For software testers this has caused frantic twelve hour days and weekend work in the last two weeks before the product is supposed to go out the door. Selenium WebDriver is a free open source tool that has become the new industry standard in automated testing that can try to alleviate this problem.

February 1, 2015

Shifts in Software Testing

You might not have recognized this if you have worked at the same job for the past couple of years, but the software testing industry has shifted. There is less demand for traditional QA Engineers. You may know the entire software development process, both Waterfall and Agile. You may be very skilled at working with business analysts examining the business requirements to make sure they are clear and concise. You may be quite good at coming up with great testing scenarios. But there are many new standards, practices and technologies that future employers are going to need from you, most which were unheard of just two or three years ago.

January 31, 2015

How Google Tests Software

For the past few years, I've made sure to take a few extra weeks off around the Christmas holidays to brush up on my skillset, do a bit of research on new technologies coming out, and try to get in shape -- software testing wise -- for the new year. Back in 2013 I kept hearing of one particular book that had been published the year before: How Google Tests Software.


January 30, 2015

Agile Software Development

I've been working with Agile since 2005, and I must say that I find it to be the most fun! If you love working with people as a team, really prize collaboration, and "having good team gel" is a requirement for you at any job, the Agile Software Development methodology is for you.

How Agile Started


How we create software has changed a lot in the past decade, and it started with a manifesto written back in February 2001.

The Agile Manifesto:

  • "Individuals and interactions over processes and tools
  • "Working software over comprehensive documentation
  • "Customer collaboration over contract negotiation
  • "Responding to change over following a plan

January 26, 2015

Before Waterfall

Interested in the History of Software Development Methodologies?

... Of course you are! Who wouldn't be? 

Here are a few ancestors to the waterfall method: 

Production of Large Computer Programs, 1956


Adapted from a presentation he had given at an event sponsored by the Navy Mathematical Computing Advisory Panel and the Office of Naval Research in June 1956, Herbert D. Benington talked about his experience working on the Semi-Automatic Ground Environment (SAGE) system at MIT's Lincoln Laboratory.

Waterfall + QA


Take the product owners, product managers, and business analysts who come up with business requirements for a software product that customers might need. Take a bunch of software architects who design the blueprints of the software product. Add the designers and user experience people to sketch the look-and-feel of the software product. Software developers to construct the product. Quality assurance engineers to test the product. How does the team work together to build, test, and launch the product?

That is the software development process.

January 24, 2015

What is a QA Engineer?


You may have noticed on your neighborhood software development team a few people where coding the product isn't their main role. They aren't artists, so you know they aren't web designers on the User Experience team designing the user interface. They don't usually gather the initial business requirements, so they aren't business analysts. And every other word they talk about contains the word "test": Test Matrix, browser testing, test strategies, test cases, test scripts, regression testing. They are the Software Quality Assurance Engineers.