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.
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Cleaning Up the Mess: Modernizing Your Dev Team’s Outdated Workflow
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. 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. 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. 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. 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. AD for IT
Web Developer
Senior Web Developer
Systems Administrator
7. No collaborative workflow
No separate environment for dev / testing / staging / prod
No version control
No standardized or automated deployment process
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. 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.
15. 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?
21. 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.
29. 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
30. 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.
31. 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!
32. 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.
34. 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.
35.
36.
37.
38.
39. 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