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
2
Tuesday 6 March 12
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 function
Tuesday 6 March 12
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
4
Tuesday 6 March 12
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
5
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
6
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
7
Tuesday 6 March 12
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 7
Tuesday 6 March 12
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
8
Tuesday 6 March 12
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 8
Tuesday 6 March 12
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
requirements
Tuesday 6 March 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
10
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
11
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
12
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
13
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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?
14
Tuesday 6 March 12
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
15
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
16
Tuesday 6 March 12
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”
17
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
18
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
23. • Moving from content in a course to
course in content
20
Tuesday 6 March 12
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
21
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
22
Tuesday 6 March 12
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 22
Tuesday 6 March 12
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
23
Tuesday 6 March 12
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
24
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
25
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
26
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
27
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
28
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
29
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
30
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
32
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
33
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
34
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
35
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
40. Agility & Expertise
• Agile development requires the
development team to commit to
providing a quality deliverable in a fixed
time
• A collective commitment
36
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
37
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
38
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
39
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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
40
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
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 41
Tuesday 6 March 12
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
42
Copyright 2012 Canopus Consulting www.canopusconsulting.com
Tuesday 6 March 12
47. and the story
goes on
satish@canopusconsulting.com
pnr@canopusconsulting.com
43
Tuesday 6 March 12