Category Archives: Uncategorized

Are We Agile Yet?

Over the past few years, I have had the pleasure of working with multiple teams with each practicing their own flavor of Agile. This has given me the opportunity to see how processes grow and evolve based on the goals, strengths, and challenges faced by the teams. I have also been able to witness and gain insight into some of the confusion and mystery surrounding the Agile Methodology. For those who are just starting out on this path or those that are seeking a little more clarity, I offer you these three steps to help you on your way.

1. RTFM – Read The Famous Manifesto

Take the time to read The Agile Manifesto including the Twelve Principles of Agile Software. Despite how much has been written about Agile, the manifesto is quite short and easy to follow. By reading the words yourself, you will build your own understanding of them. It is that understanding that will help guide you to success as you discuss and evolve processes and methods with your team.

2. Confirm Team Alignment

Agile is not just for developers. It is for the whole team which includes developers, testers, product owners, facilitators, and stakeholders/customers. With that many roles involved, it should be obvious as to why you need to make sure everyone has clear expectations of their responsibilities and the ultimate goal of the team.

You may note that I said “roles” rather than “people” when describing the members of the team. That is because a single person may perform multiple roles on a team. For example a stakeholder may choose to also be the product owner or the lead developer may also be the facilitator for the team. No matter how many people the team has, alignment on duties and expectations is essential.

The Product Team:

  • Stakeholder: Provides input about the product. May also have financial responsibilities to the team and/or product.
  • Product Owner: Defines and prioritizes the project stories and tasks.
  • Facilitator: Runs meetings, removes obstacles, and shelters the team from interruptions.
  • Developer: Plans and writes code for a software project.
  • Tester: Confirms the application functions as expected.

As part of the team alignment, it should be agreed that no one member should act unilaterally because this hinders communication and will effect the project. While each member has ownership of an aspect of the project, they should make decisions based on information gathered from both their experience and that of their teammates. Product owners are responsible for what is being worked on but they should not dictate the completion dates. Developers control the frameworks, tools, and technologies used in the product but they should consider the advise from the testers to make it easier to catch bugs.

Communication and consideration are key to building team alignment.

3. Find What Works For Your Team

Agile is not a destination. Nor is it a single skill, practice, or process. No one can provide you with a checklist or script that will transform any team or product into an Agile one. The reason for this is every team and situation is unique and as such requires an equally unique solution.

This isn’t to say that there isn’t value reading about what other teams have done. Developing a unique solution doesn’t mean you have to build everything from scratch. In fact, it’s probably better for teams to adopt some practices they learn from articles, books, or an Agile Coach when they are starting out. This will provide the team with a chance to avoid some of the pitfalls and get a jump on their progress.

The key is to not get hung up on “the right way” or “requirements” of being Agile. If your team has found that part of the process isn’t helping to achieve the end goal, get rid of it. Teams should be allowed to determine the best way for them to function. So long as they continue to communicate with each other (including stakeholders, customers, etc), are able to adapt to change, and deliver working software on a regular basis then the team is successfully implementing Agile.

Advertisements

Initial Review of RedwoodHQ

I recently saw a post in the Test Automation community on LinkedIn suggesting that we should stop writing custom frameworks. The reasoning behind the suggestion was that it was time consuming to reinvent the wheel when there was an Open Source project, RedwoodHQ, that already had everything you need. Like most of the commenters, my first thought was that I was just reading a sales brochure for another “silver bullet” automation solution. The author, however, insisted that it was a sales pitch since his framework was free and he just wanted to raise awareness of a new tool that is available to the community.

I have long been a proponent of developing one’s own framework to build understanding of the underlying operations. In some ways it’s like Jedi training, you might start out using a lightsaber you were given but you will not become a master until you have constructed your own. In my experience, using pre-existing frameworks can limit an automator’s growth by obscuring the inner workings. Some frameworks will also limit a user’s ability to perform tasks because the developer didn’t consider that use case.

With that in mind, I decided to look at RedwoodHQ and see what it actually is. It wouldn’t be fair of me to write off someone else’s work without at least taking it for a spin. After reading a bit more about it, I downloaded the application and set it up on a VM. The installation process was smooth and I was connected to the web interface and poking around in the sample test in minutes.

For someone with very little knowledge of Selenium WebDriver, they could develop a test with RedwoodHQ right out of the box. They may even be able to begin learning by looking through the action example code. I wouldn’t, however, recommend keeping the original actions in the long term. If for no other reason, they need to be replaced because the current Selenium code uses hard sleeps and possibly relies on implicit waits.

With that said, don’t write off this framework yet. You’ll note that I recommend replacing the actions. This is extremely easy to do using the built-in web IDE and you can drop in any jars you like to use with your tests. This means that if you have built your own framework, you could compile it and reference your own classes and functions within RedwoodHQ. I am currently considering doing just this.

The efforts I have put into my personal framework have been focused on building functions around Selenium WebDriver to make developing page/component objects easier and by extension making the tests easier to write. In this way, I was not limited to using a specific test framework (although I tend to use TestNG most often). I have now realized that unlike other automation tools and solutions, RedwoodHQ operates at the same level as a test and reporting framework and will not interfere with working at the lower levels.

Since this is only an initial review, I can’t speak to how it integrates with a CI environment but I am willing to give this tool a chance. Once I have adapted my Selenium framework to RedwoodHQ, I am considering submitting it as a replacement for the existing actions. I believe the tool would benefit from having actions that utilize explicit waits and provide more than just basic functionality.

The take home from this is that I learned that RedwoodHQ is not another “silver bullet” automation nightmare. It is a test development, management, and reporting framework that won’t limit you to working within their methods. My intial opinion is “Well done!”

On the Making of Mead: An Introduction to the History and Practice of Brewing Honey Wine.

The following text has been created to serve as an introduction to mead and mead making. The material contained within is not specific to the Medieval and Renaissance periods as that time frame is just a small portion of the history of mead. Instead, I have chosen a broader scope which begins in Antiquity and ends in your kitchen. I believe the result is a well rounded overview which will not only whet your appetite for knowledge but teach you how to brew something to slake your thirst while delving deeper into your own studies.

A Brief History of Mead

Mead has been enjoyed by man through the ages from pre-history to the present day.

A Not So Brief History of Mead

Most people are familiar with the argument of whether the chicken or the egg came first, but not as many realize that there is a similar argument surrounding beer, wine, and mead. All three of these beverages can be traced back into antiquity through writings, art, and archaeological findings which makes finding an absolute answer to the question extremely complex. Rather than trying to unravel the threads and divine an altruistic answer, this work will present the facts and theories surrounding the origins and history of mead while making no apologies for perceived bias in the writing.

It is important to have a basic definition to work from when interpreting historical references. The definition must be neither too broad nor too narrow to be effective. In its most basic form, mead is the product of combining honey and water. Yeast would be the third ingredient in the list if we wanted to restrict the definition to alcoholic beverages, but this would also make it harder to locate references since most historical texts do not mention yeast. For the purposes of this article, mead will be defined as a beverage made from a solution of honey, water, and optionally other ingredients for flavoring.

One of the most intriguing facts about mead is that it occurs naturally when honey reaches a sufficient moisture level. With this in mind, it is not unreasonable to theorize that man did not invent mead but rather discovered it while seeking food in a hollow tree. An alternate theory for the discovery of mead works on the same basis but includes man actively gathering and storing honey and some of the containers became contaminated with water which resulted in the wondrous beverage being created. Using either of these concepts, we can speculate that once man began using honey as a normal food source the possibility of discovering mead rose exponentially. The earliest indications found relating to honey gathering are cave paintings and rock drawings dating back to around 15,000 BC (Schramm, 5). Given the nature of mead, there is no way to actually determine when the first batch was created but it should be very safe to say that man was enjoying mead long before he ended his days of cave-dwelling.

The skeptical reader is no doubt wondering why mead would have been forgotten until the Middle Ages if it was discovered so long in the past. Mead wasn’t forgotten; it just existed under different names such as soma, pyment, hydromel, and nectar. References to mead can be found throughout the ancient world from mythology and religious texts to accounts by Greek and Roman historians.

The Many Names of Mead

Let me start by saying that this section is not going to be about what the word “mead” translates to in other languages. It will, however, cover the various types of meads which have had names coined for them. In my studies, I have found that there is some contention over the appropriateness of some of these terms. The main issue is whether or not the distinctions are modern inventions. While a number of  the names do date to the Medieval period or earlier, the actual adherence to the terms and definitions is not strict before modern times (Krupp, 7). My general opinion is that they are all meads and the names are more guidelines for discussing them in a modern context.

Melomels:

This designation is used to describe meads that have been flavored with fruits. The term derived from the Roman name for a beverage made from honey and fruit juices, melomeli (Papazian/Gayre, 113).

Pyment:

The exact nature of pyment is a question of perspective. Some sources state that pyment is wine that has been sweetened with honey . Under the broader definition of what mead is, a fermented beverage made with honey, pyment would classify as a mead made with grapes.   While Papazian continually refers to pyment as a wine, he gives proof that it is more a mead while quoting Chaucer (Papazian/Gayre, 116).

Cyser:

A form of hard cider which uses honey rather than mead as an additive. It can also be made as a mead with apples, cider, or apple juice added for flavor.

Morat:

Mulberries are used to provide a deep color and rich flavor to this form of mead.

Perry:

Pears or pear juice adds its delicate flavor to this form of melomel to produce a crisp refreshing beverage.

Metheglins:

Braggot:

A braggot is often described as “a mead with a beer in it”. This description is fairly accurate since the additional flavors come from barley or hops which is the main ingredient for making beers and ales.

Rhodomel:

A Greek and Roman mead flavored with rose petals. (Schramm, 19-20) (Papazian/Gayre, 114).

Hydromel:

Some references use the term hydromel and mead interchangeably but it has been my experience that this term refers to a mead that has been cut with water to reduce its potency.

Sack:

A sack mead is made by increasing the ratio of honey to water such that the finished product is much sweeter than a typical mead.

Brewing a Basic Mead

Now I am hoping that you have prepared yourself to unravel the complicated and intricate methods and practices involved in the making of mead. If you are truly ready to learn the arcane knowledge that will start you on your way to producing the drink of the gods, you are about to be very surprised by the simplicity of it all.

The most basic of meads is also known as traditional mead. The ingredients list consists entirely of two things honey and water. Of course, yeast will help if you intend to make an alcoholic beverage, but it isn’t required to be on the shopping list. When working from many early recipe sources, yeast is not listed as an additive. This is due to the fact that brewers of the time didn’t know that yeast is what caused the fermentation. Most often the must of these ancient brewers would be impregnated by yeast in the environment. This could be wild, airborne yeasts, bread yeast if the mead was made in a kitchen where baking was being done, or those that were residuals in the vessels used to make previous batches.

Once you have the ingredients, the next step is to gather the tools and equipment needed. Many people think that this means spending large amounts of money on gadgets and gizmos, but this really isn’t the case. The essential list of things you need is: a stock pot (preferably steel so it doesn’t impart a metallic taste to your mead), a long spoon, a funnel, and something to put your must in to ferment. There are some additional items that will make life easier and help you to produce “better” mead, such as airlocks, hydrometers, carboys of various sizes, hoses, bottles, corks, corkers, filters, and the list goes on long enough to make your head spin and your checkbook cry for mercy. For our purposes, I will be covering how you can start brewing with items you probably already have around the house or can obtain for $20 or less.

Referring back the basic equipment list, the first item we need to find is a large enough stock pot. The recipe to be used here makes 1 gallon of traditional mead. The stock pot you will need should hold 6-12 quarts. The next items on the list are also fairly common in any kitchen, a spoon long enough to reach the bottom of the pot without putting your hand in the boiling liquid and a funnel (any size will do but a wide mouth funnel will make pouring easier). The last item in our essentials list is something to put the must in to ferment. Most brewers will recommend glass bottles or carboys for this because they are easy to clean and do not absorb smells the way plastic can. For someone just starting out, I recommend 1 gallon plastic bottles. I used plastic apple juice bottles since my kids made them readily available in abundance. If you would prefer glass, I have found that 1 gallon wine bottles work wonderfully, in fact, they are the same as the 1 gallon carboys you can purchase at brewing supply shops only you need to empty them first. Once you have all of these items, you are ready to begin.

As a general rule, the ratio of honey to water is 2.5-3lbs honey per gallon of water (Papazian/Gayre, 169). As we are making a 1 gallon batch, we will need 3lbs of honey (less measuring that way) and 1 gallon of water. Start by bringing the water to a boil and then stir in the honey. Continue stirring until the honey is completely dissolved and then remove your must from the heat. Allow your must to cool  to room temperature and then pour it into your bottle (this is where the funnel comes in handy). At this point we need to get some yeast into the must and to do this you have 2 options, adding some yourself or sitting hopefully waiting for some stray yeast to come along. I recommend using some store bought yeast.

Since I didn’t go into this earlier, you can get brewer’s yeast from any number of brewing supply shops either locally or on-line. If for some reason you can’t find brewer’s yeast, you can use regular bread yeast from the grocery store. Using bread yeast will change the taste of your resulting mead. I have done this and received compliments, so it really boils down to your personal tastes.

Before adding the yeast to your must, called pitching, you will need to activate it. There are directions on the yeast packet regarding how to do this. Basically, you dissolve the yeast  in a small amount of warm water or juice. A better method is to take a small amount of your must to use as a starter. Once your yeast has been activated, it will usually start to foam after a few minutes, pour this into your must and mix it in. I use the handle of my long spoon for this.

You are now ready to sit back and let the yeast do its magic. Since we are working with very basic equipment found in the kitchen, you will need to make a decision about how to seal the bottle while the yeast is working. You can use the lid for the bottle but you will need to be very diligent if you do. While the yeast is producing alcohol, it is also making CO2. This means that if your bottle is air tight it will build up pressure and could explode. During a vigorous fermentation, even putting the cap on loosely could be too tight, so you will want to carefully open the cover from time to time to release the pressure. Another option is to use a cloth held over the opening with a rubber band. This works fairly well. If you are planning to continue brewing, I strongly recommend investing in airlocks. They only cost around $1 and they will protect your mead and your kitchen (I’ve seen carbouys explode from pressure and it isn’t pretty!!)

After about a week, you will notice that the bubbles in your brew are decreasing or have stopped. You will also notice a build up of sludge (actually called lees) on the bottom of your bottle. Most brewers recommend racking, transferring your mead to a new bottle and leaving the sludge behind, at this point. Racking is much easier to do if you have a length of food grade tubing, which can be found in most hardware stores, but can be done by carefully pouring your mead into a new bottle.

If you have made it this far, then you are now the proud brewer of a batch of mead. The question that   you are undoubtedly asking is, “When can I drink it?” This is a question that will bring about debate from brewers everywhere. Technically, your mead can be served when the fermentation stops, or even before if you really wanted to. Most mead makers today prefer to age their meads to improve the quality. Aging can take anywhere from 1 month up to 2 years or more depending on the mead. For the beginning brewer, I recommend tasting your mead to see if you like it. If you like the taste, then you are ready to serve, if not then close it up and put it in a cool dark place for a month or so.

Additional Recipes

The following recipes were gathered from various sources including my own recipe book.

Wulfric’s Traditional Mead (AKA BOOM!)

This wondrous mead may never truly be duplicated, but we are extremely hopeful. The first time I used this recipe, the result was a lightly sweet mead with an alcohol content of 22%, hence the name “BOOM!” This recipe is for a 5 gallon batch. If you do not have a pot large enough to heat all of the water and honey at once, you can hold 3 gallons aside and add it to the carboy later. This method is good for cooling the must quicker if you use cold water.

25 lbs Raw Dark Honey

5 Gallons Water

1 tsp Yeast Nutrient

1 pkg Lalvin D47 Active Dry Yeast

Heat water and honey to just below boiling, stirring to until the honey is completely dissolved. Skim the solution as needed to keep the surface relatively clear. Remove from heat and let stand until cool. While the must is cooling, you can start your yeast. When the must is below 90°F pour it into a carboy, pitch yeast and seal with a airlock.

When the bubbles slow to one or two per minute, you should rack the mead into a clean carboy. You will want to have an airlock on the new carboy in case a secondary fermentation starts. Allow the mead to sit in the carboy in a cool place until it clears, or clears enough for you (I don’t mind cloudy meads, they have more character), and then bottle.

“A Most Excellent Metheglin” (Digbie, 68-69)

This recipe is a nearly period recipe for metheglin from Digbie. I will list both the original text as well as the redaction.

“Take one part of honey, to eight parts of Rain or River-water; let it boil gently together, in a fit vessel, till a third part be wafted, skimming it very well. The sign of being boiled enough is, when a New-laid-egg swims upon it. Cleanse it afterwards by letting it run through a clean Linnen-cloth, and put it into a wooden Runlet, where there hath been wine in, and hang in it a bag with Mustard-seeds by the bung, that so you may take it out when you please. This being done, put your Runlet into the hot Sun, especially during the Dog-days, (which is the onely time to prepare it) and your Metheglin will boil like Must; after which boiling take out your Mustard-seeds, and put your vessel well stopped into a Cellar. If you will have it the taste of wine, put to thirty measures of Hydromel, one measure of the juice of the hops, and it will begin to boil without any heat. Then fill up your vessel, and presently after this ebullition you will have a very strong Metheglin.” (Digbie, 68-69)

For my interpretation of this recipe, I will plan to produce a 5 gallon batch. I have chosen this number because of the specification to pour your must into a “Runlet”. A runlet (rundlet) is a cask or barrel that holds between 3 and 20 gallons (14.5 is most common). Since most brewers don’t have barrels, I’m opting to plan for a 5 gallon carboy.

5 pints Honey (approximatly 5 lbs)

5 gallons Water

1 tbl Mustard Seed

1 pint Juice of Hops (optional)

1 pkt Yeast (if using a clean carbouy)

Boil the water and honey until the starting volume is reduced by one third. Alternately, you can check if it has boiled enough by placing an egg in the must. The egg should be fairly round and as fresh as possible. If the egg floats then you have boiled it down far enough. In this situation, the egg is serving as a hydrometer.

After the boiling, filter the must by pouring it through a clean linen cloth into your carbouy (or cask if you have one). The original recipe specifies that it should be a container that had wine in it before. While this may seem odd, the reason behind it is that there would be residual yeast in the container and that is why the recipe doesn’t call for the addition of any. Since sanitation is a major concern for most modern brewers, I have included a pkt of yeast in the recipe. The yeast should be added once the must has cooled a bit so as not to kill the yeast. You should then place the mustard seed in a linen bag and hang it in the must so that it can be easily removed later. A string tied around the bag that runs out of the stopper works well for this. When you have everything in place, put your carbouy in a warm place to work.

When the initial fermentation is complete, remove the mustard seeds, securely seal the carbouy and move it to a cellar (or other cool, dark place). At this time, you can optionally add 1 pt of “Juice of Hops”, which I suspect is the result of boiling hops in water, to 30 pints of your Metheglin. Since 5 gallons  is the equivalent of 40 pints, you can either remove a portion  of the metheglin, increase the amount of hops to 1 1/3 pints, or call it close enough. Your metheglin will begin a secondary fermentation at this point. When that completes, you should have “a most excellent metheglin”.

“Damn Shame”: A non-alcoholic mead

There have been a number of occasions in which I wanted to serve mead but could not distribute alcoholic beverages. I rose to this challenge by creating the following recipes.  While the steps are very similar to making the “fully leaded” version, you do not add yeast. The omission of yeast means that there is no waiting period outside of allowing the must to cool before bottling.

Cinnamon
2 gallons water
4 cups honey
2 cinnamon sticks

Allspice
2 gallons water
4 cups honey
1 tsp whole allspice (crushed coarsly in a mortar & pestle)



Heat the water in a large pot. Once the water is hot, add the honey and stir until all of the honey dissolved. Continue heating the mixture but do not boil it. If you notice a scum floating on top, skim this off and discard it. I typically keep the mixture in low heat for about 20 minutes or so after mixing. Remove from heat and add the spices. Allow your brew to stand until it reaches room temperature and then strain and bottle it. Alternately, you could simply add all of the ingredients in at once and then heat it, but I prefer to do it in stages.

 

(Sibley)(Shapiro)(Griffith)

Bibliography

Digbie, Sir Kenelme, The Closet of the Eminently Learned Sir Kenelme Digbie Opened… s.l., London: E.C. for H. Brome, 1669. (Reproduction by Mallinckrodt Chemical Works 1967)

Griffith, Ralph T. H., Sacred Writings Volume 5 – Hinduism: The Rig Veda, New York, NY: Quality Paperback Book Club, 1992.

Krupp, Christina M and Bill Gillen, “Making Medieval Mead or Mead Before Digby”, The Compleat Anachronist 120 (July 2003) : .

Papazian, Charlie and G. Robert Gayre, Brewing Mead : Wassail! In Mazers of Mead, Boulder, CO: Brewers Publications, 1986.

Schramm, Ken, The Compleat Meadmaker, Boulder, CO: Brewers Publications, 2003.

Shapiro, Mark, “Alcoholic Drinks of the Middle Ages”, The Compleat Anachronist 60 (March 1992) : .

Sibley, Jane, “The CA Guide to Brewing”, The Compleat Anachronist 5 (March 1983) : .

 

A Brief Review of “The Phoenix Project”

Over the past couple of weeks, I have been listening to The Phoenix Project during my commute to and from work. Having finished it today, I decided to jot down some of my thoughts and share them with you.

The first thing I will warn you about is that if you have already read The Goal and understand how it can be applied to IT then you are not going to find any new, eye-opening concepts in this book. The plot follows a middle manager that finds himself being promoted to the head of a struggling department. Through determination and coaching from a elusive and wise mentor, he learns to identify and control work along with how to align it with the companies needs to become successful and rise to the top of their market. For the record, that is the plot for both books. I identified the similarities between the books within the first couple of chapters, but was amused when the main character’s mentor began to quote and reference The Goal while explaining that work is work and IT is no different from a manufacturing plant.

With my main criticism out of the way, I found the story to be a fairly realistic look at IT functions within an company. Misunderstandings and unreasonable demands result in repeated disasters and a generally oppressed and depressed atmosphere. I dare say the stage was set so well that I could not only draw parallels from my experience but was starting to have actual sympathy for the characters because I could see what was coming.

Overall, I think this is a good book for IT staff, managers, and all executives to read and gain an understanding of the processes that help work flow. For the IT staff in the trenches, the purpose of reading this book should be gain an understanding of why processes may need to change and to help acknowledge that their managers need help not resistance. The executive’s take away should be to identify things that were done poorly by the executives and the board in the book so that they can recognize and correct similar issues within their organization. For the last group I recommend this book to, I suspect the take away would be a number of ideas regarding how to implement changes and structure work for their teams and that there is some hope if you can get those above you and below you to listen to reason.

I would recommend this book over The Goal for use in IT organizations simply because it makes it easier to see how the concepts apply to IT while making a point of addressing the common responses from IT personnel. I believe this was the motivation of the authors and, if I am correct, they succeeded.

Redefining “QA”

I am not a fan of fussing about what to call something so long as everyone knows what is being discussed. With this in mind, I was surprised to find this note scrawled in my ideas notebook: “Replace ‘Quality Assurance’ with ‘Quality Advocates’.” Unfortunately, I don’t recall the source (I think I was listening to a Test Talks podcast) that made me jot it down.

Anyone who has been to a conference or followed the general flow of the testing community has heard that we need to change the expectations and image of testers such that we can become part of the team and establish a clearer understanding of what it is we do. There are a number of key items that are seen as needing to be changed for this to happen with a major one being the elimination of the “Quality Assurance” title, because that is not what a tester does. In time, we might be able foster some other reference for our career path, but currently QA is simply too ingrained to get rid of.

For those who aren’t sure what I’m talking about, I will try to summarize the thoughts on this topic. There is a stigma and attitude surrounding QA that threatens our usefulness. It tends to revolve around the idea that a tester is either a gatekeeper/enforcer or something akin to a goalie. This leads to friction between developers and testers because either the tester keeps refusing to let features be released as a result of “minor issues” or developers don’t bother checking their work and throw everything over to QA. For organizations with a healthier dynamic, testers and developers work closely together and take equal responsibility for the quality of the product. This is often accomplished by QA helping to define test scenarios early in development so the devs can check their work as they go. As the product/feature moves closer to completion, the tester can focus on integration and regression rather than basic functionality. In this respect, the tester’s role becomes one of keeping a focus on quality through the SDLC rather than trying to look for it at the end.

What I would propose is that rather than drop a perfectly good initialism, we should redefine it. By changing a single word, we can bring our common title/department inline with what our actual role is in the organization—Quality Advocate. Granted, this would make some titles a bit awkward (Sr. Quality Advocate Engineer) but that is ultimately a minor thing since the initialism is likely to remain in common use.

I would love to hear what others think of this option so please take some time to comment, email me, catch me on Twitter (personal or Academy) or G+ (personal or Academy, or in the #Testers Slack.