Best practices for software development in research community Present: Steve Brewer (scribe), Steve Lee (facilitator), Teijun, Gagarine, Mathew, Liz, Tim, Gareth Smith web: www.omii.ac.uk email: info@omii.ac.uk SW development processes - discussion • Different approaches for different types of s/w o Radiation safety different to others • Social interaction skills: just making contact to arrange meetings; right mix of personalities; “not just a plumber” ; need to establish initial relationship • Environments are different socially and technically • Short and frequent development meetings (time-boxing) • SSADM over formal • Time investment crucial – timestamp documents for review (document review is difficult) • Don’t say “this is the system we are going to build” needs to be more subtle 2 web: www.omii.ac.uk email: info@omii.ac.uk Scientist view • Short and frequent meetings • AGILE good; easier to communicate with scientists if you have a prototype to talk about • People think better while discussing something (general view) • 20 minute discussion; swift mock-up; review • Review must involve many people to avoid narrow view. • Embedded developers; learn politics of group; learn who to talk to o • • • • Pragmatic knowledge of how groups work; different members of team will have different amounts of contact time. Inter-connectivity is important amongst groups and organisations Project management skills important to control this and resolve conflicts Open process (distributed) v. rapid (localised) Different types of code a need different approaches: algorithms v. framework (research tools (physicist’s tools) require rapid dev) • 3 web: www.omii.ac.uk email: info@omii.ac.uk Developers view • Open v. closed • Scientists want to keep their specialised code • Still a place for requirements gathering as appropriate to project 4 web: www.omii.ac.uk email: info@omii.ac.uk Approaches • Agile 5 web: www.omii.ac.uk email: info@omii.ac.uk Conclusions • Personality is everything o Embedding developers crucial o Soft skills more important than technical skills o Discussions can be confusing if terminology not understood o Communication skills important • All parties must have an understanding of process • Must get sign off • Need project management to monitor and control process (bug tracking, phased deployment • Development approach must suit situation – and reflect the fact that the research is typically a managed project too 6 web: www.omii.ac.uk email: info@omii.ac.uk Future work • Guidelines for developers (and scientists) on process o Internal docs, recommended texts, recommended approaches (Agile or Rapid Prototyping etc…), OS/OD… • Best practices – summary of these (the application of specific methods) – raise awareness • Communication of best practices (video, Web, docs) • Scientists introduction to project management approach • Review NeSC document on curricular development for U/Gs (requested by Liz) 7 web: www.omii.ac.uk email: info@omii.ac.uk