...
[EGD] update third party dependencies earlier in the release development cycle
The updating of wxwidgets late in the release cycle lead to the team having to scramble to address issues found in the GUI.
Using old version of third party dependencies can lead to incompatibility with existing operating systems and other dependencies that we are supporting
[DJC] having someone run the development builds of GMAT
The smaller the pool of testers for GMAT between builds we run the risk of missing the way users interact with the software that doesn’t necessarily get caught in automated regression testing
"Eating your own dog food" => use the tool you are developing so you have a higher quality product
[EGD] test system setup to run on different python versions and system configurations
We currently have many machines we can perform test runs on and we should leverage the different machines when running the full suite of tests, especially on Windows since those are more available
[EGD] documentation of running the test system
For a critical system, we do not have many people on the team that thoroughly know how to make use of it. Cross training is needed for this area so when one person is unavailable others can step in to complete the work.
[DJC] Branch for the release using a naming convention not likely to have tag conflicts (e.g. branch name GMAT-R2025a, tag name R2025a, which follows the convention use on SF)
[PJC] Release kick-off meeting to go through the release checklist and who will be in charge of each release section
Performing a detailed walkthrough can provide members unfamiliar with the release more insight in the process and can highlight areas assistance is needed.
When staffing is limited various team members will be needed to fill in the gaps as necessary.
[TR] Providing GUI test manager more run time to perform regression tests before release day (~1 1/2 to 2 month)
Specific time should carved out for the milestone to kick off the GUI tests needed to support the release. This current release was uncertain until very late in CY 2024.
[EGD] Having additional Mac expertise to deal with the anomalies unique to the Apple ecosystem
Ramping up development for an ecosystem with limited to no experience can use resources faster that desired versus getting dedicated senior expertise that could guide/train some engineers for a limited duration.
[DJC] Scanning the release package to make sure proprietary libraries are not included (e.g., SNOPT). Automated via test system run or manual checklist?
Developing ways to minimize human errors especially during high stress and limited time moments will lead to better quality.
[EGD] Clearly identify for punch list tickets nice to have versus essential items.
Chasing perfection of a particular work item with limited funds can lead to less deliverables to customers and the stretching thin of already limited resources
Resource loading will have to be performed more accurately to minimize this happening.
Start Doing
[PJC] allocating sufficient time to train across the team (team training, cross competency)
[EGD] Prioritize external outreach to potential customers
...