Evolution of Configuration Management in Software Engineering

Slide Note
Embed
Share

Explore the evolution of configuration management in software engineering, highlighting key practices like cloud-based IDE, shared repositories, and unobtrusive configuration management. Understand the importance of modern best practices in software development, traditional vs. optimistic approaches, and challenges faced by programmers and managers. Delve into examples and solutions for efficient software development in today's dynamic environment.


Uploaded on Sep 11, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

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 1

  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 2

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

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

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

  6. Software development today The programmer s view: 6

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

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

  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 9

  10. Software development today The programmer s view: 10

  11. The CloudStudio view 11

  12. Demo CloudStudio 12

  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 13

  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 14

  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 15

  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) 16

  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 17

  18. The context: VAMOC, CAMOC Verification as A Matter Of Course Sep. logic prover Boogie prover Interactive prover AutoFix Arbiter Programmer Suggestions Test execution EiffelStudio Test case generation Suggestions AutoTest Test results 18

  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 19

  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 20

Related