Repository navigation
Project Plan
Arkadi: Project Manager, Communication Lead, Developer
Nikita: Developer, Requirements Engineer, Documentation Manager
Artemi: Developer, DevOps Engineer
Alina: Developer, Tester
-
Arkadi:
- Write and finalize the product vision document.
- Set up the version control system (VCS).
- Initiate project kickoff meetings and establish communication channels.
-
Nikita:
- Write user stories based on the product vision.
- Develop initial use cases to define user interactions with the system.
- Document requirements and project objectives.
-
Artemi:
- Set up the issue tracker (e.g., Jira, Trello).
- Write the initial project plan, outlining tasks and timelines.
- Configure the development environment and ensure team members have access.
-
Alina:
- Collaborate in writing the project plan.
- Identify initial testing requirements and outline testing strategies.
- Conduct research on testing tools and frameworks suitable for the project.
-
Arkadi:
- Start implementing core functionality
- Oversee the development process, ensuring timelines are met.
- Conduct daily stand-up meetings to track progress.
- Ensure alignment of coding efforts with the product vision.
-
Nikita:
- Set up the Continuous Integration/Continuous Deployment (CI/CD) pipeline.
- Ensure the integration of development and testing environments
- Begin coding the core functionalities as per the defined user stories.
- Maintain documentation of development progress and update user stories.
-
Artemi:
- Write detailed use cases as required for functionality.
- Continue coding based on the architecture defined.
-
Alina:
- Collaborate with the development team to begin coding.
- Outline testing scenarios based on the functionalities being developed.
- Prepare test data for upcoming testing phases.
-
Arkadi:
- Continue coding remaining functionalities.
- Facilitate communication and coordination among team members.
- Monitor progress and adjust timelines as necessary.
- Lead code review sessions to ensure quality and adherence to standards.
-
Nikita:
- Continue coding remaining functionalities.
- Collaborate with Arkadi on code reviews and implement feedback.
- Update documentation to reflect any changes in requirements or implementation.
-
Artemi:
- Continue coding and begin testing integrations.
- Monitor the CI/CD pipeline for issues and troubleshoot as necessary.
- Support the testing team in setting up test environments.
-
Alina:
- Conduct unit testing on completed features.
- Collaborate with Nikita to ensure testing aligns with user stories.
- Document testing results and report any issues to the development team.
-
Arkadi:
- Oversee final code development and ensure all tasks are completed.
- Validate that all acceptance criteria are met.
- Facilitate the final review meeting with the client for project approval.
-
Nikita:
- Finalize code development and make necessary adjustments based on feedback.
- Create and execute test cases based on updated requirements.
- Prepare release notes and document final project deliverables.
-
Artemi:
- Conduct final testing of deployment processes and ensure smooth integration.
- Validate the CI/CD pipeline and address any final issues.
- Assist in documenting deployment processes for future reference.
-
Alina:
- Conduct comprehensive testing (system and user acceptance testing).
- Document and report any final bugs or issues to the development team.
- Validate that all test cases are executed and passed before the final release.
-
Client Communication:
- Methods: E-mail, in-person meetings.
- Frequency: Weekly check-ins via email and in-person meetings when needed to discuss progress and gather feedback.
-
Task Management and Team Communication:
- Tools: Messenger (for day-to-day communication).
- Frequency: Daily updates on task progress.
- Approach: Establish formal sign-off processes after each development iteration.
- Methods: Schedule feedback sessions at the end of each iteration and conduct User Acceptance Testing with the client.
-
Workflow:
- Task Assignment: The Project Manager (Arkadi) assigns tasks based on priority and team member capacity.
- Code Reviews: Conduct code reviews after each coding task.
- Testing Integration: Implement unit tests during coding, followed by integration tests at the end of each iteration.
- Clearly define “DONE” as:
- Code is complete and peer-reviewed.
- Unit tests are executed and passed.
- Documentation is updated.
- Customer approval has been obtained.
-
Mechanisms:
- Use direct interviews after each iteration to gather insights from the customer.
- Establish a feedback loop where insights are documented and discussed in team meetings for iterative improvement.
- Develop a clear product vision document (#2)
- Priority: Must-have
- Estimate: 4 hours
- Actual: 4 hours
- Create high-level user stories for core functionalities (#3)
- Priority: Must-have
- Estimate: 5 hours
- Actual: 7 hours
- Write detailed use case descriptions for key API functionalities (#4)
- Priority: Must-have
- Estimate: 5 hours
- Actual: 3 hours
- Define non-functional requirements (#3)
- Priority: Must-have
- Estimate: 3 hours
- Actual: 2 hours
- Set up Wiki for documentation and GitLab for issue tracking and task management (#1)
- Link the issue tracker to use cases and functional requirements
- Priority: Must-have
- Estimate: 4 hours
- Actual: 4 hours
- Define project roles, work processes, and communication methods
- Create and organize tasks in the issue tracker (#42)
- Priority: Must-have
- Estimate: 7 hours
- Actual: 7 hours
-
Create REST API for querying user accounts
- Design and implement API endpoint for querying Active Directory (AD) user accounts (#5)
- Estimate: 2 hours
- Actual: 2 hours
- Priority: Should-have
- Design and implement API endpoint for querying Active Directory (AD) user accounts (#5)
-
Implement logic for retrieving user details from AD
- Develop backend logic for pulling user details from Active Directory (#6)
- Estimate: 2 hours
- Actual: 2 hours
- Priority: Must-have
- Develop backend logic for pulling user details from Active Directory (#6)
-
Create REST API endpoint to retrieve the status of command executions
- Design and implement API endpoint for checking command execution status (#29)
- Estimate: 3 hours
- Actual: 2.5 hours
- Priority: Must-have
- Design and implement API endpoint for checking command execution status (#29)
-
Implement logic to monitor and retrieve command status
- Develop logic for monitoring command execution and fetching status (#30)
- Estimate: 1 hour
- Actual: 1 hour
- Priority: Must-have
- Develop logic for monitoring command execution and fetching status (#30)
-
Implement REST API for creating user accounts in AD
- Design API to create new users in AD (#7)
- Estimate: 2 hours
- Actual: 1.5 hour
- Priority: Should-have
- Design API to create new users in AD (#7)
-
Implement logic for adding users to AD
- Develop logic to execute AD commands for adding users (#8)
- Estimate: 2 hours
- Actual: 2 hours
- Priority: Must-have
- Develop logic to execute AD commands for adding users (#8)
-
Implement logic to write command execution results to the database
- Develop functionality to store command execution results in the PostgreSQL database (#21)
- Estimate: 4 hours
- Actual: 4 hours
- Priority: Must-have
- Develop functionality to store command execution results in the PostgreSQL database (#21)
-
Implement command queuing and ensure execution in the correct order
- Develop logic to queue commands and manage execution order (#22)
- Estimate: 2 hours
- Actual: 3 hours
- Priority: Must-have
- Develop logic to queue commands and manage execution order (#22)
-
Set up Docker containers for isolated PowerShell command execution
- Configure Docker containers to run PowerShell commands securely (#25)
- Estimate: 3 hours
- Actual: 4 hours
- Priority: Must-have
- Configure Docker containers to run PowerShell commands securely (#25)
-
Configure PostgreSQL database for storing command requests and results
-
Powershell script for executing commands
- Develop PowerShell scripts to execute commands from the API (#54)
- Estimate: 8 hours
- Actual: 10 hours
- Priority: Must-have
- Develop PowerShell scripts to execute commands from the API (#54)
-
Set up Swagger UI for interactive API documentation and testing
- Configure Swagger UI for API documentation and enable testing (#53)
- Estimate: 1 hour
- Actual: 2 hours
- Priority: Must-have
- Configure Swagger UI for API documentation and enable testing (#53)
-
Scope
- Update scope (#57)
- Estimate: 2 hour
- Actual: 4 hours
- Priority: Must-have
- Update scope (#57)
-
Release notes and use cases
- Automate build and deployment process, ensuring continuous integration works smoothly (#52)
- Priority: Must-have
- Estimate: 30 minutes
- Actual: 1 hour
- Create detailed input-output examples for key API endpoints
- Priority: Must-have
- Estimate: 5 hours
- Actual: 1 hour
- Estimate: 2 hours
- Actual: 2 hours
-
Design REST API endpoint for deleting user accounts
- Create the API endpoint to delete user accounts from Active Directory (AD) (#14)
- Estimate: 3 hours
- Actual: 1h
- Priority: Should-have
- Create the API endpoint to delete user accounts from Active Directory (AD) (#14)
-
Design REST API endpoint to enable/disable user accounts in AD
- Create the API endpoint to enable or disable user accounts in AD (#17)
- Estimate: 3 hours
- Actual: 20m
- Priority: Should-have
- Create the API endpoint to enable or disable user accounts in AD (#17)
-
Design REST API endpoint to reset user passwords in AD
- Create the API endpoint for resetting user passwords (#13)
- Estimate: 3 hours
- Actual: 1h
- Priority: Should-have
- Create the API endpoint for resetting user passwords (#13)
-
Design REST API endpoint for updating group details in AD
- Create the API endpoint to update group information (#31)
- Estimate: 3 hours
- Actual: 1h
- Priority: Should-have
- Create the API endpoint to update group information (#31)
-
Design REST API endpoint for deleting groups in AD
- Create the API endpoint to delete groups from AD (#33)
- Estimate: 3 hours
- Actual: 20m
- Priority: Should-have
- Create the API endpoint to delete groups from AD (#33)
-
Design REST API for updating user details in AD
- Create the API endpoint for updating user account information (#10)
- Estimate: 3 hours
- Actual: 1h
- Priority: Should-have
- Create the API endpoint for updating user account information (#10)
-
Implement logic for user detail updates in AD
-
Design REST API endpoint to list members of a group
- Create the API endpoint to retrieve members of a specific group (#35)
- Estimate: 3 hours
- Actual: 1h
- Priority: Should-have
- Create the API endpoint to retrieve members of a specific group (#35)
-
Design REST API endpoint to search for users by attributes
- Create the API endpoint for searching users based on specific attributes (#40)
- Estimate: 3 hours
- Actual: 1h
- Priority: Should-have
- Create the API endpoint for searching users based on specific attributes (#40)
-
Design REST API endpoint for creating groups in AD
- Create the API endpoint to create new groups in AD (#19)
- Estimate: 3 hours
- Actual: 20m
- Priority: Should-have
- Create the API endpoint to create new groups in AD (#19)
-
Implement logic for deleting a user from AD
- Develop the backend logic to delete user accounts from AD (#15)
- Estimate: 8 hours
- Actual: 1h
- Priority: Must-have
- Develop the backend logic to delete user accounts from AD (#15)
-
Implement logic for password reset in AD
- Develop the logic to handle password reset requests for users in AD (#16)
- Estimate: 8 hours
- Actual: 1h
- Priority: Must-have
- Develop the logic to handle password reset requests for users in AD (#16)
-
Implement logic for enabling/disabling accounts in AD
- Develop the logic to enable or disable user accounts in AD (#18)
- Estimate: 8 hours
- Actual: 20m
- Priority: Should-have
- Develop the logic to enable or disable user accounts in AD (#18)
-
Implement logic for updating group information in AD
- Develop the logic to update group details in AD (#32)
- Estimate: 8 hours
- Actual: 20m
- Priority: Should-have
- Develop the logic to update group details in AD (#32)
-
Implement logic for removing groups from AD
- Develop the logic to delete groups from AD (#34)
- Estimate: 8 hours
- Actual: 20m
- Priority: Should-have
- Develop the logic to delete groups from AD (#34)
-
Implement logic to retrieve group members from AD
- Develop the logic to list members of a specific group in AD (#36)
- Estimate: 8 hours
- Actual: 1h
- Priority: Should-have
- Develop the logic to list members of a specific group in AD (#36)
-
Implement logic to update user information in AD
- Develop the logic to update user details in AD (#11)
- Estimate: 8 hours
- Actual: 1h
- Priority: Must-have
- Develop the logic to update user details in AD (#11)
-
Implement logic for adding new groups to AD
- Develop the logic to add new groups to AD (#20)
- Estimate: 8 hours
- Actual: 30m
- Priority: Should-have
- Develop the logic to add new groups to AD (#20)
-
Implement input validation for AD commands before execution
- Develop input validation logic for commands executed in AD (#37)
- Estimate: 5 hours
- Actual: 30m
- Priority: Must-have
- Develop input validation logic for commands executed in AD (#37)
-
Implement error handling and logging for command execution
- Develop error handling and logging mechanisms for command executions (#23)
- Estimate: 6 hours
- Actual: 5h
- Priority: Must-have
- Develop error handling and logging mechanisms for command executions (#23)
-
Implement logic to update command status after execution in AD
- Develop logic to update the status of commands post-execution (#24)
- Estimate: 4 hours
- Actual: 1.5h
- Priority: Must-have
- Develop logic to update the status of commands post-execution (#24)
-
Write validation rules for user account creation
- Develop validation rules to ensure correct user account creation (#9)
- Estimate: 3 hours
- Actual: 1h
- Priority: Must-have
- Develop validation rules to ensure correct user account creation (#9)
-
Create validation rules for updating user details
- Develop validation rules for updating user information (#12)
- Estimate: 3 hours
- Actual: 1h
- Priority: Must-have
- Develop validation rules for updating user information (#12)
-
Write test cases for core use cases
- Develop test cases for core functionality and edge cases (#61)
- Estimate: 4 hours
- Actual: 9 hours
- Priority: Must-have
- Develop test cases for core functionality and edge cases (#61)
-
Set up Jenkins pipeline
- Configure Jenkins pipeline for continuous integration and deployment (#62)
- Estimate: 4 hours
- Actual: 8 hours
- Priority: Must-have
- Configure Jenkins pipeline for continuous integration and deployment (#62)
-
Create REST API endpoint for assigning roles to users
- Create the API endpoint to assign roles to users in Active Directory (AD) (#43)
- Estimate: 10 hours
- Priority: Could-have
- Create the API endpoint to assign roles to users in Active Directory (AD) (#43)
-
Create REST API endpoint for revoking roles from users
- Create the API endpoint to revoke roles from users in AD (#45)
- Estimate: 10 hours
- Priority: Could-have
- Create the API endpoint to revoke roles from users in AD (#45)
-
Create REST API endpoint for querying role assignments
- Create the API endpoint to retrieve role assignments for users in AD (#47)
- Estimate: 10 hours
- Priority: Could-have
- Create the API endpoint to retrieve role assignments for users in AD (#47)
-
Design REST API endpoint for adding/removing users from groups in AD
- Create the API endpoint to manage group memberships for users in AD (#49)
- Estimate: 10 hours
- Priority: Should-have
- Create the API endpoint to manage group memberships for users in AD (#49)
-
Implement logic to assign roles to users in AD
- Develop the backend logic to assign roles to users in AD (#44)
- Estimate: 14 hours
- Priority: Could-have
- Develop the backend logic to assign roles to users in AD (#44)
-
Implement logic to remove roles from users in AD
- Develop the logic to revoke roles from users in AD (#46)
- Estimate: 14 hours
- Priority: Could-have
- Develop the logic to revoke roles from users in AD (#46)
-
Implement logic to retrieve role assignments from AD
- Develop the logic to query role assignments for users in AD (#48)
- Estimate: 14 hours
- Priority: Could-have
- Develop the logic to query role assignments for users in AD (#48)
-
Implement logic to modify group memberships in AD
- Develop the logic to add or remove users from groups in AD (#49)
- Estimate: 14 hours
- Priority: Should-have
- Develop the logic to add or remove users from groups in AD (#49)
-
Implement logic for prioritizing urgent commands
- Develop logic to handle and prioritize urgent command requests (#38)
- Estimate: 10 hours
- Priority: Should-have
- Develop logic to handle and prioritize urgent command requests (#38)
-
Implement logic to perform user search based on attributes in AD
- Develop the logic to search users by specified attributes in AD (#41)
- Estimate: 14 hours
- Priority: Should-have
- Develop the logic to search users by specified attributes in AD (#41)
-
Automate tests for alluse cases
- Develop automated tests for core use cases to ensure system reliability (#28)
- Estimate: 12 hours
- Priority: Should-have
- Develop automated tests for core use cases to ensure system reliability (#28)
-
Improove Continuous Integration (CI) environment
- Make CI environment more user-friendly.
- Estimate: 5 hours
- Priority: Must-have
- Make CI environment more user-friendly.
-
Conduct internal acceptance testing
- Perform manual verification of core functionalities and document test cases in the Wiki.
- Estimate: 8 hours
- Priority: Must-have
- Perform manual verification of core functionalities and document test cases in the Wiki.
-
Verify non-functional requirements
- Document verification processes for performance and usability requirements.
- Estimate: 8 hours
- Priority: Must-have
- Document verification processes for performance and usability requirements.
-
Full documentation for SwaggerUI
- Write comprehensive SwaggerUI documentation for the API. (#63)
- Estimate: 5 hours
- Priority: Must-have
- Write comprehensive SwaggerUI documentation for the API. (#63)
-
Gather and analyze customer feedback
- Interact with the customer to gather feedback and assess application performance.
- Estimate: 4 hours
- Priority: Must-have
- Interact with the customer to gather feedback and assess application performance.