rfp_to_story / Templates.py
Darpan07's picture
Update Templates.py
ab3c5eb verified
raw
history blame contribute delete
No virus
9.99 kB
# ******* THIS FILE CONTAINS ALL THE TEMPLATES USED IN APP.PY ***********
bot_template = """As a highly intelligent and powerful chatbot, your personality is a business analyst's responsibility.
Your designated name is RFP Bot. Initiate the conversation with a warm greeting only when the user asks something for the first time. Subsequent interactions can skip the greeting.
Your generated responses should be comprehensive, utilizing pointers when necessary for an enhanced user experience. Provide detailed answers, and if the user's input isn't related to personality, respond politely with an apology, encouraging them to ask questions related to your established personality. Keep your responses concise and accurate, seeking additional information from the user when required.
Incorporate the provided context and any relevant information from the chat history into your responses. If the user's input is related to the context or question, articulate your answer accordingly.
{context}
Human: {input}
Assistant:"""
user_story_template = """Given the project details with the following parameters:
**Project Name:** {project_name}
**RFP details:**
{rfp_details}
Analyze the given RFP details and identify the high-level epics or themes for the project. For each epic, break it down into distinct features, and further decompose each feature into the smallest possible requirements that adhere to the INVEST principles (where I refers to Independent (not dependent on other work deliverables), N refers to Negotiable (allows for best practices), V refers to valuable (provides working functionality), E refers to Estimable (allows clear work estimates), S refers to Small (sized for the team's sprint), T refers to Testable (can be measured to ensure it meets customer expectations)).
Craft a single user story for each requirement using the format below:
"As a [specific user role or stakeholder], I want to [perform one clear, distinct action or functionality], so that [articulate a precise business value or benefit]."
These user stories should encapsulate standalone, testable units of work that embody distinct functionality. Each story must represent a unique and essential aspect of the system, ensuring clarity and avoiding redundancy. Keep the focus on a singular responsibility or objective in each user story, ensuring its manageability and testability. Avoid using conjunctions like "and" or "or" in the "I want to" clause, as they often indicate multiple functionalities within a single story.
**Examples**
1. Epic: User Authentication and Account Security Enhancements
1. Feature 1: User Registration
- Story 1:
- As a user, I want to provide my basic information, such as name and email address during sign-up, so that the platform can create a personalized account for me.
- Story 2:
- As a user, I want the sign-up form to include a CAPTCHA verification step, so that the system can prevent automated bots from creating fake accounts.
- Story 3:
- As a user, I want the sign-up form to include optional fields for additional profile information, so that I can customize my account based on my interests.
- Story 4:
- As a user, I want the platform to clearly communicate its data usage and privacy policy during the sign-up process, so that I can make an informed decision before creating an account.
2. Feature 2: User Authentication
- Story 1:
- As a registered user, I want to log in securely with my credentials, so that I can access personalized account information.
- Story 2:
- As a registered user, I want the login page to feature a "Forgot Password" link, so that I can easily initiate the password recovery process if needed.
- Story 3:
- As a user concerned about account security, I want the platform to send a notification email whenever my account is accessed from a new device, so that I can be aware of any potential unauthorized access.
- Story 4:
- As a returning user, I want the option to enable two-factor authentication (2FA) for an extra layer of security during the login process, so that my account remains protected.
- Story 5:
- As a user striving for a seamless experience, I want the platform to offer a "Stay Logged In" option during login, so that I don't have to enter my credentials every time I revisit the site.
- Story 6:
- As a user with multiple devices, I want the ability to log out remotely from any active sessions through the account settings, so that I can maintain control over my account access.
3. Feature 3: Account Security Enhancements
- Story 1:
- As a security-conscious user, I want the platform to prompt me every 15 days to update my password and provide guidance on creating a secure password to enhance the overall security of my account.
- Story 2:
- As a user who values privacy, I want the platform to automatically log me out after 5 minutes of inactivity, ensuring that my account is secure even if I forget to log out manually.
- Story 3:
- As a user concerned about account recovery, I want the platform to offer email verification and phone number verification account recovery options, to ensure I can regain access to my account if needed.
"""
summary_template = """Given the project details with the following parameters:
**Project Name:** {project_name}
**RFP details:**
{rfp_details}
As a business analyst, analyze the given RFP details and give the detailed summary of the project.
"""
convert_json_template = """
Given the project user stories:
**user_stories:** {user_stories}
Create a JSON representation that captures the structure and details of each epic and feature, including their respective stories. Ensure that the JSON format is well-organized, with clear hierarchies for epic,features and stories.
Example structure:
{json_structure}
"""
estimations_template = """
Given the project details with the following parameters:
**Project summary:** {project_summary}
**User Stories:** {user_stories}
You are the project manager responsible for overseeing the development team. As the project manager, your task is to analyze the given Project summary and user stories for a better understanding of project requirements and assess and estimate the effort required for individual User Stories. Your development team consists of {tech_leads} Tech Lead, {senior_developers} Senior Developers, and {junior_developers} Junior Developers. Utilize t-shirt sizing (XS, S, M, L, XL) as per the provided guidelines to estimate the effort for each user story. Additionally, offer a brief rationale for each estimate, emphasizing the project scope and resource requirements based on the team composition. your generated output should be on JSON representation that captures the structure and details of each epic and feature, including their respective stories with name, description estimates, efforts, and rationale. Ensure that the JSON format is well-organized, with clear hierarchies for epic, features, and stories.
Guidelines for Estimation:
* XS: Signifies an already implemented feature with an effort range of 1-3 days, justified by minimal effort owing to the feature's existing presence.
* S: Encompasses easily testable scenarios, known solutions, and a small scope, with an effort range of 4-8 days. Justification is rooted in moderate effort due to external dependencies.
* M: Involves logic implementation and the integration of two services, with an effort range of 9-15 days. The rationale revolves around a moderate to high effort level attributed to logic intricacies and integration tasks.
* L: Encompasses extensive data modeling, uncertainty, and a large scope, with an effort range of 16-28 days. High effort is justified by the inherent complexity of the task.
* XL: Encompasses scenarios with multiple external platforms, new technologies, and comprehensive integration, requiring an effort range of 29-45 days. Very high effort is substantiated by the intricate nature of the task.
* XXL: Indicates scenarios where estimation is not feasible.
"""
roadmap_template = """
Given the project details with the following parameters:
**Project Input:** {project_input}
As a Business Analyst (BA), your task is to use the provided project input to generate a roadmap with two phases. Organize features based on their logical dependencies and estimated effort, with a focus on prioritizing critical features early in the roadmap.
Action Items:
1. Identify and prioritize critical features for a solid foundation.
2. Evaluate opportunities for parallelization to optimize the roadmap.
3. Balance functionality and time-to-delivery, aligning with stakeholder expectations.
4. each story has efforts average time based on that calculate the total time for each milestone and total tome for each feature
your generated output should be on JSON representation that captures the phases which contains name, and milestones with milestone name, totalTime, features with name,rationale for prioritization and effort.
"""
json_structure = {
"epics": [
{
"name": "App Performance and Efficiency",
"features": [
{
"name": "Fast and Zero Load Time",
"stories": [
{
"name": "Story 1",
"description": "As a user, I want the app to load quickly with zero load time, so that I can access news content efficiently.",
},
{
"name": "Story 2",
"description": "As a user, I want the installation process of the mobile app to be quick and hassle-free, so that I can start using the app immediately after download without any complications.",
},
],
}
],
}
]
}