...
Date | Version | Author | Approver/Reviewer | Comment |
Oct’23 | 1.0.0 | Idris Aliyu |
1.0 Responsibilities
1.1 Technical Product Manager Responsibilities:
Gain a deep understanding of customer experience, identify and fill product gaps and generate new ideas that grow market share, improve customer experience and drive growth
Create buy-in for the product vision both internally and with key external partners
Ability to work well with internal teams, including developers, engineers, architects, quality assurance, and operations. Ensure requirements are fully understood and that implementation plans match expectations.
Translate product strategy into detailed requirements and prototypes
Scope and prioritize activities based on business and customer impact
Understand, research, and follow technology trends in the industry and in general. Able to assess emerging products and companies to measure their potential value or threat to the company and its products, as well as make recommendations on which new technologies to invest in or leverage.
Implement beta tests.
Work with data pipelines, algorithms, and automated systems.
1.2 Associate Product Manager Responsibilities:
Managing each project’s scope and timeline
Facilitate all Scrum events, including sprint planning, daily stand-ups, sprint reviews, and sprint retrospectives.
Work closely with the product owner to prioritize and refine the product backlog, ensuring that user stories are well-defined, estimated, and ready for development.
Remove impediments and roadblocks that hinder the progress of the Scrum teams, fostering a collaborative and problem-solving environment.
Monitor team metrics and key performance indicators to track progress, identify bottlenecks, and drive continuous improvement.
Coach team members in Agile frameworks.
Facilitate internal communication and effective collaboration.
Help teams implement changes effectively.
Promote a culture of transparency, trust,and open communication within and across teams.
Stay up-to-date with industry trends and developments in Agile and Scrum methodologies, and contribute to the continuous evolution of Agile practices at Teamapt.
1.3 Engineers Responsibilities:
Work with developers to design algorithms and flowcharts
Produce clean, efficient code based on specifications
Integrate software components and third-party programs
Verify and deploy programs and systems
Troubleshoot, debug and upgrade existing software
Gather and evaluate user feedback
Recommend and execute improvements
Create technical documentation for reference and reporting
1.4. QA Engineer Responsibilities
2.0 Development Processes
2.1 Release Management Process
Scrum Master documents future releases on JIRA before the commencement of a sprint. Each release should include;
Release Version
This follows the semantic versioning principle
Ex. v1.3.2 increment 1 - if there is a Major Feature, 3 - for Minor Feature and 2 - for Patch/Fix (see for detailed explanation: https://semver.org/ )
Releases on DCIR would be tagged according to the components affected e.g. if the frontend component is affected, the release would be tagged U.I v1.x.x. Tagging will be done by the engineer with the purview of the scrum master
For patches and fixes, the tagging would be done automatically by attaching the build number on Jenkins
Summary:
Major and Minor features included in the release
Fixes and Patches
Components Affected
Compatible version: UI and Services
Description: A description of what is to be accomplished with the release
Approvers:
QA Engineers
Product Managers
Epics, Tasks, and Bug Tickets are covered in the release.
Release start date: Usually sprint start date
Release end date: date when the binary (jar) is packaged and put on standby for onward deployment to banks.
Hofit fix Release process: In the situation where a hotfix needs to be released, the hotfix and any development feature or fix that is ready to be released will be added to the hotfix and released in the next release (already documented on JIRA). A new release version will be created for features/fixes still under development.
...
See flow chart below for the QA process.
...
2.2 Sprint Management Process
Weekly Sprint Planning/Task Prioritization Sessions.
Input:
Project Backlog
Objective:
To discuss priority tickets to be worked on during the sprint
Stakeholders:
Project Managers
Scrum Masters
Deliverables:
List of tasks to be completed for the sprint
Tickets assigned to engineers for completion
Daily Bug Triage Sessions (15 mins) to review priority after stand up sessions.
Input:
Newly identified issues
Objective:
To reevaluate priorities based on new discoveries
Stakeholders:
Project Managers
Scrum Masters
Tech Support
Deliverables:
Updated priorities
New tickets assigned to engineers for completion
...
If an engineer for any reason has to halt a lower priority task to focus on another task of higher priority, the engineer should indicate the task ticket the reason for pausing development and also update the block start and end dates on the ticket.
2.3 Jira Task Documentation Process
Product Management Process: Refer to Product Management Process Document
Scrum Master Dev Task Documentation Process :The following links should serve as a guide on how to document development tasks by the Scrum master
Frontend Task Sample:
Jira Legacy server System JIRAJira serverId d0d6ed90-58df-3426-9502-a536b04baef8 key ADD-457 Backend API/Job Task Sample:
Jira Legacy server System JIRAJira serverId d0d6ed90-58df-3426-9502-a536b04baef8 key ADD-455 Database Task Sample:
Jira Legacy server System JIRAJira serverId d0d6ed90-58df-3426-9502-a536b04baef8 key ADD-458
QA Bug Reporting Process: Bugs discovered during testing should be reported on JIRA with the
A summary of the bug
Steps to reproduce the bug
Screenshot or video recording
Link to affected user story
Link to test case
Engineer, PM, and SM should be tagged in the comments after logging the bug
2.4 Post-Production JAR Build Process
Steps | Process | Owner |
1 | Merges to Main Branch for production build | EA / Code Reviewer |
2 | Build runs | Automated on Jenkins |
3 | Distribution of JAR files to PM | EA |
4 | Upload of files to DCIR shared drive (files are uploaded to specific version folders) | PM |
5 | Share link to files to TSE/SRE for onward deployment | PM |
6 | Preparation of Release Notes | PM |
7 | Update pom.xml file to reflect the version auto incremented by Jenkins build pipeline. | Engineer |
...