Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 The last commit and the end of configuration management Bertrand Meyer Chair of Software Engineering, ETH Zurich Eiffel Software, Santa Barbara Work.

Similar presentations


Presentation on theme: "1 The last commit and the end of configuration management Bertrand Meyer Chair of Software Engineering, ETH Zurich Eiffel Software, Santa Barbara Work."— Presentation transcript:

1 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 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 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 4 Traditional configuration management process Update (check-out) Edit Commit (check-in) Reconcile

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

6 6 Software development today The programmer’s view:

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

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

9 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 10 Software development today The programmer’s view:

11 11 The CloudStudio view

12 12 Demo CloudStudio

13 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 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 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 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)http://se.ethz.ch/dose

17 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 18 The context: VAMOC, CAMOC Verification as A Matter Of Course Arbiter Programmer Suggestions Boogie prover Sep. logic prover AutoFix AutoTest Test case generation EiffelStudio Suggestions Test execution Test results Interactive prover

19 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 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


Download ppt "1 The last commit and the end of configuration management Bertrand Meyer Chair of Software Engineering, ETH Zurich Eiffel Software, Santa Barbara Work."

Similar presentations


Ads by Google