• No results found

Applying Agile Project Management to a Customized Moodle Implementation

N/A
N/A
Protected

Academic year: 2021

Share "Applying Agile Project Management to a Customized Moodle Implementation"

Copied!
34
0
0

Loading.... (view fulltext now)

Full text

(1)

Applying Agile Project Management

to a Customized Moodle Implementation

November 6, 2013

Presented by:

(2)

Agenda

• What is CCLE?

• What is Agile?

• Overview of Scrum

• Moodle HQ and Scrum

• CCLE and Scrum

• CCLE Agile Retrospective

• Next steps - Automated Testing

• Questions

Goals:

• A basic understanding of Agile and Scrum

• How UCLA has applied Agile principals

• Get you thinking on how you can use these tools

(3)

What is CCLE?

Common Collaboration and Learning Environment

Common LMS for the Campus (Moodle 2.5.1)

 Supports: Instruction, Collaboration and Research

 Users: Faculty, Students and Staff.

First successful, large scale, project that pulls together

(4)

Growth of CCLE

Total Course Sites

Logins per Day Total Users

(5)

LMS on Campus 2013

Humanities - CCLE

GSEIS - CCLE

Social Sciences - CCLE

Nursing - CCLE Arts and Architecture - CCLE

Public Affairs - CCLE

Public Health - CCLE Statistics - CCLE

Anderson – CCLE

Physical Sciences - CCLE Mathematics – CCLE Engineering – CCLE (2014)

(6)

Shared Governance Model

Oversight

Academic Leadership, Deans, CIOs

Governance

Faculty Group Standards and Practices Group Student Group

Operations Autonomous Department System Common Interest Group (CIG) Shared Campus

Operations CCLE Subgroups

Autonomous Department System Autonomous Department System CCLE Home CCLE Home CCLE Coordinator Lead Developer Support Coordinator

System Administrator – Shared System Programmer/Back-up Sys Admin

(7)

CCLE: Customized Moodle

(8)

Managing Code Divergence

Moodle.org Core Time C ode D ive rge nc e CCLE Moodle

 Technical Debt: Moodle is constantly changing

 Rework is a constant.

(9)

• Developing and “Evolving” a customized Moodle instance amounts to a series of projects - some large, some small.

What is a Project?

A temporary group activity designed to produce a

unique product, service or result.

A project is unique; it is not a routine operation

Project management is the application of knowledge,

skills and techniques to execute projects effectively and efficiently.

(10)

Scope: Improvements, fixes, new functionality

Schedule: Often dictated by academic calendar

Resources: Existing staff, matrix staff, contractors

One cannot change without affecting the others

Two Methodologies to consider: Waterfall and Agile

Triple Constraint:

(11)

Compare Methodologies

Requirements Design Development Testing Deploy S T A R T R E L E A S E Waterfall Agile

“You know the least about a project at the start “

RE Q UI RE M E NT S Design Test Test Develop Integrate Test D EM O & F EED BAC K RE Q UI RE M E NT S Design Test Test Develop Integrate Test D EM O & F EED BAC K RE Q UI RE M E NT S Design Test Test Develop Integrate Test D EM O & F EED BAC K

Sprint 1 Highest Priority Features

Sprint 2 Highest Priority Features

(12)

 Agile projects are 3 times more successful than non-Agile projects.

Waterfall vs. Agile

The Standish Group defines project success as:

(13)

 Agile: “umbrella term” for Iterative, Incremental Software Development Methodologies.

 Agile methodologies include: Extreme Programming (XP), Scrum, Crystal, Dynamic Systems Development Method (DSDM), Lean, and Feature-Driven Development (FDD).

Agile methodologies emphasize: small teams delivering small increments of working software with great frequency while working in close

collaboration with the customer and adapting to changing requirements.

(14)

 Promotes Sustainable Development

 Constant Feedback

 Customer Collaboration

 Iterative Development

 Co-located Dedicated Team(s)

 Daily Communication

 Resolve Defects Early

 Self Organizing Teams - Team Members Take Ownership

Key Attributes of Agile

RE Q UI RE M E NT S Design Test Test Develop Integrate Test D EM O & F EED BAC K

“Responding to Change” Over “Following a Plan” Primary Measure of Progress:

(15)

Scrum is the most widely recognized Agile Framework for the

iterative development of software

 Note: Sometimes the term Scrum is used interchangeably with the term Agile, this is incorrect

Scrum is comprised of a series of short iterations–called Sprints.

 Each Sprint ends with the delivery of an increment of

working software.

Scrum = An Agile Framework

(16)

Product Owner

Stakeholder Representative - priority setting, “business side”,

controls $$, sets strategy and direction,

 Accepts/Rejects the work from the Sprint.

 Could have a PO proxy, more on this later

Development Team (7 +-2)

Product Creators: programmers, UI experts, testers, etc.  Cross functional skill sets, self organizing and self

managing, ideally full time and co-located.

Scrum Master

Project Facilitator. Supports the team as a servant-leader,

removes obstacles, has intuitional knowledge, helps to build consensus.

Process Coach - keeps the team true to Agile principles

(17)
(18)

Product Road Map - overall view of Product requirements

 Themes, “epic user stories”, tentative release time lines

Product Backlog - list of all User Stories associated with the

project – main source for project requirements

Sprint Backlog - list of Users Stories associated with the

current Sprint, includes estimates in hours to complete tasks (max time should be one day per task)

Increment - the sum of all the Product Backlog Items

completed during a Sprint and all previous Sprints

Burn Down Chart - a publicly displayed chart showing

remaining work in the Sprint Backlog

(19)

User Story:

A simple description of a product requirement

Title <a name for the user story>

As a <User or persona>

I want to <take this action>

So that <I get this benefit>

When I <take this action>, this happens <description of

action>

 Outlines the test case(s) for developers

Can form that basis of Automated Testing.

 Stakeholders have direct input – “Customer Collaboration”

(20)

Sprint - a consistent iteration of time (1-4 weeks)

 At the end the Development team deliveries of an increment of

working software.

Sprint Planning - beginning of the cycle, select the work to be done

Turn User Stories into Tasks - detail time and work estimates.

Daily Scrum - ~15 min Coordination - Not Problem Solving

 What did you do yesterday? What are you planning to do today?

 Any impediments/stumbling blocks?

Sprint Review – Demonstrate the working product

Sprint Retrospect – Post mortem done after ever Sprint.

 What went well?

 What would we like to change? How can we make the change?

(21)

Moodle HQ and Scrum

Moodle HQ’s move to Scrum

 Martin Dougiamas announcement December 10, 2010

 https://moodle.org/mod/forum/discuss.php?d=164057

 Moodle Tracker = Product Road Map : bugs and new features

 Major releases happening every 6 months (starting June 2012).

Scrum Roles:

 Product Owner - Martin Dougiamas

 Representing the voice of all Moodle users

 Scrum Master - Michael de Raadt

 Two Development Teams: FRONTEND and BACKEND

 Most Moodle HQ developers are in Perth

(22)

Moodle HQ and Scrum

Since 2.5 release both stable and dev work is achieved using Scrum.

Prior to 2.5 just stable

 Backlog for FRONTEND and BACKEND teams ranked by Product Owner

 Three week Sprints - teams select issues from their relevant Product Backlogs.

 Retrospective held at the end of each Sprint

 Two Sprints are followed by a project week

 Developers are free to work on their own Moodle-related projects.

 Daily Scrum meetings (remote people via Google Hangouts)

(23)

Product Owner

 CCLE is highly collaborative and consensus driven

 Two “Product Owner Proxies” represent the group.

Development Team (7 +-2) … Just short of 7

 CCLE Home Team: 1 lead developer, 1 programmer/UI expert, 1 tester application expert, ~4 part time student developers/testers,

 .5 FTE matrix assigned programmer

 ~.5 FTE “Contributed” testing resources

Scrum Master

 CCLE Coordinator (me): servant-leader, removes obstacles,

has intuitional knowledge, helps to build consensus.

Process Coach : CCLE Coordinator and Lead Developer

(24)

Product Road Map

 Features and Functionality Matrix (FFM)

 Captures input from stakeholders

 Reviewed and updated monthly

 1-2 years of work

Product Backlog

 Prioritized items from the FFM

 User Stories captured in Jira

Sprint Backlog

 Entered and edited in Jira, Kanban board

Increment - Captured in FFM and Jira

Burn Down Chart - Not used

(25)

Sprints - 1-3 weeks, varies

Sprint Planning – Turn User Stories into Tasks

 Consistent and Useful.

 Sprints include Bug Fixes and New Features

Daily Scrum

 Done virtually with Jabber

 Varied schedules and not all co-located

Sprint Review

 Released to stakeholders on Test and Stage environments

 Weekly meetings of key stakeholders

Sprint Retrospect

 Not held consistently; mostly discussion after major releases

 Not much time between Sprints

(26)

Requirements and Priorities

CCLE

F&F Matrix “Product Road Map”

Reviewed Monthly

CIG and SPG

F&F Matrix

Faculty Survey

Faculty Advisory Group

Student Survey

Student Advisory Group

CCLE

Development Team and “Product Owners”

(27)

Features and Functionality Matrix (H, M, L) Feature Types: • System Operations • CCLE Archival • User Interface • Functionality Improv. • Integration with Campus Systems • Other CCLE sites • Staffing Resources • Admin/Support Tools • Mobile • Copyright • Documentation • Merge Code to Moodle .org • Contribute to Moodle .org • Governance • Other

Prioritizing Feature Requests

(28)
(29)

 2010-2011 FFM created for Moodle 2 migration – Waterfall

 Fall 2011 - move to Agile approach

 June 2012 launched Moodle 2.0 with all critical functions working

 “less important” items iterated over summer and fall

 An Agile approach was key to the smooth transition

 Focus and Re-focus on the top priorities

 Remember and Communicate the Triple Constraint

 Nothing is perfect on day one

 Make sure the most important things are

(30)

Lessons Learned and Things to Work On

 Staffing falls short for true Scrum

 Product Owner Proxies are really representatives and have

limited “power”

 Some aspects of Scrum have not been implemented

 (Burn down chart, rigorous Scrum estimation techniques)

 Scrum is a skill - you get better as you do it.

 Testing is our Achilles heal

 It happened again moving to 2.5 …

 Common Agile Pitfall : Lack of Automated Testing

(31)

Automated Testing

 Behavior Driven Development (BBD) – Test Driven Dev.

Behat is a ‘behavior driven’ testing framework

 Behat scripts are human readable stories that describe the

behavior of your application.

 Behat scripts are called ‘features’

Each feature contains a scenario

Scenarios are basically Agile “User Stories”

Code may change over time, but the expected behavior should not.

 If the expected behavior has changed during a test, your code

(32)

Automated Testing

 Moodle.org supplies Automated Testing scripts in 2.5

 A custom Behat environment built to work with Moodle.

 Functions that generate data (like courses and students)

 A large set of predefined step definitions

 Example: “And I turn editing mode on”.

 Challenge for UCLA - heavily customized version of Moodle

 Edit Moodle supplied scripts

(33)

 Agile Project Management for Dummies, Mark C. Layton

 Platinum Edge Agile Training platinumedge.com

 http://agilemanifesto.org/principles.html

 http://agiledictionary.com

 http://docs.moodle.org/dev/Process

 http://docs.moodle.org/dev/Process#Sprints

 Project Management Institute http://www.pmi.org/

 http://en.wikipedia.org/wiki/Behavior-driven_development

 http://behat.org/

(34)

Curtis Fornadley, PMP

CCLE Coordinator

[email protected]

References

Related documents

According to this ……… , they are opening a new sports shop in the town centre.. Our advertising campaign will ……… that the new bicycle is strong

in sport psychology: 1 the situational approach, which considers that the mere presence of stereotypes in the environment is sufficient to affect individuals e.g., stereotype

A treatment planning and acute toxicity comparison of two pelvic nodal volume delineation techniques and delivery comparison of intensity-modulated radiotherapy versus volumetric

In this respect the Lippi’s (2003) result, whereby conservatism of monetary policy and centralized wage setting affect equilibrium employment only through the output and

Criteria: Applicant must be a graduate of Covington High School and live in the Covington district for the prior year and be in the top 50% of their class, be accepted as

Section 3 explains the proposed conceptual view design of the unified architecture for HEMIS based on the adopted principles of Siemens’ Four-View Model,

Similar HbA1c reductions to metformin or sulfonylurea Low risk of hypoglycaemia Cost No convincing evidence that POOs (patient orientated outcomes) are positively

Using oracle database which will accept the input values as input parameters such as price, performance, quality, delivery and returns the output values through