1 / 20

The last commit and the end of c onfiguration management

The last commit and the end of c onfiguration management. Bertrand Meyer Chair of Software Engineering, ETH Zurich Eiffel Software, Santa Barbara Work done with: Martin Nordio, ETH Le Minh Duc , Hanoi University of Technology. What this is about. Cloud-based IDE

kina
Download Presentation

The last commit and the end of c onfiguration management

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. The last commit and the end of configuration management Bertrand Meyer Chair of Software Engineering, ETH Zurich Eiffel Software, Santa Barbara Work done with: Martin Nordio, ETH Le Minh Duc, Hanoi University of Technology

  2. What this is about Cloud-based IDE Shared repository of software project (code and other artifacts) Direct manipulation by project members Unobtrusive configuration management

  3. Full disclosure Configuration management is one of the principal “best practices” of modern software engineering, which every project, large or small, should apply.

  4. Traditional configuration management process Commit(check-in) Edit Update(check-out) Reconcile

  5. There is a better way Unobtrusive, optimistic configuration management: • Wiki • Google Docs

  6. Software development today The programmer’s view:

  7. Software development today: the reality Development 1 Customer Development 2 Requirements

  8. Example: EiffelStudio development Shanghai: 12:00 AM Santa Barbara: 8 AM Moscow:19:00 Florida: 11 AM Zurich:17:00 France:17:00

  9. Issues Programmer: • Use latest version of others’ modules • Do not step over one another’s toes • Know what others are doing Manager: • Get true picture of development state • Allow different developers to work concurrently on the same software elements • Ensure all use same version of base modules • Avoid regression errors • Re-create previous version of system Both: • Avoid configuration errors (A uses wrong version of B) • Do not waste time on configuration mistakes • Avoid conflicts in new modules (or find them fast!) • Produce reliable software

  10. Software development today The programmer’s view:

  11. The CloudStudio view

  12. Demo CloudStudio

  13. CloudStudio principles Shared repository of software project (code and other artifacts) Direct manipulation by project members Instantaneous, accurate picture of state of development Unobtrusive configuration management

  14. An excursion into methodology “Commit Then Review” (CTR) over “Review Then Commit” (Apache) At Eiffel Software we are moving to CTR+: • Commit Then Review • Require (or strongly recommend) at least one review for every commit • Key to success is tools CloudStudio is the ideal context for such tools

  15. Configuration management in CloudStudio No need for explicit update and commit (but, internally, based on traditional conf. management) By default, changes are immediately reflected on the shared repository • Default granularity: a successful compile • Parameterizable Optimistic conflict detection • Encourages early conflict resolution (“fail fast”) Automatically managed history record Can go back to any earlier version Can define explicit, named versions Can revert to traditional update-edit-commit mode

  16. Challenges • Achieve performance • Provide same level of user interface quality as traditional version • Support branching • Find right level of granularity • Enforce discipline • Add appropriate management tools • Integrate communication tools (do not reinvent wheel) • Apply to teaching (Distributed and Outsourced Software Engineering course (DOSE), http://se.ethz.ch/dose)

  17. The context: seamless development Seamlessness is the central concept of the Eiffel method Refuse the distinctions imposed on us by prehistoric software methods: integrate • Analysis • Design • Implementation • Maintenance • Verification (proofs, tests) • Project management • Communication

  18. The context: VAMOC, CAMOC Boogieprover Sep. logicprover Interactiveprover AutoFix Verification as A Matter Of Course Arbiter Programmer Suggestions EiffelStudio Test execution Test case generation Suggestions AutoTest Test results

  19. Summary “Software Development is the ultimate Cloud application” (Ed Lazowska) CloudStudio leverages the cloud to provide a modern cloud-based IDE Commit and Update are not for humans

  20. The last commit and the end of Configuration Management Bertrand Meyer Chair of Software Engineering, ETH Zurich Eiffel Software, Santa Barbara Work done with: Martin Nordio, ETH Le Minh Duc, Hanoi University of Technology

More Related