December 11, 2019 David Hallinan Guides, Industry Step Your Vocab Up! Agile Methodology Edition: Part 2 Photo by Brett Jordan via Unsplash “You gotta talk the talk before you can walk the walk” A key factor in your success as a Product Manager is the ability to insert yourself into any department in your organization and eloquently communicate your thought processes. Time in and time out, we have found that a major hindrance in a PM’s ability to do their job well is being unable to properly speak with their engineering team, specifically. We’ve spent long hours curating a list of terms for our Kloudless SaaS Integration Glossary, and we believe that product managers everywhere can benefit from this extensive list of vocabulary words. So, for the sake of helping you get on the same page as the people you work closely with, we are glad to announce our new monthly blog post, Step Your Vocab Up. On the last Wednesday of each month, we will do our best to help you expand your vocabulary on different aspects of software development to aid in becoming the best Product Manager you can be. Some of the upcoming topics we’ll cover will be authentication, API architecture, events, and agile methodology. So sit back, grab a comfy seat, and let’s jump into the first edition of our new series with a dive into part one of all things Agile Methodology! Method To Your Madness Agile methodology is often thought of as a new concept in tech, but it’s history actually dates back to the mid-1990s when a number of lightweight software development methods evolved in reaction to the prevailing heavyweight methods that critics described as overly regulated, planned, and micro-managed. The actual term ‘Agile Software Development’ didn’t materialize until 2001 when 17 of the leading minds in software development met to plan, and subsequently published, the Manifesto for Agile Software Development. The concept of Agile Software Development has had many iterations since it’s birth, but the core concepts of its original important points remain. Those values are as follows: Individuals and Interactions over processes and toolsWorking Software over comprehensive documentationCustomer Collaboration over contract negotiationResponding to Change over following a plan So, with the aim of helping you to better understand many of the terms related to agile methodology, we’ve got some fresh new definitions to help you out. The following are hand-picked terms from our glossary that we feel are important for any product manager beginning their application’s product roadmap: Feature Driven Development: Feature Driven Development (FDD) is an agile framework that, as its name suggests, organizes software development to focus primarily on features. Features in the FDD context, though, are not necessarily product features in the commonly understood sense. They are more akin to user stories in Scrum in this framework. In other words, “complete the login process” might be considered a feature in the Feature Driven Development (FDD) methodology, and features should be organized based on necessity and importance to the user. Iteration: In agile software development, iteration refers to a set amount of time reserved for development. Typically an iteration lasts for 1-2 weeks, however, some may go as long as a month. Most agile development teams agree on the length of their iterations and proceed to operate based on that decided length. JIRA: Jira is a heavily-utilized project management tool developed by Atlassian, an Australian software company. Jira is widely used by agile development teams to track bug-fixes, stories, and epics, as well as the designation of tasks to software developers. Kanban Board: A Kanban board is a method of visually arranging and tracking a team’s workflow, commonly used in agile project management. Kanban boards consist of columns representing various stages of progress, such as “not started,” “in review,” or “icebox.” Under these columns, the team adds cards (generally Post-it notes) describing discrete tasks, and moves these cards to their appropriate columns, so everyone has a clear view of the team’s progress on user stories. Pair Programming: Pair programming is an agile software development practice in which two programmers team up at one workstation to maximize efficiency. With pair programming, one of the two programmers (the driver) writes the code while the other watches and tells the other how to proceed and what to write (the navigator). The two programmers switch roles frequently. Product Requirement: A product requirements document (PRD) is a document used in the product development process to communicate what capabilities and functionality absolutely have to be included in a product release to the development and testing teams. This document is typically used more in waterfall environments where product definition, design, and delivery happen sequentially, but may be employed for use in an agile setting as well. Scrum Master: The Scrum Master on a scrum team defines who does what at what time. They maximize team productivity while keeping a bird’s eye view of each sprint’s objectives. Scrum Meeting: A scrum meeting is any meeting among members of the scrum team. These include but are not limited to retrospectives, standups and release planning meetings. Sprint: A sprint is a period of two weeks in which teams complete specified projects. A spring typically starts with a kick-off meeting in which team members outline the tasks, followed later by a meeting to review the work completed. Waterfall: Waterfall is a method that refers to long-term product development. It is characterized by a sequential series of stages such as conception, initiation, analysis, design, construction, testing, implementation, and maintenance. The key difference from agile is that, in a waterfall development environment, once the work for a stage has been completed, the team cannot turn back and reiterate; development must move on to the next stage. Word Up! While this should clear up some of the more popular terms, by no means is this everything you need to know in order to understand everything agile. We suggest you dive deeper into each term outlined in this article and research popular opinions on the implementation of each. The more you learn about these important terms, the better off you will be when it comes to orchestrating the building of your product. We’re not done yet, though! We’ve put together a comprehensive list of over 300 terms in our new SaaS Integration Glossary for the sake of keeping you as informed as possible on everything integration related. Head over now to start beefing up your vocabulary!