Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Cleaning Up the Mess: Modernizing Your Dev Team’s Outdated Workflow

417 views

Published on

A talk given at the 2017 ALA (American Library Association) Annual Conference, Chicago, June 25, 2017. Presenters: Bohyun Kim, Associate Director for Library Applications and Knowledge Systems, Brad Gerhart, Web Developer, Zak Burke, Senior Web Developer from
University of Maryland, Baltimore - Health Sciences and Human Services Library.

Published in: Technology
  • Be the first to comment

Cleaning Up the Mess: Modernizing Your Dev Team’s Outdated Workflow

  1. 1. - Bohyun Kim, Associate Director for Library Applications and Knowledge Systems - Brad Gerhart, Web Developer - Zak Burke, Senior Web Developer University of Maryland, Baltimore - Health Sciences and Human Services Library ALA Annual Conference, Chicago, IL - June 25, 2017.
  2. 2. What happens when you join a development team that went through many changes in personnel and team workflow over time? What will you do if there is no consistent and streamlined workflow for application development and deployment? As either a new manager or a member of such a development team, how would you go about modernizing the development process and creating a collaborative and efficient workflow?
  3. 3. An efficient and collaboration-friendly application development workflow Benefits a development team of any size – including a one-person team – by keeping the code base free from software rot and missing documentation.
  4. 4. 1) Get to know your dev team and environment. 2) Components of the modern application development and deployment process 3) What steps to take to introduce and implement the best practices such as an intuitive file/directory structure, a centralized code repository, version control, and up-to-date documentation? 4) What is achieved. 5) Discussion
  5. 5. Who are the members? How many are there? What is the current development process? Is there a collaborative workflow? Is it consistent & streamlined or ad hoc?
  6. 6. AD for IT Web Developer Senior Web Developer Systems Administrator
  7. 7. No collaborative workflow No separate environment for dev / testing / staging / prod No version control No standardized or automated deployment process
  8. 8. StaffHelp2 StaffHelp_test StaffHelp New_StaffHelp ….
  9. 9. Personnel changes over time No proper transition steps in process Lack of documentation Easier moving on to the next project than cleaning up the remnants from the dev/deployment process Unruly mess gets worse. Unsure when to remove what as time goes by Will it survive the next server OS version upgrade?
  10. 10. Keep the file/directory structure simple and intuitive as much as possible. Always get rid of old files. Don’t overdo it with the symlinks. Automate deployment. Do the README doc right. Use version control.
  11. 11. Inventory Identify Organize Documentation and Version Control
  12. 12. What does it do? When was it created? What are the components and their functions? What are the parts that are no longer in use? Are there any written docs?
  13. 13. http://www.agiledata.org/essays/sandboxes.html
  14. 14. Staff-facing applications Public-facing applications Applications that takes files from users
  15. 15. Hosts all working copies of the applications deployed in the prod both staff-facing and public-facing. Staff-dev Www2-dev README.doc – Purpose, application architecture, dependency, url routing, etc. Config files – details about connecting databases, server directories to know, etc.
  16. 16. README Docs Intro Dependencies Local environment Configuration Deployment Version control Master Dev
  17. 17. All applications are documented properly. Created the Dev environment separate from the Production. Introduced version control. Created a central repo in the cloud (Bitbucket). New collaborative workflow
  18. 18. Go to the dev space. Create a working directory for you. Clone the copy from the BitBucket repo. Create a branch. Work on your feature/fix. Check in the branch. Commit the changes.
  19. 19. Merge and push the feature branch to the BitBucket repo. Merge with the master branch. (put in a tag) Go to the prod. Git pull the master branch. Make sure all is well!
  20. 20. A common understanding and overview of all applications we have. Getting used to using Git for the team setting. Get the individual’s work environment set up. Everyone uses a slightly different tool-set. Determines what makes sense to your team.
  21. 21. Old C# applications refactored Multi-tier environment & advanced workflow simplified
  22. 22. Nothing works without continued care. Things break all the time because of external variables that change. Server OS version upgrade Part of the code base expires (API credentials, etc.) And so on… Keep things tidy and well-documented! Clean-up and documentation in a timely manner. Revisit and update on a regular basis.
  23. 23. QUESTIONS? - Bohyun Kim, Associate Director for Library Applications and Knowledge Systems - Brad Gerhart, Web Developer - Zak Burke, Senior Web Developer University of Maryland, Baltimore - Health Sciences and Human Services Library

×