Task 6
Q1:
https://docs.google.com/document/d/1L0xOJpsJanp3MtV8P_K2knpwQBas_ubMh94_t7U3dpo/edit
https://docs.google.com/document/d/1sy8rNvUpr1VFZJN8VgZ0rtFHWFgD6ABuAmRRuN5z9uk/edit
Epic 1: Authentication and User Management
User Stories:
1. As a customer, I want to be able to register for an account with my personal details securely.
2. As a customer, I want to be able to log in to my account using my username and password.
3. As a customer, I want to be able to reset my password if I forget it.
4. As a customer, I want to be able to update my profile information such as email address and phone number.
5. As a customer, I want to be able to securely log out of my account.
Epic 2: Account Overview and Management
User Stories:
1. As a customer, I want to be able to view my account balance and recent transactions.
2. As a customer, I want to be able to view my account details such as account number and account type.
3. As a customer, I want to be able to download my account statement.
4. As a customer, I want to be able to update my contact information linked to my account.
5. As a customer, I want to be able to close my account if necessary.
Epic 3: Fund Transfer and Payments
User Stories:
1. As a customer, I want to be able to transfer funds between my own accounts.
2. As a customer, I want to be able to transfer funds to other accounts within the same bank.
3. As a customer, I want to be able to transfer funds to accounts in other banks securely.
4. As a customer, I want to be able to set up recurring payments for bills.
5. As a customer, I want to be able to make one-time payments to merchants or individuals securely.
Epic 4: Transaction History and Reporting
User Stories:
1. As a customer, I want to be able to view my transaction history for a specific period.
2. As a customer, I want to be able to filter my transaction history by transaction type.
3. As a customer, I want to be able to export my transaction history in CSV or PDF format.
4. As a customer, I want to be able to request for account statements for specific periods.
5. As a customer, I want to be able to receive alerts for specific transaction types.
Epic 5: Security and Privacy
User Stories:
1. As a customer, I want my transactions and personal information to be encrypted and secure.
2. As a customer, I want to receive notifications for any suspicious activity on my account.
3. As a customer, I want to be able to set up multi-factor authentication for added security.
4. As a customer, I want the option to enable biometric authentication for logging in.
5. As a customer, I want to be able to report any security concerns or fraudulent activities to the bank.
QA2:
Backlog Creation:
Task 1: Develop User Registration Functionality
Implement user registration form UI
Create backend logic for validating user registration inputs
Store user registration data securely in the database
Implement email verification for user registration
Task 2: Implement User Login Functionality
Design and develop login page UI
Implement backend authentication logic
Integrate with authentication service for secure login
Test login functionality with various scenarios (valid credentials, invalid credentials, etc.)
Task 3: Develop Password Reset Feature
Design and develop password reset UI
Implement backend logic for password reset functionality
Send password reset link securely via email
Test password reset functionality thoroughly
Task 4: Implement Profile Update Feature
Design and develop profile update form UI
Implement backend logic for updating user profile information
Validate and sanitize user inputs to prevent data manipulation
Test profile update functionality with various scenarios
Task 5: Develop Account Balance Display
Design and develop UI to display account balance
Retrieve account balance securely from the database
Ensure account balance is updated in real-time
Test account balance display across different devices and screen sizes
Task 6: Implement Transaction History Display
Design and develop UI to display transaction history
Fetch transaction data from the database securely
Paginate and display transaction history for better user experience
Test transaction history display with different types of transactions
Task 7: Develop Fund Transfer Functionality
Design and develop UI for fund transfer form
Implement backend logic for fund transfer process
Validate and verify fund transfer inputs (e.g., account number, amount)
Test fund transfer functionality thoroughly with different scenarios
Task 8: Implement Payment Functionality
Design and develop UI for making payments
Integrate with payment gateway for secure transactions
Implement backend logic to process payments and update transaction records
Test payment functionality with different payment methods and amounts
Task 9: Enhance Security Measures
Implement encryption for sensitive data storage
Integrate with security protocols for secure communication
Implement two-factor authentication for added security
Conduct security testing and vulnerability assessments
Task 10: Conduct Comprehensive Testing
Perform unit testing for each module/functionality
Conduct integration testing to ensure components work together seamlessly
Perform regression testing to check for any unintended side effects
Conduct usability testing to gather feedback on user experience
Task 11: Prepare Documentation
Document system architecture and design decisions
Write user manuals and guides for using the netbanking app
Document APIs and integration points for future reference
Ensure all documentation is comprehensive and up-to-date
QA3:
Sprint planning for the development of the net banking app, assuming a sprint length of 2 weeks:
Sprint 1 (2 weeks):
:Aim: Implement basic user authentication and account management features.
Tasks
1. Design and implement user registration form
2. Implement backend logic for user registration
3. Create frontend login page
4. Implement login authentication
5. Develop password reset functionality
6. Design account overview page
7. Fetch and display account balance
8. Display recent transactions
9. Add functionality to download account statement
10. Allow users to update contact information
Priority: High
Sprint 2 (2 weeks):
Aim: Implement fund transfer functionality and enhance account management features.
Tasks:
1. Implement fund transfer between own accounts
2. Enable fund transfer to other accounts within the bank
3. Integrate external bank APIs for interbank transfers
4. Setup recurring payments functionality
5. Implement one-time payment feature
6. Implement account details display
7. Develop account closure feature
Priority: High
Sprint 3 (2 weeks)
Aim: Focus on transaction history and security features.
Tasks:
1. Design transaction history page
2. Fetch and display transaction history
3. Implement filtering options for transaction history
4. Enable export of transaction history
5. Implement request for account statements
6. Setup alerts for specific transaction types
7. Implement data encryption for transactions
8. Setup notifications for suspicious activities
9. Integrate multi-factor authentication
Priority: High
Sprint 4 (2 weeks)
Aim: Complete remaining security features and address any pending issues or enhancements.
Tasks:
1. Enable biometric authentication
2. Develop reporting feature for security concerns
3. Bug fixes and testing
4. User acceptance testing (UAT)
5. Performance optimization
6. Documentation and user manual preparation
Priority: High
This sprint planning ensures that each sprint has a clear focus and delivers tangible features or improvements to the net banking app. Tasks are prioritized based on their importance and dependencies.
QA4:
Here's how Sprint Execution might look for the example sprints provided:
Sprint 1 Execution: Develop login and account management functionality
- Task 1: Design and implement user registration form
Developers design the form UI and implement backend validation logic.
QA tests the form to ensure it captures required user details and validates inputs.
- Task 2: Implement backend logic for user registration
Backend developers create API endpoints to handle user registration requests.
Unit tests are written and executed to verify the registration logic.
- Task 3: Create frontend login page
Frontend developers design and implement the login page UI.
Integration with backend authentication services is established.
- Task 4: Implement login authentication
Backend developers implement authentication logic using username/password.
Integration tests are conducted to ensure successful authentication.
- Task 5: Develop password reset functionality
Developers create a password reset flow, including UI and backend logic.
QA verifies that users can reset passwords securely.
- Task 6: Design account overview page
UI/UX designers create wireframes and designs for the account overview page.
Feedback is gathered from stakeholders and adjustments are made as necessary.
- Task 7: Fetch and display account balance
Backend developers integrate with banking APIs to retrieve account balance data.
Frontend developers display the balance information on the account overview page.
- Task 8: Display recent transactions
Backend developers fetch recent transaction data from the database or external APIs.
Frontend developers present transaction history in a user-friendly format.
- Task 9: Add functionality to download account statement
Developers implement a feature to generate and download account statements.
QA ensures that statements are generated accurately and securely.
- Task 10: Allow users to update contact information
Developers create forms for users to update their contact details.
Validation is applied to ensure data integrity.
Throughout Sprint 1 Execution, daily stand-up meetings are held to discuss progress, any obstacles encountered, and plans for the day. At the end of the sprint, a sprint review meeting is conducted to demo completed functionality to stakeholders and gather feedback. Any unfinished tasks are carried over to the next sprint, and the team reflects on ways to improve their process during the sprint retrospective meeting.
QA5:
Sprint Review: Sprint 1
During Sprint 1, the focus was on implementing basic user authentication and account management features. Let's review the progress made:
1. Implemented user registration form: Completed
Users can register for an account with their personal details.
2. Backend logic for user registration: Completed
Backend functionality to process and store user registration data.
3. Created frontend login page: Completed
Users can access the login page to enter their credentials.
4. Implemented login authentication: Completed
Users can log in securely using their credentials.
5. Developed password reset functionality: Completed
Users can reset their password if forgotten.
6. Designed account overview page: Completed
Initial design for displaying account balance and recent transactions.
7. Fetched and displayed account balance: Completed
Users can view their account balance upon logging in.
8. Displayed recent transactions: Completed
Users can see their recent transactions on the account overview page.
9. Added functionality to download account statement: Completed
Users can download their account statement in PDF format.
10. Allowed users to update contact information: Completed
Users can update their contact information associated with their account.
Overall, all planned tasks for Sprint 1 have been successfully completed. The team has made good progress and delivered the expected functionalities. No changes are required to the project plan based on the completed tasks. The project is on track, and we will proceed with Sprint 2 as per the original plan.
QA6:
The daily Scrum meeting, also known as a daily stand-up, the team typically gathers to discuss their progress, plans for the day, and any impediments they're facing. Here's how such a meeting might go:
Time: 9:00 AM
Duration:15 or 20 minutes
Participants:
1.Product Owner
2.Scrum Master
3.Developers
4.Testers
5.Operations Team
Agenda:
1. What has been done since the last meeting?
Each team member briefly shares the tasks they completed yesterday.
2. What will be done today?
Each team member discusses their plan for the day and the tasks they intend to work on.
3. Are there any blockers or impediments?
Team members highlight any issues they're facing that are hindering their progress.
The Scrum Master takes note of these blockers and works to resolve them after the meeting.
Example Daily Stand-up Meeting:
Scrum Master: Good morning everyone, let's start our daily stand-up meeting. What tasks have you completed since yesterday?
Developer 1: I finished implementing the login authentication feature.
Developer 2: I completed the frontend design for the account overview page.
Tester: I conducted testing on the user registration form and found a few minor issues that need to be fixed.
Operations Team: We've deployed the latest bug fixes to the staging environment for testing.
Scrum Master: Great progress, everyone! Now, what are your plans for today?
Product Owner: I'll be reviewing the frontend designs and providing feedback.
Developer 1: I'll start working on the password reset functionality.
Tester: I'll continue testing the login authentication feature and address the issues found earlier.
Operations Team: We'll monitor the deployment process and ensure a smooth transition to production.
Scrum Master: Excellent. Lastly, does anyone have any blockers or issues?
Developer 2: I'm blocked on accessing the required API documentation for integrating external bank APIs.
Scrum Master: Thanks for bringing that up. I'll follow up with the necessary stakeholders to unblock you. Let's wrap up the meeting now and address any further issues afterward.
Conclusion:
Daily stand-up meetings like this help keep the team aligned, ensure transparency, and enable prompt issue resolution, fostering a collaborative and efficient work environment.
QA7:
Sprint Retrospective: Sprint 1
What went well:
1. Completion of planned tasks: All the tasks planned for Sprint 1 were successfully completed within the allocated time frame.
2. Effective communication: Daily stand-up meetings facilitated clear communication among team members, helping to address issues promptly.
3. Collaboration: Team members collaborated well, supporting each other to overcome challenges and deliver the required functionalities.
4. Quality of work: The delivered features met the acceptance criteria and demonstrated good quality in terms of functionality and usability.
Areas for improvement:
1. Documentation: Documentation regarding the implemented features and code could be more comprehensive to aid in future reference and maintenance.
2. Testing coverage: While testing was conducted, there is room for improvement in increasing the depth and coverage of testing to catch more edge cases and potential bugs.
3. API integration: Better coordination is needed with external stakeholders to streamline the process of accessing API documentation and integrating external bank APIs.
4. Time estimation: Some tasks took longer than initially estimated, leading to a tighter schedule toward the end of the sprint. Improved estimation practices could help in better planning for future sprints.
Action items for next sprint:
1. Enhance documentation practices to ensure comprehensive coverage.
2. Increase testing coverage and rigor to catch more potential issues.
3. Improve coordination with external stakeholders for smoother API integration.
4. Refine task estimation techniques to better manage the sprint timeline.
Conclusion:
Overall, Sprint 1 was successful, with the team delivering all planned features effectively. By addressing the identified areas for improvement, we aim to further enhance our efficiency and productivity in the upcoming sprints.
QA8:
Release Planning: Net banking App
First Release Features and Functionalities:
1. User Registration and Authentication: Allow users to register for an account and log in securely.
2. Account Management: Enable users to view account balance, recent transactions, and update their profile information.
3. Fund Transfer: Implement the ability for users to transfer funds between their own accounts and to other accounts within the same bank.
4. Basic Transaction History: Provide users with access to their transaction history for a specified period.
5. Security Features: Implement basic security measures such as encryption for transactions and password reset functionality.
Timeline for First Release:
Week 1-2: Develop and test user registration, authentication, and account management features.
Week 3-4: Implement and test fund transfer functionality along with basic transaction history.
Week 5:Finalize security features and conduct thorough testing to ensure robustness.
Week 6:Prepare documentation, user manuals, and conduct user acceptance testing (UAT).
Week 7:Address any final issues or bugs identified during UAT.
Week 8:Release the first version of the net banking app to users.
Key Considerations:
The release timeline may vary depending on the complexity of features and the team's capacity.
Continuous integration and deployment practices should be followed to ensure regular updates and improvements after the initial release.
Feedback from users should be collected and incorporated into future releases to enhance the app's usability and functionality.
By following this release plan, we aim to deliver a functional and secure net banking app to users within an 8-week timeframe, focusing on essential features for an effective first release.
QA9:
Roles involved in Scrum:
1. Product Owner (PO): The Product Owner represents the stakeholders and is responsible for maximizing the value of the product. They prioritize the backlog, ensure clear communication of requirements, and accept completed work.
2. Business Analyst (BA): The Business Analyst works closely with the Product Owner to analyze business needs, gather requirements, and translate them into user stories. They assist in defining the scope of the project and ensuring alignment with business goals.
3. Managers: This category can include various managers such as project managers, Scrum Masters, or team leads. They facilitate the Scrum process, remove impediments, and support the team in achieving its goals.
4. Technical Architect: The Technical Architect provides technical guidance and ensures the overall architecture of the solution aligns with the project's requirements and long-term goals. They collaborate with the development team to design robust and scalable solutions.
5. Development Team: The Development Team consists of cross-functional individuals responsible for delivering increments of potentially shippable product at the end of each Sprint. They collaborate to design, develop, and test features based on the user stories.
6. Testing Team: The Testing Team, also known as Quality Assurance (QA), is responsible for ensuring the quality of the product by conducting various types of testing such as unit testing, integration testing, and acceptance testing. They work closely with the development team to identify and resolve defects.
7. Operations (Ops):The Operations team manages the deployment, monitoring, and maintenance of the product in production. They ensure the stability, reliability, and performance of the system and may also be involved in infrastructure setup and configuration management.
Each role plays a crucial part in the Scrum framework, collaborating to deliver valuable and high-quality products to customers. Effective communication and collaboration among these roles are essential for the success of the project.