Whirligigs and mountains 1

47
The EduNxt story From Manipal Global Education whirligigs and mountains Tuesday 6 March 12

description

Canopus Consulting presentation at Agile India 2012

Transcript of Whirligigs and mountains 1

Page 1: Whirligigs and mountains 1

The EduNxt story From Manipal Global Education

whirligigs and mountains

Tuesday 6 March 12

Page 2: Whirligigs and mountains 1

• High Performance, Transaction Systems

• If you have throughput needs of millions of transactions per hour, we are the people to talk to :)

• Content Management, Semantic Computing & Cultural Informatics

• agropedia.net

• EduNxt a large scale virtual learning environment which won Golden Peacock Award for best innovation.

• Platform Oriented Architectures, SaaS and Cloud Computing Solutions

2

Tuesday 6 March 12

Page 3: Whirligigs and mountains 1

Vision required funding

=> need for a roadmap,

resource plan, business value,

budgets etc upfront

“Eliminate the need for physical contact between teachers

and learners”

March 2007

However...Never used technology to deliver core business value

Had no technology development function

Uncertainity and change

Cannot articulate vision into

project deliverables or

own its development

Tuesday 6 March 12

Page 4: Whirligigs and mountains 1

EduNxt was built, over multiple iterations, with a small team, improved with constant user participation and delivered business value. We have bought in agility that has transformed the enterprise

4

April 2008: TEL launched on MoodlePDF content, quizzes1000 learners, 4 trained

faculty

April 2009: EduNxt launched for DE

SLM content, quizzes, course plans, assignments20,000 learners, 20 trained

Dec 2011 EduNxt is Multi-institute & SAAS

Multi-media content, various assessments

200,000 learners, 4000 facultyMultip

le smalle

r relea

ses

almost 1 a

week

Monthly releases

...

Tuesday 6 March 12

Page 5: Whirligigs and mountains 1

In this session we present

5

• Using Open Sources based architecture principles to circumvent the rigidity of an end-user enterprise

• Architecture & design techniques to establish a platform for agile development

• Engineering processes required and team challenges we overcame before Agile worked in our enterprise

Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 6: Whirligigs and mountains 1

Initial Days: March -December 2007

• The technology team - me,

• we later brought on 2 PHP developers

• We were working for - Academics Central a core group of academicians tasked with driving TEL

• Our references - a paper on virtual universities written by Nag, a vision paper by Dr Bhushan and the work done on online learning at University of Athabasca

6Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 7: Whirligigs and mountains 1

The domain of education

• Unlike domains like Banking, Retail, Insurance which have business process centric, operationally heavy, lend themselves to data and information processing, Education is an elusive human activity.

• The measure is the development of a human being, not consumption/production.

• Requires and is dependent of human contact.

• Technology Enabled Learning is "applied humanities" , not applications of computers in humanities

7

Tuesday 6 March 12

Page 8: Whirligigs and mountains 1

The domain of education

• Unlike domains like Banking, Retail, Insurance which have business process centric, operationally heavy, lend themselves to data and information processing, Education is an elusive human activity.

• The measure is the development of a human being, not consumption/production.

• Requires and is dependent of human contact.

• Technology Enabled Learning is "applied humanities" , not applications of computers in humanities

7

We could only solve the problem in stages, with each stage our understanding would deepen and become

the basis for the next stage of evolutionTuesday 6 March 12

Page 9: Whirligigs and mountains 1

Users to stakeholders• Our users were too inexperienced with technology to be

stakeholders of the CEO’s vision.

• They needed to assimilate technology & use it in their work

• They needed small, positive reinforcements instead of a big-bang release

• They would need to become participants in creating the technology

8

Tuesday 6 March 12

Page 10: Whirligigs and mountains 1

Users to stakeholders• Our users were too inexperienced with technology to be

stakeholders of the CEO’s vision.

• They needed to assimilate technology & use it in their work

• They needed small, positive reinforcements instead of a big-bang release

• They would need to become participants in creating the technology

8

We would have to work with our users and enable them to outgrow a set of requirements and then ask

for the next setTuesday 6 March 12

Page 11: Whirligigs and mountains 1

The Whirligig Approach

• Build a version with our current understanding

• Use this to help our users assimilate technology and progress towards being stakeholders

• Build the next version with enhanced understanding

• ...in essence allow our users to outgrow their requirements

Tuesday 6 March 12

Page 12: Whirligigs and mountains 1

The enterprise IT project way

• Creating a complete requirement and outsourcing or buying a commercial product would fail

• The requirement would only be what we understand today

• The product, because of its domain centricity and cost would lock us in

• Our users would be dictated to by the functionality that is assumed in the tool and would never become stakeholders

10Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 13: Whirligigs and mountains 1

On the other hand• Open sources platforms seem to be ideally

suited for our whirligig approach

• They are designed to allow a large community of independent contributors to programmatically extend them

• Would help us to start with the simplest model and add modules in conjunction with our users - thus the positive reinforcement and sense of contribution

11Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 14: Whirligigs and mountains 1

Open Sources - An Architecture perspective

• An Open Sources platform such as MediaWiki, Moodle or Drupal attempts to solve horizontal problems rather than specific vertical problems.

• Generalizations rather than very specific solutions

• Therefore makes very little assumption on how someone will use it - alternatively, we are free to use it as we see fit

• Moodle - works with 3 basic entities Courses, Activities and Resources that apply across different types of learning methods

• It does not attempt to enforce a method such as a mastery based approach or one specific for distance education

12Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 15: Whirligigs and mountains 1

Open Sources - An Architecture perspective

• They are basically platforms designed to be extended by programmers

• They have simple data models

• Provide mechanisms like hooks to allow INDEPENDENTLY developed modules to be plugged in and used independently or together

• This is what enables Moodle to have 100’s of contributed modules

13Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 16: Whirligigs and mountains 1

The Moodle Alternative

14

Content&Management&or&Domain&Specific&Tool&

BlackBoard&Moodle&Dokeos&Sakai&

Moodle&

Create course plan, deliver PDF content,

author & deliver a quiz=> Where can we get this out of the box?

Cost and lock-inEase of customizing

and setting upWhat kind of dev skills are required

300 + contributed modulesInstalled and created a course in a few hours

Had been around for over 6 years, was in version 1.7

Used in University of Athabasca, our favorite

reference

Tuesday 6 March 12

Page 17: Whirligigs and mountains 1

Convincing the mountain

• Larger the budgets more the formality associated with IT projects in the enterprise - business plans, exact requirements, expected value

• We decided we would start with a small budget till such time as the organization would reach the point of readiness to fund the vision

• 2 programmers on contract

• No upfront licensing costs

• Released TEL v1, its success led to EduNxt and its success in turn to EduNxt V2

15Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 18: Whirligigs and mountains 1

TEL evolves16

TEL 0.1 launched on Moodle with

MSC CRRA

Aug 2009, we are looking at enabling a very different type of

program

There is also an increasing focus on developing communities and on tools for collaborative learning

May’09

April’08

Aug’09

12-May-2009: EduNxt launched for DE

SLM content, quizzes, course plans, assignments20,000 learners, 20 trained

Multiple sm

aller r

eleases

almost 1 a

week

...

TEL development gets a 3 year roadmap and budget

Decision to develop technology in-house

Tuesday 6 March 12

Page 19: Whirligigs and mountains 1

Users to Stakeholders

17

• A requirement such as tracking scores of quiz attempts led to the inclusion of the advanced grade book module

• Via a small interaction between a teacher and one of our programmers - find the module, install it, go through the options, customize it and set it up

• The teacher adopts grade book and becomes its evangelist to the others

• By April 09, our teachers referred to the technology as “namma edunxt”

Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 20: Whirligigs and mountains 1

Where did Version 1 take us?

18

• A success story within the enterprise - for the dev team and our users at academic central

• With a cost of around 55L, 4 PHP programmers and a year or so of effort - EduNxt had gone live and was actively used

• Our users had understood “LMS” and its role in technology enabled learning and were now ready to outgrow it

• Manipal was now ready to take more ownership of developing its own education platform

Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 21: Whirligigs and mountains 1

Tuesday 6 March 12

Page 22: Whirligigs and mountains 1

Tuesday 6 March 12

Page 23: Whirligigs and mountains 1

• Moving from content in a course to course in content

20

Tuesday 6 March 12

Page 24: Whirligigs and mountains 1

Evolution• We needed a new set of

features like activity books, content feeds, and the ability to build different types of communities with their own tools

• We knew the request rate for similar features would increase & that the features would evolve and interact

• Supportability => features to improve productivity of other stakeholders such as operations, program execs & our own dev team

21Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 25: Whirligigs and mountains 1

The Architecture Approach

• The typical “Mountain” approach: strengthen the domain model, build a domain specific platform

• Successful software however favors a move towards more generic data structures - less assumptions on how it can be used

• We favored building assets & not programming requirements

22

Tuesday 6 March 12

Page 26: Whirligigs and mountains 1

The Architecture Approach

• The typical “Mountain” approach: strengthen the domain model, build a domain specific platform

• Successful software however favors a move towards more generic data structures - less assumptions on how it can be used

• We favored building assets & not programming requirements

22

Every version of our Architecture is an evolution towards making it more horizontal rather than

specific to a domain requirementTuesday 6 March 12

Page 27: Whirligigs and mountains 1

23

More Generic

Moodle&

Generic&Content&Management&Tool&:&MediaWiki,&Wordpress,&Drupal&&

Drupal&

Versatile CMS used for multiple purposes

Simple Node based data model

Existing set of modules like Quiz, Grade Book,

Organic Groups that we could use

How close is it to our problem of content + LMS + Communities

What is extent of customization

What would be migration effort

Outgrowing the domain model of “Course”, “Activity”,

“Resource”

Tuesday 6 March 12

Page 28: Whirligigs and mountains 1

Design techniques for services

• The Supportability Framework gave us a way to identify the generic structures

• We also introduced some basic principles that are required for the design of such services

• make characteristics such as performance, modifiability and extensibility predictable and independent of functionality

24Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 29: Whirligigs and mountains 1

7 habits of successful components

• The Awareness Principle: The estimations of the self have to be tempered by the knowledge of the self

• The Service Principle: Design based on contract law. Our clients chose us based on the SLA we offer

• Communication of State Principle: Dignity is not sweeping under the rug

• The Time Principle: Center design on variables that change less often

• The Patience Principle: Be comfortable with some amount of discomfort

• The Responsibility Principle: Environment is dynamic and the world is cruel - so have your self defenses

• The Collaboration Principle: Bridges are solely for others to cross, don’t hold on to them

25Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 30: Whirligigs and mountains 1

Awareness Principle • The estimations of the self have to be tempered by the

knowledge of the self

• Each service should compute an indicator of its state of health at all times

• statistics: number of requests, drain rates, resource waits, number of errors

• global state: maintenance, bulk uploads, delivering an exam

• Tune what can be delivered based on the state of the service

• Do not allow expensive operations like bulk course edit if an exam is being served

26Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 31: Whirligigs and mountains 1

Time Principle• Center design on variables that change less often

• Almost all our functionality are modeled on basic data entities such as content, community, unit of learning, activity, person and tools and services such as scheduling, rule execution, RBAC, events, notification and bulk operation processing

• While individual functionality like a course plan changes rapidly, underlying structure of a content collection data-type does not

• Core services are refined at a slower rate and bring consistency across iterations

27Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 32: Whirligigs and mountains 1

Patience Principle• Be comfortable with some amount of discomfort

• Key to enabling scalability especially in content centric environments

• Unlike transactional environments, EduNxt can afford to be eventually consistent

• A list of all content for a learner in a class need not be updated in a transaction when new content is added to the class

28Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 33: Whirligigs and mountains 1

Patience Principle• Therefore, reads and writes can be largely

separated from each other and changes can be propagated asynchronously

• This enables us to pre-generate views of data for individuals, reducing query complexity at read time

• Course material views

• Latest forum updates

• Activity streams

29Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 34: Whirligigs and mountains 1

Responsibility Principle• Environment is dynamic and

the world is cruel - so have your self defenses

• Especially in a PHP environment defensive programming is a must

• Restrict all our business services calls only to the controller

• Validate input data ruthlessly

• Add checksums to sensitive data

• Automatically log every exception - irrespective of the developer’s code

• The PHP Mess detector to sniff out too many if-then-else loops

• Invert the logic of if-then-else loops to do work only if a specific condition is explicitly met

30Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 35: Whirligigs and mountains 1

Content&Community&Users&Workflows&&Transac5ons&

BI&store&

Content&&services&

UOL&services&

Community&services&

Person&services&

Learning&&tools&

Blogs,&wikis,&SLM&,&…&

Search&Release&engine&

Classrooms&Groups&

Organiza5on&units& Rich&Profiles&

Gradebook&Progress&report&

Quiz&engine&

Controller&

Drupal&based&views,&modules&CAS&–&SSO&

Ac5vity&services&

Subscrip5ons&Content&import&

SCORM,&packages&

Course&templates&

Learning&objec5ves&

Progress&tracking&

Assimilate&

Prac5ce&

Assessment&

Evalua5on&

REST&interface&&(Ipomo/SAP)&

• Our own custom developed modules

• Drupal core modules & infrastructure

• Community contributed modules31

Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 36: Whirligigs and mountains 1

EduNxt v2• In use since March 2010

• Large scale distance, pure online and campus based implementations

• 200,000 + learners, 4000+ faculty

• Multiple active communities

• Content across courses

32Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 37: Whirligigs and mountains 1

Users to Stakeholders

33

• Users have now assimilated managing large courses and online communities with EduNxt

• The problem now under discussion is using technology to address the cost of creating learning content

Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 38: Whirligigs and mountains 1

The next generalization

• Strengthening the domain model - adding pedagogy management to content/community management

• Integrating EduNxt with specialized tools

• Mendeley, Fedora, MediaWiki for editing ...

• Using RDF as the integration glue

34Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 39: Whirligigs and mountains 1

Today,

35

• EduNxt is now entering version 3.0 and delivers a sizable part of the core business

• EduNxt has a roadmap and a plan that is funded till 2015.

• A technology development function operates within Manipal, makes frequent releases

• Manipal launches frequent new programs on EduNxt

Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 40: Whirligigs and mountains 1

Agility & Expertise

• Agile development requires the development team to commit to providing a quality deliverable in a fixed time

• A collective commitment

36Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 41: Whirligigs and mountains 1

Agile Progression

• 2007-2008: mostly customization of Moodle, no fixed iteration window but instead constant releases

• 2009-2010: Development around Drupal, struggled to use SCRUM effectively

• 2011-12: SCRUM is now used as a discipline

37Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 42: Whirligigs and mountains 1

2009-10• Delayed in every iteration - constant carry-forward to the

next iteration

• On an average 60% of features would be developed

• Completion of deliverable was ambiguous

• Unit test cases seldom written

• Performance considerations ignored

• Problems

• Inability to estimate

• Engineering discipline

38Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 43: Whirligigs and mountains 1

Estimation• Normally functional decomposition

• Often done by the lead or project manager and given to the developer

• Instead needs to be based on:

• Identify the programming objects required to solve the problem

• Estimate the time/effort to deliver these objects with a given degree of quality

• Complexity of the environment, individual capability, etc

39Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 44: Whirligigs and mountains 1

Programming Objects

• Initially meant whatever to whoever

• Introduction of our finder-decorator and core services addressed this - now all programming tasks relate to the creation or extension of these

• In addition all test cases and required documentation

• Require this detail in our iteration planning meeting to pick up a feature

40

!

Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12

Page 45: Whirligigs and mountains 1

Discipline through automation

• Build processes

• Sniffers

• The environment mandates some activities to be part of the programming objects - become default part of estimation and not add-ons

41

For an agile discipline to succeed, expertise must be developed within and around the team

Tuesday 6 March 12

Page 46: Whirligigs and mountains 1

EduNxt Evolution2007 - Starting 2009 - inflection Today

As seen by the Enterprise

Small localized project.

Minimal funding

Important business differentiator across programs

3-year funding

Monetizable IP. SAAS based offering.

Enables Business Agility

Committed funding

Stakeholder involvement

Skeptical, how to use technology in learning

Increased enthusiasm, emergence of champions

Users are part of product definition & development

Development approach Quick win focused

Quarterly major releases with multiple interim releases.

Separate core and instance development. Adoption of SCRUM

Team sizes 4 PHP developers 12 person dev team 14 person dev team, 4 person testing team

42Copyright 2012 Canopus Consulting www.canopusconsulting.com

Tuesday 6 March 12