Developer SOP
Overview. General responsibilities.
Standard Operating Procedure – Applications Developer
Expedition Support
Nov 2023
Pre Expedition Activities
Work with the expedition project manager to determine if any external data is required in LIMS, GEODESC for use during the expedition. Extract the required content for transport to ship.
Work with the expedition project manager and laboratory staff to determine if any third-party instruments will be used during the expedition. If so, determine how the data is to be captured and reported.
Work with laboratory staff. Transport container data to ship for moisture and density. Be aware of new or changed instrumentation being supported.
Work with descriptive information experts. Review any pre-expedition GEODESC work. Spot-check that templates retrieve, prior data (if any) loads successfully.
Review the science prospectus to become aware of the expedition goals and plans.
Review current technical reports and change management records to be aware of recent changes.
Check with the AD supervisor on the latest development projects you will be working on during the expedition.
Port Call – oncoming, early expedition
Ensure your computing equipment powers up and successfully connects to ship and shore networks.
Cross-over with off-going staff regarding credential changes. Confirm your shipboard passwords and access: Oracle non-privileged and DBA accounts (test and production); ship and shore password safes; credentials for the storage network and email; credentials for build and dev resources, including software distribution credentials for the application servers.
All personnel have responsibilities to ensure expedition data is returned to the shore warehouse. Review and confirm: data is backed up and ready for transport, we are clear to prepare the database for the new expedition.
Prepare the database system for the new expedition. See BOX checklist, detail, rationale.
Moratorium enforcements.
Expunge the previous expedition's database content. Note that some information may need to be retained from the previous expedition--for example play cores for JR Academies and Schools of Rock. As-needed confirm with the staff scientist.
Clean out archived files on all logger systems. Confirm with off-going and on-coming Physical Properties, Paleomagnetics, and Imaging staff what has been done.
Prepare the rig management system for the new expedition. See BOX checklist, detail, rationale.
Ensure the Operations Manager has access to the OPS user interface.
Ensure the Drillers have access to the DRILLER user interface.
Ensure the Collector utility is pumping iRIS data into Oracle.
Manage laboratory accounts for scientists and techs. This includes: creating or enabling accounts for oncoming scientists and staff; and removing accounts for off-going scientists. Sometimes intervention is required with Auther permissions.
Cross-over with off-going developers. What happened? What changed? What’s changing? What worked? What didn’t? Where can we improve?
Read the prior expedition reports, thoroughly.
Review change management records from the previous expedition.
Confirm that you have access to (current) source code for recently changed product.
Spot-check routinely used services to ensure they are functioning: sampling programs, LIMS reports, MUT uploaders, web pages, Confluence support pages. SQL Developer access, LIME data editor.
The labs are being made ready for expedition use. What is changing? What needs improvement? Anything not working that requires your knowledge and support? Prioritize, advertise.
Attend introductory meetings including required safety and/or training meeting sessions.
Assist with loading/unloading freight and other tasks as directed by the Lab Officer or Assistant Lab Officer.
Provide courier services as-needed. If data was brought out, load it. If digital media were brought out, deliver it to those who requested it.
You have expertise in software and code. Help others leverage that expertise.
General Activities during an expedition
Cross-over at least once a day with the other developer on ship.
Ensure they are aware of what you are working on and any ongoing problems that you are aware of.
Update your activities in the ship activity log. These are effective tools to communicate and support the first item.
Be present at laboratory staff cross-overs (as your shift assignment allows). Be aware of staff and science participant software concerns. Learn about what they do.
Spend at least 2 hours every shift up in the labs with the scientists and techs. Provide assistance in learning and using applications, capturing, managing, and reporting data, and general support for use of computing resources on ship.
Provide notifications to the change management team on ship and shore BEFORE modifying applications. This is done by sending an email to jr_developer when development work is begun. Keep appropriate records of changes as described in the Change Management Procedures.
Provide notifications of all changes to production applications and common libraries by email to jr_developer. Make sure to include the reason for the modification.
Keep the source code repository up to date so that releases in the repository match deployments on the ship. If it was deployed, it should have been checked in.
Provide weekly status reports to LO, ALO, AD manager.
Beginning of Expedition (BOX) Activities
Ensure the current copy of the shore code and dependency repositories are available to your preferred workstations. If not, update it. Merge in any changes you may need from shore for this expedition and rebuild those applications. Remember to notify jr_developer when you start work and jr_developer for deployments.
Work with TAS and curation staff to identify and handle any special data requests. Everyone is working to get the new expedition off the ground (stores and supplies inventories and staged, equipment function and readiness reviewed). The questions you receive will lean that way, including but not limited to:
Containers or vials to be entered in preparation for the new expedition.
Sample request or sample planning data and content.
Do any of the samples from the previous expedition carry over? Keep them in the database and flag them appropriately.
Do any standard materials need new labels and database records created?
Are repository samples being carried with the new expedition that will be analyzed? Do they need to be entered into the system?
Have new pieces of equipment come on board that require software or data services to assist in configuration, automation?
Cross-over with the technicians in each of the labs.
Are the laboratory instrument systems up and functioning?
Are the sample entry systems up and functioning?
Are the correlation systems up and functioning?
Are the description systems up and functioning?
Are the label printing and engraving systems up and functioning?
Start any required changes through the change management process.
Check with the Underway technician: are the Navigation and Bathymetry data feeds running Ok?
Ensure the video overlay feed is still connected to the RigWatch master and functioning. (Ops and MCS concern.)
Ensure iRIS data feeds are connected and running. (Ops and MCS concern)
Middle of Expedition (MOX) Activities
Projects - Fixes
Operational concerns can and often do take (temporary) precedence over project work. Flex.
Listen for issues, concerns. Fix what we can. Triage the rest. Log what we plan to take care of.
Site preparation
Work with lab technicians to ensure they are able to use the applications to accomplish the tasks that have to be done.
Check database and web services status and performance. If performance is degraded, work with the MCS to make appropriate corrections.
Learn, review the process and procedures for the labs.
On Site Activities
Monitor status of critical laboratory, database, and web services.
Provide data maintenance, cleanup and reporting services.
Make the software systems better. Follow change management procedures before and after modifying an application.
Prioritize. The Expedition Project Manager (staff scientist) and Lab Officer (LO) can help. Work with them to keep change requests moving and being completed.
When pressed for time, create a work around for a problem. It still requires a notice to jr_developer@ship.iodp.tamu.edu.
Create a different change request for the longer term solution so that it gets in the development queue.
Help with core on deck as directed by the LO / ALO. Maintain awareness of core flow and core processing status.
Listen. Learn. Do.
End of Expedition (EOX) Activities
Deliver the end-of-expedition report to the LO (that you have been writing throughout the expedition). Post a copy to the development team via Slack. See examples from prior technical reports for formats and variations.
Establish with MCS, LOs, CoChiefs when the final database snapshot will be taken for EOX.
Circulate through the labs. What data didn’t get into the database? Provide support and training to help get the data in or find an appropriate place for it.
Honor moratorium. Once content is uploaded to LIMS, and raw files have gone to data1, expedition-specific data may be cleaned off of instrument hosts and workstations. Good practice to confer with technical staff that manage this for their labs. There is variance between crews as to how these procedures are carried out.
Conduct end of expedition procedures for backing up the database.
Provide courier services if called upon to do so.
Confirm with the MCS what is to be included in the backup going to shore and that it does cover all the information you are aware of that should go to shore.
Ensure all your code changes are checked in.
Clean the development office. Assist in the general cleaning efforts.
Be ready to move out. Your replacement will be here soon.
Port Call – off going
Provide assistance and information to oncoming developers.
Assist them to accomplish their oncoming duties.
They may not have sailed for quite a while, plan to:
Review your changes.
Review the current state of the labs.
Review the current state of deployed applications.
Post Expedition Activities
Provide assistance to the DBA and systems personnel to get the data from the ship restored and moved into shore production.
Review the shore repository and change log to ensure all your changes were correctly recorded and available to shore.
Review with the AD supervisor your activities during the expedition and any recommendations for further developments or improvements that are needed.