130 likes | 141 Views
Explore the readiness of university libraries for Agile software development. Learn about Agile principles, benefits, and implementation experiences, including at the University of Michigan. Discover challenges and the evolving landscape of Agile adoption.
E N D
Shifting to Agile: Are University Libraries Ready? Kayla Ondracek – Project Manager NabeelaJaffer – Applications Programmer
“Agile software development is a set of principles for software development in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.” https://en.wikipedia.org/wiki/Agile_software_development
Frameworks • Scrum (very popular! Focus on iteration, fast delivery, can’t fully understand the problem at the beginning) • Kanban (process management, just-in-time delivery) • Extreme Programming/XP (pair programming, code review, only coding features when they are needed) • Etc…
What does it mean to be Agile? • 12 Principles – Highlights • Customer satisfaction by early and continuous delivery of useful software • Delivery working software more frequently • Projects are built around motivated individuals, who should be trusted • Face-to-face conversation is the best form of communication • Continuous attention to technical excellence and good design • Self-organizing teams agilemanifesto.org/principles.html
What are the benefits of Agile? • Clear expectations between stakeholders & team • Transparency, visibility during development • Increased stakeholder engagement • Adapt to shifting/uncertain requirements • Manage & reduce risk • Helps libraries to respond quickly to changing information environment to better serve patrons
University of Michigan experience • Interest in Agile principles for some time • Grassroots, experimental approach • Pockets of implementation • Learning Technologies Incubation Group • Cross-department teams • Working with vendors
University of Michigan experience • MHydra Prototype • Focus on creating & facilitating a self-organized, empowered team • Pair-programming & group code walk-throughs used to share knowledge and come to shared understanding of codebase • 2-week iterations • Standard scrum events (standups, planning, refinement, review, retrospective) • Research Data • Development based on user stories, agreed-upon MVP (minimum viable product) • Self-organized team
University of Michigan experience • Publishing & Bentley Historical Library • Working with a vendor for development – DCE & Artefactual • Vendor has significant experience running as scrum • As stakeholder, U-M invited to daily stand-ups, planning, review
Others • Private research university • Standard team composition + business analyst • UX involvement in planning and testing, reconciliation to requirements • 2 week sprints, JIRA • “All-hands” meetings every 6 months to sketch out dev cycles • Self-organizing. Developers work well together • Challenge? Managing stakeholder communications & expectations • Easiest? Getting feedback at the end of a development cycle
Challenges • Communicating core principles of Agile - meeting purposes • Shifting mindsets – Enabling the team to feel empowered • Working with “timeboxed” approach • Managing communication & increased involvement with stakeholders • Harder to involve library patrons than in classic client model
Landscape • Themes • Adoption timelines – some have been using Agile principles for years, some have just adopted • Project/department-based testing, then broader implementation • http://docs.lib.purdue.edu/iatul/2014/plenaries/1/ • http://journal.code4lib.org/articles/4642 • Flexible implementation – teams & institutions choose applicable principles, stretch principles (longer sprints, etc) • http://journal.code4lib.org/articles/7394