Garden Project Lifecycle Phases
The software development lifecycle contains many phases for building software. The core phases of the software lifecycle typically include requirements, design, implementation, testing, and maintenance. Those phases can also be adapted for other domains, like gardening! Here’s my definition of the phases of my proposed garden project lifecycle:
Below, I give a brief overview of each of these phases and examples of gardening tasks that might be completed in each.
Garden Project Lifecycle Overview
Garden projects involve multiple types of requirements to address your overall goals. For example, if your goal is to create a pollinator garden, then your garden features might include annuals, perennials, and a water feature like a birdbath. The garden might also need to satisfy several qualities — for example: yellow must be a dominant color, plant varieties must be disease-resistant, and at least 50% of the plant must be perennials. Lastly, the garden may have constraints, such as having a total cost less than $200 or that the “Miss Huff” lantana variety must be included. Together, these features, qualities, and constraints form your garden project requirements.
Designing the garden project is, perhaps, the most exciting phase of the lifecycle. In this phase, you must design the layout of the garden, determine the placement of features, and maybe create alternate designs. During the design phase, make sure all of your requirements have been addressed — including all features, all qualities, and all constraints. It’s ok if your requirements change — it’s cheaper to address these changes now than after everything has been planted. Creating several alternate designs is useful for understanding tradeoffs and selecting which one design you prefer most. For plants, this is where you should research plant varieties and start making some decisions about specific plants varieties you want and specific tools you will need.
Implementation can be the most painful part, especially if it’s hot and humid outside. During this phase of the garden project lifecycle, you actually implement your design. Buy the plants and other materials based on the specific varieties and brands you chose during the design phase. You might have to make substitutions, but that’s ok as long as you satisfy your constraints from the requirements phase. Plant everything according to your design, and keep an eye out for any issues that need to be addressed immediately (like those aphids you didn’t see on a plant until you got home).
The testing phase of software development is often coupled with the implementation phase. Testing helps ensure the software works as expected. As an alternative to “testing phase”, we can call this the verification & validation phase of the garden project lifecycle — let’s check to make sure the project output fulfills our expectations. Make sure you accomplished your goal — if you wanted to create a pollinator garden, did you actually create a pollinator garden, or did you create a vegetable garden? Make sure you created the correct desired result! Next, go back to the requirements to ensure you haven’t missed anything — check each requirement, including all the features, qualities, and constraints. This phase is also when you can ensure you planted everything correctly according to your design plan. If there are any deviations, correct them or address those issues now.
Maintenance
Maintenance can be tedious, especially if there are issues related to weather (drought vs flooding), insects, or disease. For some types of garden projects, maintenance may be seasonal — fertilize in spring, spray for diseases in summer, prune in fall, and clean-up in winter. It’s often useful to document your maintenance tasks, whether in a journal or calendar. Taking notes and journaling is an important part of reflection and continuous improvement.