Garden Project Lifecycle: Requirements Phase
The Importance of Specifying Requirements
Before beginning any gardening project, you must have an idea of the final product or you might wander aimlessly with no direction, no vision, and no structure (though I do admit: there is a certain amount of joy and excitement involved in wandering aimlessly through a garden center). Having a set of requirements helps you stay focused and can help save time, money, and labor.
Requirements help you explore and understand what all stakeholders in the project really want/need. Most importantly, the requirements define the scope of the project. Do you ever have projects that just seem to grow bigger and bigger? They likely need to be scoped into smaller, separate projects. Requirements can also help with risk management. For gardening, you might assess risks associated with pests, diseases, or the environment (like drought or erosion). Understanding these risks can help you plan ahead to be more proactive versus waiting until a deer has consumed all of your plant foliage.
Lastly, requirements help us understand the boundaries of the project by defining the success criteria – the point at which can we say the project is ‘done’. Requirements provide focus for all the remaining project tasks. When you design, you design to meet the requirements. when you’re nearing the end of the project, you can reference the requirements to check-off everything that was satisfied, or you might identify a requirement that may have been missed. When maintaining the garden project (especially if you’re not the only stakeholder), the requirements can be referenced for ensuring consistency. If a plant dies, for example, you still have the requirements to remind you of any qualities or constraints (for example, so you don’t accidentally replace a rabbit resistant plant with something that is not rabbit resistant).
Types of Requirements for Garden Projects
In software engineering, there are 3 primary types of requirements: functional requirements; non-functional requirements, and constraints. For gardening, we can call these:
- features (our functional requirements) — the describe the core features that the garden must contain. For example, what types of plants? What type of lighting or water features?
- qualities (our non-functional requirements) — these are properties or qualities of the garden project. For example, what colors need to be included? Should the garden project attract pollinators? Should the plants be deer resistant or rabbit resistant?
- constraints — what restrictions do you have? For example, your hardiness zone is an environmentally imposed constraint. Your budget might be a constraint. Are there any specific plant varieties that must be included? Any colors to avoid? Any time restrictions?
Requirements should focus on what the garden project should contain. The specific plants or resources are later decided in the design phase (unless those plants/resources are stated as constraints in your requirements).
Eliciting Requirements
To start the requirements phase, you should involve all stakeholders — your significant other, for example. If you’re lucky, though, you get to make all the decisions for yourself! A few techniques for eliciting requirements for garden projects:
Interviews. If other stakeholders are involved, ask them questions — what features would they like to see? What colors? What specific plant varieties? You don’t have to include everything they say, but it helps you narrow-down your list of requirements. An important question to ask is, “How important is it that X is included?”
Observations & previous experiences. If you’ve created a garden space before, you might also use some of your prior knowledge and experiences to help detemine requirements for your current project. For example, you might know specific types of plants that don’t perform well in your area — apple trees, for example, might not be a wise choice to include in your garden if you don’t want to deal with fire blight. This is important for agile gardening — learn from previous experiences to improve your future experiences!
Wireframes/Drafts. Drawing sample drafts or outlines of the garden project can help you identify features. This is especially helpful if other stakeholders are involved — a visual drawing can help engage everyone in the conversation. Wireframes are also included as part of high-level design for gardening.
Identifying Features
Features should focus on what the garden should contain, not how those features are included or what specific varieties or brands must be used (if there are specific brands or varieties you want to use, state those as constraints). Any “how”-related statements are considered design details. For example, we might specify that a garden must include an irrigation system feature. However, we do not specify what kind of irrigation system here — instead, we consider different types of irrigation systems and chose a specific irrigation system during the design phase. We might eventually choose a micro-sprayer system, a drip-system, or just a hose-end sprinkler system, but they all satisfy the feature that says the garden must contain an irrigation system.
Example Features
An example set of features for a hypothetical pollinator garden:
- The garden must fill a 12-foot by 12-foot area.
- The garden must include perennials.
- The garden must include annuals.
- The garden must include a birdbath.
- The garden must be outlined with landscape edging.
- The garden must include a top dressing of 3-4 inches of mulch.
Identifying Qualities
Qualities are a bit easier to think about. Look back at your features, then decide whether there are any preferred qualities for each of those features. If you have rabbits in your yard, perhaps you want to only include plants that are rabbit resistant. This is where you want to state that quality so that you don’t forget about it later as you’re browsing the garden center.
Example Qualities
An example set of qualities or properties of the pollinator garden:
- The garden plants must attract butterflies.
- The garden plants must attract honeybees.
- The garden must include at least 3 plants that have red or purple blooms.
- At least 50% of plants must be perennials.
- Plants near the backside of the garden should be evergreen.
- Plants at the backside of the garden must be at least 6-feet in height at maturity.
Identifying Constraints
Constraints outlined restrictions on your project. Your pant hardiness zone and climate affect what types of plants can be successfully grown, so hardiness zone is an important constraint to consider. Constraints are also where you want to document specific plant varieties you know for sure absolutely must be contained in the garden. These plant varieties may constrain your choices of plants for the perennials feature, for example.
Example Constraints
An example set of constraints for a pollinator garden:
- The total cost of all components must not exceed $500.
- The garden must include plants that are suitable for USDA zone 7b.
- The garden must include plants that are suitable for 6+ hours of direct sunlight.
- The garden must include Wave® petunia variety ‘Tidal Wave Silver’.
- The garden must include a Proven Winners® Summerific® hibiscus variety ‘Evening Rose’.
Documenting Requirements
Documenting your requirements for a garden project is an important step for traceability and for keeping focused. With agile gardening, it’s ok for your requirements to evolve and change over time. Maybe your preferences change, or a new constraint is added after you see a new introduction plant at your local garden center. That’s ok! Make a note, update your requirements, and jot-down a quick explanation about what happened. Recording the date of the changes is also important for traceability and record-keeping.