Hexaware Strengthens Data Capabilities with Acquisition of Softcrylic. Know More

Engineering the Agile Way: The Art of Prompt-Driven Requirement Writing

Digital & Software Solutions

July 13, 2023

 

In the world of software development, requirements represent the compass guiding the delivery to its ultimate destination. Defining clear, concise, and comprehensible requirements can greatly enhance the efficiency of the Agile development process. Anyone that has worked in an Agile team knows firsthand that productivity is lost when the team needs to stop and clarify a user story or acceptance criteria. A recent approach that is gaining traction in the industry is “Prompt Engineering,” which involves writing requirements as well-defined prompts that direct the course of Agile development. In this blog, we will explore this novel method, examining its merits and providing tips on implementing it.

Understanding Prompt Engineering

Prompt engineering is a method of crafting queries to Generative AI that provides clear directions on what needs to be done in a task or a project. It is a more focused and fine-tuned approach to writing requirements. Instead of vague or high-level specifications, prompt engineering allows you to define specific objectives that can help guide development with more precision.

Each prompt can be seen as a mini user story that guides the developer on what to build while at the same time providing sufficient context about why and how it should be built. By turning each requirement into a prompt, you create an actionable task, improving the clarity of instructions and thereby aiding in creating a more streamlined and effective Agile process.

The Merits of Prompt Engineering for Agile User Stories

Product owners frequently face limitations in their capacity to generate an adequate number of user stories for their product backlog due to bandwidth constraints. While no tool can write your requirements with enough detail to be considered complete, leveraging large language models can dramatically cut your time to get requirements to a basic level. The exercise of creating effective prompts and developing a library of reusable prompts can be very effective in helping the product owner think about what they want more effectively. It helps:

Clarify Objectives: Prompt-driven requirements convey the exact expectation from a given task. By being more directive, they ensure that the developers understand what exactly is expected from them.

Encourage Communication: A well-written prompt encourages further discussion and dialogue. It can open avenues for team members to ask clarifying questions, ensuring everyone is on the same page.

Reduce Ambiguity: Prompts inherently are less ambiguous as they strive to be specific, actionable, and directive. This reduces the chances of misunderstanding and enhances productivity.

Foster Creativity: While it might seem counterintuitive, more explicit directions can foster creativity. Developers can innovate on the “how,” as the “what” is clearly defined.

Implementing Prompt-Driven Requirement Writing in Agile Development

Identify the Outcome: Start by clearly identifying what you want the result to be. The desired outcome should be the guiding star of your prompt. Provide Context: While your prompts should be directive, they should not be devoid of context. Provide the necessary background to help your team understand the bigger picture.

Iterate on Feedback: Once you have written a prompt, solicit feedback from your team. Use their input to improve and refine your prompts.

Use Tools: Tools like Jira, Asana, or even Slack can be leveraged to maintain, share, and keep track of these prompts.

For example, I used the prompt: “Write an Agile user story for a user that wants to run a financial report.”

The results from ChatGPT 4:

As a financial analyst,

I want to run a financial report

so that I can analyze the company’s financial performance.

Acceptance criteria:

The report should include the company’s income statement, balance sheet, and cash flow statement.

The report should cover a specific time period, which can be specified by the user.

The report should display the financial data in a clear and organized format.

The report should be generated in a timely manner, taking into account the volume of data.

The report should be exportable in PDF or Excel format.

The report should be accessible only to authorized users with appropriate permissions.

The report should accurately reflect the financial transactions and calculations.

The report should include relevant metrics and ratios for financial analysis.

The report should be customizable, allowing users to select specific accounts or financial categories to include or exclude.

The report should be stored securely and be retrievable for future reference.

Additional notes:

The financial report should be generated using the company’s designated financial reporting tool.

The user should have the necessary access and privileges to run the financial report.

The report should adhere to any applicable financial regulations and accounting standards.

The user should be able to schedule recurring runs of the financial report if needed.

As a development team, we will prioritize delivering the core functionality of generating the financial report, ensuring data accuracy, customization options, and security measures.

You can easily see that with a little effort, product owners can significantly improve the quality and volume of their product backlog so the team can take it for further refinement, solution design, and other clarification processes.

I must add a note here for my favorite topic in backlog refinement, which is the importance of establishing a shared agreement on the Definition of Ready (DOR) among the entire team. The lack of discipline in adherence to a good DOR is a major contributor to development friction. When user stories align with a well-defined DOR, it minimizes friction and enhances both productivity and predictability.

To sum up, prompt engineering can be a powerful tool in Agile development, driving clarity, fostering communication, and reducing ambiguity. By using well-crafted prompts to write requirements, you can better guide your development process and enhance the efficiency of your Agile team. Give it a try!

About the Author

Neil Fox

Neil Fox

Neil’s background contains more than 35 years of technology leadership. The first chapter of Neil’s career was spent in software commercial product development companies including TRW, MRI, Lawson Software, and Red Hat. For the past 15 years, Neil has served as CTO and Chief Innovation officer for several IT services firms. During this time, he has led technology strategy, adoption and culture change for some of the world-leading enterprise organizations. He is seen as a thought leader and partner to Hexaware’s leading clients.

Read more Read more image

Related Blogs

Every outcome starts with a conversation

Ready to Pursue Opportunity?

Connect Now

right arrow

ready_to_pursue
Ready to Pursue Opportunity?

Every outcome starts with a conversation