1 / 22

Why don’t we practice what we teach?

Why don’t we practice what we teach?. 6-25-03. Andre Oboler, David McG. Squire and Kevin B. Korb School of Computer Science and Software Engineering, Monash University, Melbourne, Australia. Engineering Software for Computer Science Research in Academia. Out Line.

margie
Download Presentation

Why don’t we practice what we teach?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Why don’t we practice what we teach? 6-25-03 Andre Oboler, David McG. Squire and Kevin B. Korb School of Computer Science and Software Engineering, Monash University, Melbourne, Australia Engineering Software for Computer Science Research in Academia.

  2. Out Line • “Computer Science Research” and “Software Engineering” • Is this research relevant to me? • Do researchers use software engineering? • Current practice • Impact of current practice • Getting the right mix • RAISER / RESET a new SDLC to support the creation and development of research software.

  3. 6-25-03 Use SE in CS Research? • What is “Computer Science”? • What is “Research Software”? • What is “Software Engineering”? • Is Software Engineering used when creating Research Software in Computer Science (or similar) university departments?

  4. Approach • Triangulation of: • statistical analysis of survey results • Interviews and E-mail discussion with experts • observations from case studies These methods investigated the use, costs and benefits of using Software Engineering in Computer Science Research

  5. Past work • no prior work on the costs/benefits of software engineering for research software • This trend was started by Royce (1970) when he suggested that small projects used only by the developer need only use a 2 step analysis / coding approach (rather than his waterfall SDLC) • This view that research is too small to warrant software engineering is still prevalent. • Research is still approached this way.

  6. Results Application of SDLCs in research

  7. Problems with a lack of Software Engineering • A lack leads to a waste of new research students’ time • Follow on research is harder to achieve (some valuable research may be shelved) • Authenticity of results is harder to verify • Shortens the useful life of the project • Shorter projects have less benefits

  8. 6-25-03 Why don’t we practice what we teach?

  9. 6-25-03 Because research has different needs to industry • The needs of research and researcher are different • Documentation: • Main work is by current researchers • Main benefit is for future researchers • Design / Code quality: • Main benefit is for future spin off research • Time pressures mean getting publications is more important

  10. Reason Percent that agree with this reason Never thought about it 14% Don't know about them 11% Cost of learning them is too high 17% Not appropriate for my work 83% Cost of use is higher than pay off 46% Organisational Policy against spending time on them 3% Why Software Engineering is not used

  11. Considerations for an SDLC to meets the needs of research

  12. “A system built as part of a Ph.D. project is intended to prove feasibility, and it would almost always be a mistake to spend the time and effort during initial development to build it to product-quality standards” (Brooks, 2002).

  13. “The primary aim [of research] is to get a flaky prototype working sufficiently to get a few statistics out. There is absolutely zero [incentive] for producing a robust, flexible, extendable piece of software” (Alison, 2002).

  14. “The major problem is that research projects tend to be opportunistic rather than planned” (Waite, 2002).

  15. “The implication is that any SE approach for research software would have to be agile and evolutionary in nature” (Pressman, 2002).

  16. Documentation for the CDMS Case Study“We're not sure how this will happen. We were sort of hoping it would happen by magic or be delivered by a stork” (Alison, 2002).

  17. The RAISER / RESET idea • Separate research activities from stabilization • Limit the negative impact during research phases • “Clean” up code so it is ready for the next researcher to continue working on • While many researchers do not use software engineering, those that do use it predict they will use more in the future, this is potentially as harmful as the current lack of application.

  18. The SDLC Model

  19. Implementation The in house software development lab

  20. Questions? NB: Future work will be undertaken in this area over the next three years, feedback is most welcome!

More Related