We at Propel Ventures are fully embracing the power of Generative AI to revolutionize our work processes. With great success in our marketing and Product Strategy teams, we are now embarking on an exciting journey to integrate Generative AI into our software development lifecycle. This comprehensive blog series aims to share our one-of-a-kind experiences, highlighting how these advanced tools can significantly enhance productivity and quality across all stages of development.
To begin our exploration, we carefully identified the key stages of development – discovery, planning, design, development, testing, deployment, and support – and pinpointed where AI could bring about transformative changes.
This first blog focuses on our experiments with user story generation.
Experiment 1: The Quest for AI-Generated User Stories
We launched our first experiment with a focus on user story generation. The goal was to automate the creation of detailed, actionable user stories that could guide our development teams more efficiently.
Approach: Using ChatGPT, we initiated a dialogue about our project, generating a series of questions. Through this interactive process we crafted a comprehensive one-pager that encapsulated the essence and scope of the project. This document became the foundation for breaking down project milestones and deriving specific tasks. Our ultimate ambition was to transform these derived tasks into meaningful, actionable user stories that could guide our development teams more efficiently.
Challenges and Lessons Learned: This process was not that successful. We observed that the quality of outputs varied as the interaction with the AI became longer. This necessitated frequent redirection to keep the AI on track.
The process itself was quite labor-intensive, requiring constant tweaking of the conversation to achieve desirable results. In comparison to the traditional method of hand-writing user stories, this approach did not yield a satisfactory return on effort. Additionally, the single conversation was highly focused on a specific purpose and could not be reused to gain other insights about the project.
Nevertheless, the experiment provided us with valuable insights and hints as to the next experiment.
Experiment 2: Customisation for Greater Precision
Building on our initial learnings, we ventured into our second experiment with a more tailored approach.
Approach: We developed a customised GPT specifically designed for our project using OpenAI's ChatGPT Builder. This model was preloaded with detailed project information, including a one-pager, milestones, and a user story template. The aim was to streamline the AI's understanding and enhance the relevance of its outputs.
Outcomes: The outcomes were remarkably improved. The customized GPT model efficiently produced user stories that were not only precise but also contextually relevant. The setup process required much less effort and yielded measurable gains in productivity. This approach not only accelerated the process and improved the quality but also unlocked new possibilities, such as creating summaries that are valuable in client communications.
Reflecting on the Experiments
Our journey with these two experiments highlighted the importance of experimentation and customisation in leveraging Generative AI tools.
- Adaptability: The ability of AI to adapt to the specific needs of a project is crucial. While generic AI tools offer a starting point, customisation is key to achieving precise and relevant outcomes.
- Continuous Learning: The process is iterative. Each interaction with the AI provided new insights, helping us refine our approach progressively.
- Balancing AI and Human Input: Effective use of AI in software development requires a balance between automated processes and human oversight. AI excels in handling large volumes of data and generating initial drafts, but human expertise is essential for guiding these outputs to align with specific project goals.
The Road Ahead
Our experiments with Generative AI in software development have been enlightening. While challenges remain, the potential benefits are clear. As we continue to integrate these tools into our workflows, we aim to further refine their application, ensuring they contribute meaningfully to each stage of the software development lifecycle.
Next in the Series
Stay tuned as we delve deeper into other stages of development, sharing our experiences and learnings in using Generative AI for development, testing, and beyond.