whirligigs and mountains                     The EduNxt story From Manipal Global EducationTuesday 6 March 12
•         High Performance, Transaction Systems             •        If you have throughput needs of millions of transacti...
“Eliminate the need for     physical contact between teachers                and learners”                          March ...
April 2009: EduNxt           launched for DE         SLM content, quizzes,       course plans, assignments                ...
In this session we present             • Using Open Sources based architecture                     principles to circumven...
Initial Days: March -December 2007             • The technology team - me,               • we later brought on 2 PHP devel...
The domain of education             •       Unlike domains like Banking, Retail, Insurance which have                     ...
The domain of education             •       Unlike domains like Banking, Retail, Insurance which have                     ...
Users to stakeholders             •       Our users were too inexperienced with technology to be                     stake...
Users to stakeholders             •       Our users were too inexperienced with technology to be                     stake...
The Whirligig    Approach    • Build a version with our          current understanding    • Use this to help our users    ...
The enterprise IT project way             • Creating a complete requirement and outsourcing                     or buying ...
On the other hand             • Open sources platforms seem to be ideally                     suited for our whirligig app...
Open Sources - An Architecture             perspective             •       An Open Sources platform such as MediaWiki, Moo...
Open Sources - An Architecture             perspective             •       They are basically platforms designed to be    ...
The Moodle Alternative                                                        Moodle&                                     ...
Convincing the mountain             • Larger the budgets more the formality associated with IT projects                   ...
12-May-2009: EduNxt                                                  TEL development gets a 3             launched for DE ...
Users to Stakeholders             •       A requirement such as tracking scores of quiz attempts                     led t...
Where did Version 1 take us?             • A success story within the enterprise - for the dev team                     an...
Tuesday 6 March 12
Tuesday 6 March 12
• Moving from content in a course to                     course in content                                                ...
Evolution             •       We needed a new set of                   •   We knew the request rate                     fe...
The Architecture Approach             •       The typical “Mountain” approach: strengthen the                     domain m...
The Architecture Approach             •       The typical “Mountain” approach: strengthen the                     domain m...
More Generic                                                          Drupal&                                     Generic&...
Design techniques for services             •       The Supportability Framework gave us a                     way to ident...
7 habits of successful components             •       The Awareness Principle: The estimations of the self have to be temp...
Awareness Principle             • The estimations of the self have to be tempered by the                     knowledge of ...
Time Principle             • Center design on variables that change less often               • Almost all our functionalit...
Patience Principle               • Be comfortable with some amount of discomfort                     • Key to enabling sca...
Patience Principle                     • Therefore, reads and writes can be largely                        separated from ...
Responsibility Principle             •       Environment is dynamic and               •   Add checksums to sensitive      ...
REST&interface&&                  CAS&–&                      Drupal&based&views,&modules&                                ...
EduNxt v2                                                              •       In use since March 2010                    ...
Users to Stakeholders             • Users have now assimilated managing                     large courses and online commu...
The next generalization             • Strengthening the domain model -                     adding pedagogy management to  ...
Today,                                        • EduNxt is now entering version 3.0 and                                    ...
Agility & Expertise             • Agile development requires the                     development team to commit to        ...
Agile Progression             • 2007-2008: mostly customization of                     Moodle, no fixed iteration window b...
2009-10             • Delayed in every iteration - constant carry-forward to the                     next iteration       ...
Estimation               •         Normally functional decomposition               •         Often done by the lead or pro...
Programming Objects             • Initially meant whatever to whoever                                            !        ...
Discipline through automation             • Build processes             • Sniffers             • The environment mandates ...
EduNxt Evolution                                    2007 - Starting           2009 - inflection          Today    As seen ...
and the story                       goes on                      satish@canopusconsulting.com                      pnr@can...
Upcoming SlideShare
Loading in...5
×

Whirligigs and mountains 1

488

Published on

Canopus Consulting presentation at Agile India 2012

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
488
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Whirligigs and mountains 1

  1. 1. whirligigs and mountains The EduNxt story From Manipal Global EducationTuesday 6 March 12
  2. 2. • 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 2Tuesday 6 March 12
  3. 3. “Eliminate the need for physical contact between teachers and learners” March 2007 Vision required Uncertainity and funding change => need for a roadmap, Cannot articulate resource plan, vision into business value, project budgets etc However... Never used technology to deliverables or upfront own its deliver core business value Had no technology development development functionTuesday 6 March 12
  4. 4. April 2009: EduNxt launched for DE SLM content, quizzes, course plans, assignments e s 20,000 learners, 20 trained re leas on thly M ... s es Dec 2011 EduNxt is Multi- a le institute & SAAS r re a l le Multi-media content, sm ek l e w e various assessments ip April 2008: TEL ul t 1a 200,000 learners, 4000 M o st launched on Moodle al m faculty PDF content, quizzes 1000 learners, 4 trained faculty 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 4Tuesday 6 March 12
  5. 5. In this session we present • 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 5Copyright 2012 Canopus Consulting www.canopusconsulting.comTuesday 6 March 12
  6. 6. 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.comTuesday 6 March 12
  7. 7. 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 7Tuesday 6 March 12
  8. 8. 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 We could only solve the problem in stages, with each stage our understanding would deepen and become the basis for the next stage of evolution 7Tuesday 6 March 12
  9. 9. 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 8Tuesday 6 March 12
  10. 10. 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 We would have to work with our users and enable them to outgrow a set of requirements and then ask for the next set 8Tuesday 6 March 12
  11. 11. 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 requirementsTuesday 6 March 12
  12. 12. 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.comTuesday 6 March 12
  13. 13. 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.comTuesday 6 March 12
  14. 14. 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.comTuesday 6 March 12
  15. 15. 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.comTuesday 6 March 12
  16. 16. The Moodle Alternative Moodle& BlackBoard& Moodle& Content& Management& Dokeos& 300 + contributed modules or&Domain& Sakai& Specific&Tool& Installed and created a course in a few hours Cost and lock-in Had been around for over 6 Ease of customizing years, was in version 1.7 Create course plan, and setting up Used in University of deliver PDF content, What kind of dev Athabasca, our favorite author & deliver a quiz skills are required reference => Where can we get this out of the box? 14Tuesday 6 March 12
  17. 17. 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.comTuesday 6 March 12
  18. 18. 12-May-2009: EduNxt TEL development gets a 3 launched for DE year roadmap and budget SLM content, quizzes, Decision to develop course plans, assignments technology in-house 20,000 learners, 20 trained ... Aug’09 s es May’09 Aug 2009, we are looking at a le r re April’08 enabling a very different type of a l le program sm e ek l e w t ip 1a TEL 0.1 launched ul st There is also an increasing focus on M m o on Moodle with al developing communities and on MSC CRRA tools for collaborative learning TEL evolves 16Tuesday 6 March 12
  19. 19. Users to Stakeholders • 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” 17Copyright 2012 Canopus Consulting www.canopusconsulting.comTuesday 6 March 12
  20. 20. Where did Version 1 take us? • 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 18Copyright 2012 Canopus Consulting www.canopusconsulting.comTuesday 6 March 12
  21. 21. Tuesday 6 March 12
  22. 22. Tuesday 6 March 12
  23. 23. • Moving from content in a course to course in content 20Tuesday 6 March 12
  24. 24. Evolution • We needed a new set of • We knew the request rate features like activity for similar features would books, content feeds, and increase & that the the ability to build features would evolve and different types of interact communities with their • Supportability => features own tools to improve productivity of other stakeholders such as operations, program execs & our own dev team 21Copyright 2012 Canopus Consulting www.canopusconsulting.comTuesday 6 March 12
  25. 25. 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 22Tuesday 6 March 12
  26. 26. 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 Every version of our Architecture is an evolution towards making it more horizontal rather than specific to a domain requirement 22Tuesday 6 March 12
  27. 27. More Generic Drupal& Generic&Content& Management& Moodle& Tool&:&MediaWiki,& Wordpress,&Drupal& & Versatile CMS used for multiple purposes How close is it to our Simple Node based data problem of content + model Outgrowing the LMS + Communities Existing set of modules domain model of What is extent of like Quiz, Grade Book, “Course”, “Activity”, customization Organic Groups that we “Resource” What would be could use migration effort 23Tuesday 6 March 12
  28. 28. 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.comTuesday 6 March 12
  29. 29. 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.comTuesday 6 March 12
  30. 30. 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.comTuesday 6 March 12
  31. 31. 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.comTuesday 6 March 12
  32. 32. 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.comTuesday 6 March 12
  33. 33. 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.comTuesday 6 March 12
  34. 34. Responsibility Principle • Environment is dynamic and • Add checksums to sensitive the world is cruel - so have your data self defenses • Automatically log every • Especially in a PHP exception - irrespective of the environment defensive developer’s code programming is a must • The PHP Mess detector to sniff • Restrict all our business out too many if-then-else services calls only to the loops controller • Invert the logic of if-then-else • Validate input data ruthlessly loops to do work only if a specific condition is explicitly met 30Copyright 2012 Canopus Consulting www.canopusconsulting.comTuesday 6 March 12
  35. 35. REST&interface&& CAS&–& Drupal&based&views,&modules& (Ipomo/SAP)& SSO& Controller& Evalua5on& Content& Subscrip5ons& Search& import& Release&engine& Assessment& SCORM,& Learning& Classrooms& Progress& Gradebook& packages& objec5ves& Groups& Progress& Prac5ce& tracking& Organiza5on& report& Blogs,&wikis,& Course& units& Rich&Profiles& Quiz&engine& Assimilate& SLM&,&…& templates& Content&& UOL& Community& Person& Learning&& Ac5vity& services& services& services& services& tools& services& Content& Community& BI&store& Users& Workflows&& Transac5ons& • Our own custom developed modules • Drupal core modules & infrastructure • Community contributed modules 31Copyright 2012 Canopus Consulting www.canopusconsulting.comTuesday 6 March 12
  36. 36. 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.comTuesday 6 March 12
  37. 37. Users to Stakeholders • 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 33Copyright 2012 Canopus Consulting www.canopusconsulting.comTuesday 6 March 12
  38. 38. 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.comTuesday 6 March 12
  39. 39. Today, • 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 35Copyright 2012 Canopus Consulting www.canopusconsulting.comTuesday 6 March 12
  40. 40. 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.comTuesday 6 March 12
  41. 41. 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.comTuesday 6 March 12
  42. 42. 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.comTuesday 6 March 12
  43. 43. 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.comTuesday 6 March 12
  44. 44. 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 40Copyright 2012 Canopus Consulting www.canopusconsulting.comTuesday 6 March 12
  45. 45. 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 For an agile discipline to succeed, expertise must be developed within and around the team 41Tuesday 6 March 12
  46. 46. EduNxt Evolution 2007 - Starting 2009 - inflection Today As seen by the Small localized Important business Monetizable IP. SAAS Enterprise project. differentiator across based offering. programs Minimal funding Enables Business Agility 3-year funding Committed funding Skeptical, how to use Stakeholder Increased enthusiasm, Users are part of product technology in involvement emergence of champions definition & development learning Quarterly major releases Separate core and instance Development Quick win focused with multiple interim development. Adoption of approach releases. SCRUM 14 person dev team, 4 Team sizes 4 PHP developers 12 person dev team person testing team 42Copyright 2012 Canopus Consulting www.canopusconsulting.comTuesday 6 March 12
  47. 47. and the story goes on satish@canopusconsulting.com pnr@canopusconsulting.com 43Tuesday 6 March 12
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×