Farm-to-Table and the Agile Process: Who Knew?
“Hi team, let’s all chat about something I’ve noticed.”
This is the voice and mindset of a steady yet transparent Software Tester ready to suggest an important amendment to the team’s process.
We (Quality Assurance) might be perceived by some as disrupting the process of “code to production” much like the “Farm-to-Table” concept when pointing out any issues during planning and execution. Software or Quality inspectors, if you will, must dissect (no pun intended) the code prior to reaching our consumers and debone the process to ensure all requirements – or in Agile terms, “user stories” – are met. An easy feat? Not at all. A necessary one? Yes! It is our eye for all things misaligned that is crucial to the quality of a product, even if that means incorporating a few extra steps with a side of constructive feedback.
Like many of you, I like to eat – and eat well. There is a very structured process to getting the food we love to our tables. However, if we want our food to maintain the highest standards, to be in season, organic and local, a farm-to-table process is best. Companies delivering software and wanting their customers highest approval will find that the adoption of Agile along with a strong QA is best. Like Farm-to-Table, the Agile process ensures all work is completed in-season (within a sprint). Who enforces or oversees this process within an Agile team? The answer to that question is the team. There are key roles we won’t define today, but the Quality Assurance Tester should always find themselves in process observation mode while testing. The tester should be empowered to let the team know when protocol has been broken or if adjustments are needed. An Olenick Quality Assurance Tester can be a very hybrid and all-consuming role. We are not only involved in the technical process, but we are well aware of every step necessary to achieving a successful end state. Let’s take a look at how two very different systems share similar operating behaviors in a quest for a very high-quality product:
Farm-to-Table and Agile Process Parallels
Raising the Animal or Harvesting Produce: Restaurants adopting true Farm-to-Table must find themselves working in-season with local farms. The relationship between farmers and chefs become very close as they work together. This could also mean menus may change regularly based on nature.
– vs –
User Stories (Requirements) and Team Dynamic: Organizations with teams delivering complex time sensitive software within an Agile process will find themselves working within an iteration or sprint: an agreed upon length of time to get the work completed. Teams composed of strong QA Engineers, Developers, Scrum Masters, and Requirements Gatherers will find themselves in a much closer relationship with the users much like the farmers and chefs. Due to this process and similar to the ever-changing menus, requirements could get updated or adjusted based on conversations or further research.
– and –
Picking the Produce and Processing the Meat: Produce must be handled with care, the less bruises the better quality. Also, time matters when preserving the nutrients of produce after it’s been harvested. This all takes place before it is packaged, boxed, and shipped to restaurants and stores. Meat must be processed and graded using a certain system in order to be classified as farm-to-table. The USDA certifies certain beef cuts and poultry grades.
– vs –
Development and Testing: Not exactly the same system but…sort of. Developers must remove or make changes to configurations in the database and implement code according to the standards laid out by the user stories. In this case, I like to think of the Tester as the USDA – strolling in with plastic gloves (or not, I personally would wear gloves) inspecting the very delicate work of the Engineer. The Tester would run every query related to the Developer’s configuration changes in the backend and analyze the actual results from processes performed in the newly implemented UI. It is at this time the Tester will grade what has been produced before it is distributed – or shall I say – deployed to production.
Farm-to-Table and the Agile process could be viewed as “trends”, “buzzwords,” or a “movement” which many organizations deem unnecessary. The reality is that Farm-to-Table was created because there was a need. People decided that food grown within their community with minimal transportation maintains more nutrition than processed food transported from afar. The Agile methodology was created to eliminate time to market by releasing smaller more pertinent changes to the customer which made expectations clear, a more stable product, and saved the company money. Prior to Agile, organizations worked on extensive software development projects that would fail to complete on time causing a huge hit to the budget. Both processes were created to fulfill a need and heighten the user experience by producing a product that leaves the customers feeling secure.
Every highly valued method demands an inspector to keep the process honest and product optimized. Olenick Quality Assurance Testers are the USDA for organizations looking to maintain or improve their software delivery process. Our QA Testers are multifaceted and equipped to protect the integrity of the software project. Olenick Quality Assurance Testers will uphold the standards of Agile, get involved in requirements early in the process, promote sustainability, and locate and find solutions for gaps in the process – all while making sure users receive a product of the highest quality within season.