About the Mentored Sprints
Mentored sprints are offered by Fluid Numerics to help organizations port scientific applications to new hardware.
Overview
In the 5-day mentored Sprint, we engage with a software team, consisting of 10 individuals or less, to assess software for porting activities, develop a 5-day sprint plan, execute a 5-day sprint plan, and develop a retrospective (white paper). The goals of the mentored sprint are to help teams make rapid progress on porting to new hardware and provide guided hands-on experience with new software development tools that are necessary for making the transition.
To achieve these goals, we dedicate three weeks prior to the sprint to ensure access to a shared development platform that hosts the target hardware, establish processes for building and testing software, and develop an agreeable and realistic sprint plan that is in alignment with larger scale initiatives for your team. During the 5 day sprint, we will work together to execute the sprint plan and will have daily stand-up calls to discuss progress and hurdles and adjust the plan as needed. After the sprint, we will develop a retrospective write-up that covers the progress that was made, noteworthy hurdles that were overcome, any lessons learned, and next steps for the software project.
Schedule
Time Period | Activity |
Week 1 | Access confirmed to shared compute resources and software team’s software. Initial team meeting. Establish goals/milestones for sprint. |
Week 2 | Establish software build, testing, and develop (branching) protocols. Develop profile and call graph for existing application. |
Week 3 | Draft & confirm sprint plan. Final meetings before the sprint begins. |
Week 4 (Sprint Week) | Daily Sync up meetings and active coding to execute the sprint plan |
Week 5 | Develop retrospective : Incorporate sprint planning documentation with outcomes, hurdles, lessons learned, and next steps. |
Roles
Role | Purpose |
Principal Investigator | Review and approve sprint plans and plan changes. Ensures sprint direction is in alignment with longer term project direction. |
Developer | Leads hands-in-code development and champions the completion of assigned sprint goals. Reports on sprint progress and hurdle |
Technical POC | Assist with issues related to compute resources, resource allocation, available software, and compute resource performance.
Provide technical guidance feedback in a timely manner. Provide developer assistance when needed (hands in code) |
Mentor | Track progress during the sprint and help guide the team towards formulating and reaching set goals.
Provide technical guidance feedback in a timely manner. Provide developer assistance when needed (hands in code) |