Download presentation
Presentation is loading. Please wait.
1
Managing Software in Higher Education
James Lambert Ian Rifkin Brandeis University #NC11_SESS36
2
Who We Are Software Systems Administrator Enterprise Architect
Your role? Why are you here?
3
Release Management What is release management?
Managing change by understanding what software is on your server(s).
4
How? How to accomplish goals of release management?
5
Applications at Brandeis
apx. 7 million lines of code Many are created in-house Some open source products Some proprietary products
6
Our Starting Point Software management practices apx. 4 years needed improvement Long, unmanageable application files Mixing of code, design, user information, IPs, etc all hard-coded in long files Limited usage of any version control (some CVS, some RCS) Code was often edited on the fly 3rd party software problems too (dependencies, upgrades)
7
Environments Sandbox: Individual developer’s area to create/edit
Development: Unit testing Test: Integration testing Production: It’s live!
8
Environment Builds What should you do with underlying software?
Apache, Java, libraries, class files, etc
9
Versioning Software Files
Version control software Version Control Sandbox Commit Changes Get Updates
10
Versioning Software Files
We use Subversion (svn) Directory structure of repositories: Trunk, releases, branches Directory structure within applications: .control (encrypted password files) bin (cron scripts) conf (configuration files) perllib (custom application code) templates (HTML templates) website (images, CSS, JavaScript)
11
Software Kits/Builds Builds/kits
Our builds take files from svn (trunk or a branch), groups them together with a version number, enabling them to be released. Build Server Version Control System Get files Group files Software Kit
12
Release Scripts What should happen when you release a software build?
Kit Send software kit, unpack and prep for application use Application Server
13
Releases Practices Set standards
Don’t “release and run” (esp. to production) Consider downtime implications Major versus minor release? What constitutes a critical (urgent) release and what should that mean? Who tests? Where are bugs recorded?
14
Communication Communication between developers is critical
Esp. when working together on a single product
15
Communication Don’t rely on version control for all of your communication Branches of code are needed at times, but add complications that need to be communicated
16
Questions? Ian Rifkin: irifkin@brandeis.edu
James Lambert:
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.