Acquisitions - Retrospective / Action Plan

Action PlanNotes
  • @Team Write Karate tests with ability to have them running in parallel.

Victoria_Smelovahas agreed with Anton Emelianov (Deactivated)that he will create a doc with description how to handle multi releases in parallel 

  • @Team Consider overlapping releases while working on Timeline, think about proper duration of release cycle to avoid short/long release cycles

  • @TeamAgreed on creating clones issues to be fixed in different releases => it is easier to track what must be included in Hotfix/Bugfix releases
Done
  • @Team Think about approaches how to handle several releases in parallel

  • Andrei Makarankato find out if PTF or any other env can be used for performance testing of our features. (testing performance of new functionality with large data sets on Scratch env is not feasible - it gets almost unusable with large amounts of data)

  • Dennis Bridges create a FOLIO task in Jira for any required updates of scratch env to document requirements (what should be updated, data preserved or cleared, etc.) and have better visibility of progress/completion and effort.
Ongoing
  • @Victoria make sure bugfix releases are created more often during BugFest period and all released fixes are rested by the deadline. 
Ongoing
  • @Victoria to ping Oleksii Petrenko about Process/guide on PRs to platform-complete (not related to releases).
Guide updated
  • @Victoria to clarify and confirm with DM what is required in terms of FOLIO-wide tech debt tasks (for example, state control review, etc.) several sprints ahead release deadline. 
To be revisited after R1
  • @Team Work on tests related tech debt tasks to create test plan / test cases and capture to start to collecting various business flows in Gherkin Syntax with as much detail as possible.
Features for working on tech debt were created for R3
  • @Victoria Create label and a quick filter to easily see what is waiting for grooming and be able to prioritize them in backlog/next sprints.
"acq-dev-grooming" label was created and "Grooming" quick filter was added to Scrum Board 

  • @Team to create Spike to investigate if T-jet env supports several URLs to be used for feature testing and adjust branching strategy accordingly.

Spike is created and estimated - MODORDERS-427 

Currently blocked by DevOps task.

  • Victoria_Smelova to upload video recordings to folio drive and add a link to uxprod features.

Ongoing. Example:  UXPROD-772 - Getting issue details... STATUS

Done.
  • Dennis Bridges to cancel one of the ACQ backlog meetings and have only one weekly meeting on Thursday.
Done.
  • Get it added to process description: When updating an interface it's better to clone it (not to create a new one) as it will clone all the existing links to release stories as well and the teams won't need have to re-link manually.
Communicated to the teams
  • Dennis Bridges to think about organizing docs by modules/apps and create mirror public pages for community to easily find them.

  • Yauheni Kuzmianok to find out how to get users with different permissions for development purpose.
The question was raised to Cate and POs and will be further discussed outside the team.
  • @Leads, to inform the team about any requests, issues discussed while tech leads' meetings or other specific meetings where only some team-members are present.
Ongoing. Improvements confirmed after S93
  • Victoria_Smelova to update DoD to "show 11 rows successfully" and include a11y requirements. 

Thunderjet - Definition of Done was updated

  • @Team to continue to split features, discuss capacity, and focus on must-haves first.
Improvements confirmed after Q3.
  • Dennis Bridges Identify must-have features and prioritize them for work during the quarter.
Improvements confirmed after Q2.
Improvements confirmed after S96.
  • @Team Add additional use cases to the feature when they are identified while working on specific stories.
Improvements confirmed after S96; requirements were updated in uxprod features while implementation as some aspects were learnt by the dev team.
  • Victoria_Smelova Update process: Instead of assigning stories to Craig for final review, simply unassign them, keeping status "In Review". One added benefit of this is that it's less ambiguous if someone is actively reviewing a story - the way it stands now, it isn't always clear if I'm reviewing something when another dev picks it up to help me out.
Thunderjet - Jira Flow was updated.
  • Victoria_Smelova Provide more visibility on what is remaining to be ready to create releases for different modules: start including Release summary with comments earlier before release week.
Thunderjet Releases dashboard was created to visualize all planned releases and their dependencies
  • @Team Agree of a cut-off date for release internally (prior to deadline) to start creating releases earlier.
Done
  • Dennis Bridges Decide on acq-devplan meetings timing and get invitation sent out to the team.
Regular meeting is scheduled in Teams.
  • Andrei Makaranka Brainstorm API issues - create a shared wiki page to get ideas, pros & cons

API testing improvement ideas created.

  • @Team Involve new devs in PR reviews more actively.
Ongoing. Improvements confirmed after Sprint 86.
  • @Team Take some items out of the Sprint if something of higher priority is taken in. Constant scope creep is resulting in constant spillovers.
Ongoing. Improvements confirmed after Sprint 87. Spillovers are reduced.

A Grooming wiki page created with a filter to track stories ready to be groomed. 

  • Victoria_Smelova to find a better way to manage work on spikes. Timeboxing can be an option.

The team agreed to timebox the spikes and then discuss the progress to decide whether we need to proceed with some follow-up spikes. The approach was tested while Sprint 86.

  • Dennis Bridges to think about some learning sessions and posting end-to-end flows of FOLIO platform business processes

Ongoing. Sharing some videos of end-to-end flows can be an option.

  • Victoria_Smelovato reserve some time for urgent issues or prioritized stories while planning of several sprints before release.
Some time was reserved for urgent issues while planning release sprints for Q1. Thanks to that the team managed to add some additional issues without failing Completion Ratio.
Improvements confirmed after Sprint 91
  • @Team to add DO_NOT_MERGE label to PRs from external teams while code freeze/release.
Improvements confirmed after Sprint 86.
  • @Team to try to release earlier to avoid long queues on Jenkins

  • Gather details on broken sample data and pass to back-end devs to get it fixed.
Ongoing
  • Leave a comment /assign to Craig some UI stories that are waiting for BE stories to be created. Otherwise it is hard to understand that the story is not ready to be started as there are no links to any blocking back-end stories as they are not yet created.
Improvements confirmed after Sprint 82.
  • Negotiate updated schedule with Thunderjet and all the involved teams/POs.
Updated schedule was created and reviewed/approved by all POs and SMs. 
  • Better sync up before groomings to check priorities on back-end/front-end.
    Dennis, Craig, Ann-Marie have regular meetings set up.

In progress. Regular meeting is scheduled for Dennis, Craig, and Ann-Marie.

  • Speed up PR reviews. Separate channel for BE devs to coordinate PR reviews.
Separate channel for BE devs to coordinate PR reviews was created.
  • Viachaslau Khandramai (Deactivated) Aliaksei Chumakou to make sure interface versions are updated together with PRs containing breaking changes without waiting until a release to be created. It is necessary to inform about such updates in #development channel 2-3 days prior the update, so that all the dependent modules can adjust to accept new major version.
Improvements confirmed after Q4 release.
Ongoing. Mentioned in daily notes

Ongoing
The link to label is available in Daily Notes email and can be used by the team and POs to tag some stories as candidates for next demo

  • @Team  do squash and merge to keep clean git commit history.
Confirmed as improved after Sprint 81
  • Dennis Bridges  to involve designer earlier in requirements collection. UX is being overshadowed at times by functional constraints.
Kimie was invited to some meetings on request.
  • Craig McNallyto follow up with Anton about API tests. To discover issues introduced by the changes in the modules particular ACQ module depends on, it would be great to have API tests running against some environment at least once a day. Like UI regression tests which can fail but the result does not block deployments.

Story created for DevOps.   FOLIO-2198 - Getting issue details... STATUS

API test strategy is outlines and will be rolled out across folio

  • @Team to make sure that Links are added to stories/bugs to indicate any dependencies. Better coordination should be done in case there is "has to be finished together with" link - one should coordinate merging with anyone working on that related task to avoid downtime.
Ongoing. Improvements confirmed by the team while sprints 69-76.
  • @Team to be more careful about merging breaking changes. When merging schema changes, also make it a point to update the depending modules to latest version along with it so that we know for sure that there are no breaking changes. 
Ongoing
  • @Team Release PR must be merged to master only after(or along with) ensuring all the dependent modules have been released/updated to support latest version
confirmed after Q1 2020.
  • Victoria_Smelova Get spreadsheet updated by all the teams with interface versions on the date of feature freeze.
Ongoing. The spreadsheet was updated on time for Q3.2 and Q4 releases.
  • @Team suggest to DevOps to roll back failing build to have at least one working env.

Story created for DevOps.   FOLIO-2210 - Getting issue details... STATUS

  • @Team to keep dependency graph on Confluence updated to include any new dependencies (even if we are not planning to release the involved modules).
Ongoing. No issues while Q3.2 and Q4 releases.
  • @Team to create PRs for UI beforehand and get them merged by Ebsco devs (US time zone) after back-end updates are available on reference envs to minimize downtime.
Ongoing
  • @Team to explicitly inform POs about any stories pending review and postponing release creation, so that the stories can be reviewed and closed before we need to create a release. Link any release-related blockers to the release stories, and then actually block the release Jiras until the missing reviews have been handled.

Ongoing. No issues observed while Q3.1 delivery.

Ongoing. Successfully done while Q3.1 release.

  • Ann-Marie Breaux (Deactivated)  to schedule a meeting with DevOps guys to have some insights on their processes and better understand how we can improve release procedure
Done.
  • Craig McNallyVictoria_Smelova to have a coordination meeting within the team before a release to explicitly mention who and when is going to release different modules to consider dependencies and minimize downtime.
Ongoing. Improvements observed while Q3.1 delivery.
  • Ann-Marie Breaux (Deactivated),  Dennis Bridges to make sure the statuses and assignees of new stories are correct, so that it is clear for the team what is ready to be reviewed on groomings. (DRAFT and assigned to PO (if PO is still working on requirements) vs. OPEN and Unassigned (if the story is ready to be groomed))
In progress. Improvements confirmed by the team while sprints 67-76.
Ongoing.
  • Victoria_Smelova to schedule additional Grooming sessions instead of some Standups to get more stories reviewed before plannings.
Confirmed as helpful. Should be organized on demand.
Ongoing.
Planning was adjusted according to separate coefficients for Back-end vs Front-end.
  • Victoria_Smelovato switch to monthly Retros. Make sure the virtual Retro Board is created and shared to the team to add their cards while sprints are in progress.
Board created and shared via daily Standup Notes.
  • Dennis Bridgesto focus more on the larger workflows to work properly (and not on 1 field or 1 screen).

  • Dennis Bridges to organize learning sessions on interaction between different modules.

  • Aliaksei Chumakou to create stories for refactoring /technical debt required for UIORGS and other modules. Make sure we gradually refactor legacy code to make further development smoother.
Ongoing. Creation of stories confirmed while sprint 63-68.
  • @Team to review some more stories whenever we have some time available after Standups.
The team decided to add additional Grooming meetings instead of some Standups.
  • @Team should not forget to test locally before submitting PRs.
Ongoing.
  • @Team should be more pro-active reviewing PRs. One should not wait until the team is pinged in Slack to review a PR. Every dev should start their day by looking on Board and checking whether any reviews are required and provide at least one review. It can help to wrap up work faster.
Ongoing.
  • @Team should ask on Standup or in Slack before picking up an OPEN story assigned to someone else. We need to make sure the work on it hasn't been started yet.
Ongoing. No issues observed while Sprint 62-69.
  • @Team to review updates more carefully to avoid cases when code coverage drops or any other possible issues.
Ongoing
Ongoing
  • @Team Merging of interrelated PRs should be better coordinated (a person responsible for coordination must be appointed, list of all PRs compiled).

Ongoing. Improvements confirmed while sprint 60-62.

  • @Team Make sure that additional Bugs/Stories added last minute are safe and push back on anything that can break release.
Ongoing. Improvements confirmed while sprint 60-68.
  • Victoria_Smelova Use Zoom account for a month when there are 15+ attendees on the call. Switch back to Slack when we are under 15.
Switched back to Slack while Sprint 60 as we are now within 15 ppl limit.
Ongoing. Improvements confirmed while sprint 60-69.
  • Dennis Bridges Clarify upcoming themes to work on while Sprint Planning.

Ongoing. Improvements confirmed while sprint 60-62.

  • @Team to add their names at the end of a retro item to make it easier for everyone to know who wrote it.

Ongoing. Worked well while Sprint 59 Retro.

  • @Team to create new stories/bugs in Draft and assign to PO for review. PO should update and confirm acceptance criteria and move to Open for the team to review and estimate.

Ongoing. Statuses and descriptions were added to Thunderjet - Jira Flow.

  • @Team to be more active adding cards to Retro Board.

Ongoing

  • @Team Before we move our story to In Review column, add some evidence of whatever was verified (screenshots, clarifications). So whoever reviews the story afterward can use that information to verify further in detail.

Ongoing. Improvements observed while Sprint 58-59 and confirmed by PO.

Ongoing
  • @Team Keep API tests up-to-date.
Ongoing
Only UIF module has the coverage of <80% due to legacy code. There is no sense investing time into increasing coverage now as the module is planned to be reworked and coverage will be added while working on stories. All the other modules are >80% covered.
  • @Team Feature and code freeze to be respected by all the devs in the team and outside. Craig McNally to discuss with some external teams.
Ongoing. Improvements confirmed while Sprint 58-62.
  • @Team Delete branches after merging or closing PRs.

Ongoing. Improvements confirmed by the team while Sprint 57-59.

  • @Team Brainstorm ways to spread the load on reviewing back-end stories and accepting before closing (rotation).

Ongoing. It was agreed that each sprint there will be some volunteers to help Craig check back-end stories In Review and accept.

  • @Team Subtasks / Separate stories for tests linked to implementation story via "should be done together with".

Ongoing. The team agreed that ideally every story should include tests. In case it is more convenient for a dev, a sub-task for tests can be created within a story. For the modules without coverage, we need to add separate stories to create tests.

  • @Team Create Template for back-end stories/bugs.

Ongoing.  MODINVOSTO-6 - Getting issue details... STATUS - preferred format was offered. It is not possible to create a specific template as the focus of back-end stories is more on content rather than on format.

  • @Team Add Retro cards beforehand to save time during the meeting.

Ongoing. Improvements observed while Sprint 56-57 Retro.

  • @Team to better coordinate breaking changes to be merged and consider all the dependencies between modules. Be careful about incrementing versions and make sure all the related modules are ready so support the change. Follow the Pre-merge checklist to be prepared by Craig and reviewed by the team.
Pre-merge Checklist is now available in PR template.
  • Dennis Bridges, @Team to use templates while creating UI Stories or Bugs.
Acquisitions - Definition of Ready is updated with pre-formatted templates to be used.
  • Victoria_Smelova to balance planning to reserve some time available for any urgent issues/dependencies to be dragged into sprint. Also avoid taking a lot of successive tasks as delaying one of them delays all the chain that cannot be completed within the sprint.

Ongoing. As agreed the team should focus on 2-3 features while planning. The draft of Acquisitions - Roadmap was created to visualize the features and feature/code freezes for proper planning. Improvements observed while Sprint 57-60 as some time is reserved for working on urgent bugs and release activities.

  • @Team to focus on the stories In Code Review and provide PR reviews if required before starting some new work, to avoid PRs waiting for review too long. If no progress on PR reviews - ping the team in Slack channel asking for review. Try to stick to a rule of at least 2 approves before merging a PR.

In progress. Improvements observed while Sprint 57-60.

  • @Team Stories should have proper descriptions, PRs attached, clarifications on what was done to simplify the review.

Ongoing. Acquisitions - Definition of Ready and Acquisitions - Jira Hints pages are updated with some related notes. Improvements are observed while Sprint 57-60.

  • Dennis Bridges, Craig McNally and @Team always try to break very large stories down into smaller stories/testable sub-tasks, so that testing can be done in smaller sessions. We should also try to spread the load of reviewing stories across the sprint to avoid overload at the end of sprint.

Ongoing. Improvements observed and confirmed by the team while sprint 56-59.

  • @Team to always include some buffer time into future stories/bugs to work on some improvements of test coverage for legacy code.

Ongoing. Improvements were confirmed upon review.

  • Victoria_Smelova to add some specific cases/guides on the actions related to JIRA flow to the teams page on confluence to avoid issues and glitches in JIRA reports.- Estimate in story points should be added upon grooming and should not be changed (there can be exceptional cases only when requirements are clarified/added on the fly);
    - Correct sprint should be selected;
    - Items must conform to DoR to be added to sprint;
    - Do not add new additional items to the current sprint if there are only 1-2 days left and you won;t be able to complete the item.

Thunderjet - Jira Flow page is added and shared to the team.
Ongoing.

Ongoing. Groomings on Receiving and Checkin flow were done in Sprint 55/56. Learning sessions on invoicing were done while Sprint 57.

  • Victoria_Smelova to organize back-end demos for stories with major business logic changes or wherever applicable to share knowledge across Thunderjet/Stacks/Ebsco.

Ongoing. Back-end devs demoed on Internal demos for Sprint 56/57.

  • @Team to have technical discussions to happen via group chats as far as possible for the benefit of the entire team and prevents repetitive questions.
Ongoing.
  • @Team introduce regular releases of modules (once per month) to get more prepared for quarterly releases and minimize risks of delaying quarterly releases.
Done in Sprint 55. Next release planned for Sprint 57.
  • Dennis Bridges, Craig McNally, Victoria_Smelova to make sure that separate groups (Thunderjet devs, Ebsxo+Stacks back-end devs, Arvind) are reviewing backlog and estimating stories on regular basis - at least once per week. The joint Backlog Grooming meeting is to have a catch up on backlog condition and agree about next steps.
Ongoing.
Ongoing.
  • Victoria_Smelova and @Team to be more timely arriving to Standups and other meetings. In case you cannot attend, notification should be sent via Slack to inform the team or SM and share your status. Thus, the team won't waste time waiting for the person who is not going to attend and the team will have understanding of progress of that person.
Ongoing.
  • Victoria_Smelova and @Team to estimate Bugs and any unplanned work added to Sprint on the fly as it affects the stats of the team as the initially planned work is put aside.
Ongoing.
  • Ann-Marie Breaux (Deactivated), Dennis Bridges work on priorities for front-end and back-end devs to get the process of development more aligned. Detailed front-end user stories are helpful to understand requirements and create corresponding back-end stories. It would be more efficient if back-end development is started earlier and back-end is available when front-end stories are close to completion. Thus, we can have front-end implementation and integration with back-end within one story and won;t need separate stories for integration with back-end.
Ongoing.
Ongoing.
The field is added.
3 sessions have been done + Q/A session.
  • Victoria_Smelova Improve Backlog Health: organize regular Grooming meetings to identify inter-dependencies between the stories before planning.
Regular Groomings scheduled for Wednesdays starting from Nov 7.
Ongoing. Forecasting of Team's velocity while planning is pretty stable for sprints 54-57.
Additional Priority planning meeting is scheduled for POs to work on priorities.
  • Victoria_Smelova Coach the team to get shorter Standups and be withing time-box.

WebEx was used for recording knowledge sharing sessions.
Meeting with Filip was scheduled.