Best practices for software development in research community

advertisement
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
Download