School district builds own software to handle student data, defies doubters
timescolonist.com
timescolonist.com
I would not expect this to be a long term success. Virtually every district of reasonable size starts with a homegrown and maintained solution and ends up going with one of the big guys for lots of reasons.
1. Security/liability. You have to have pretty damn good systems here and definitely want to point at someone else's assurances and contract that allows for recourse.
2. Rapidly changing business requirements. This is everything from state and federal reporting requirements to the expectations of end users. It's hard enough to maintain these core systems and keep folks around who are good enough to do it. Now deal with changing technology (oh you want a parent portal? Oh, you don't want to use Flash/Java for iPads? Oh you want ...) and you really can't attract and retain the kind of software people you'd want to continually redesign, refactor, rebuild, extend, and expand. Development on these systems never stops, which is why it's often easier to just drop off the old and buy the new hotness. It's also why scale is so helpful with these systems. If your users want this, someone else already requested it or will shortly. A lot of the improvements in these systems happen because of how many users they have and can be made because the cost is spread across all those users.
3. Interoperability with other systems. Most of these systems are not omnibus catchall solutions for the entire business needs of a school district. That's probably for the better-- the folks who try to do that end up doing it very poorly. But you will want your HR and payroll to talk to your student information system that should probably talk to your assessment system that should talk to your curriculum management system that should talk to your special education IEP case load management system, etc. It's hard to do this and even harder when your solution is built to work in one context. Standards here have only barely helped. Middleware is expensive, shitty work. Again, not easy to attract killer talent and it is a constant need. The big boys have everything else built and just focus on middleware and have probably already worked with and written what's required for all of the popular systems you are using in these other areas.
This is just the smallest fraction of reasons it's a huge PITA to write and maintain these systems. That's not to say that it can't be done but it is to say that this is not a small, well-defined problem space with just a few distinct end-user types and functional requirements that can be built once and then monitored and tweaked over time. Not if you want to do the real stuff that makes collecting and maintaining all of this data worthwhile.
The SIS systems I know (US, K-12) do a mediocre job of updating quickly to new technologies/requirements (#2) and do a terrible job of interoperating with other systems through APIs (#3).
That's why I think you're better off with something you can sever ties with when it falls behind on #2 and use clear RFP and contract requirements + in-house dev talent to drive #3. The hardest to deal with is always going to be #3 because everyone always is trying to get you to use their whole architecture, even thought most of the time they suck at some or all of what they sell.
I think that #3 will also get a lot better with commercial software. The reality is that most of these guys have spent the last 5-10 years buying up competitors who built other systems their customers were interested in as an attempt to get all that business under one contract. Their efforts integrating software from acquisitions has been pathetic, at least in part because they haven't had a services-oriented architecture even though that's what really is called for. So I think this is a major area where we'll see changes in the next 5-10 years.
That being said, I think pretty much all off-the-shelf systems suck, but you're better off being able to hold someone else responsible for dev and sustainably meeting requirements and use in-house talent to hack around and problem solve so that users end up getting what they need fast.
You also want to chuck systems every few years and get something a lot better without having to pay the upfront costs of a rewrite like you would with a BYO-SIS.
And while I think this goes without saying, though these days I've seen districts screw this up, no matter how hosting is taken care of you need to own that data. You need nightly backups on servers you control and full access to your own information.
I'd add that your suggestion for #2 (migrate from one system to another every handful of years) has some pretty painful costs associated (PD/training, re-implementing customizations, data migration costs). At least when you've taken care to own your data/backups, this kind of migration is possible.
5-10 years is far too long to wait for system interoperability. My company (Clever - getclever.com) has bolted a read-only API onto a dozen of the top SIS systems today, would love to hear your thoughts (I'm dan@).
Anyone who think that commercial vendors are there to support education is dreaming. Commercial vendors are there for two reasons only - earnings per share and profitability.
gregg
Also they could opensource it or sections to get help in hardening the code, create interoperability APIs, or anything they choose. Such an option is usually not a possibility with a private vendor.
Another issues is when you do have a significant change in law or policy getting the vendor to get those updates out in a timely/inexpensive manner may not be so easy.
Interoperability is overrated, what happens when HR decides they to get a new system? ...and that new system doesn't work with your current tracking system X but only with the much more expensive and over complex Y pro system?
I guess it comes down to is how important is it to have your hands on the data and process? I know some schools are really tiring of the "new system every five years or so" cycle that they go through (this can include, besides software, new hardware, training, reassigning staff responsibilities - all depending on the systems needs,) having control of costs and process might help them in the long run.
"2. Rapidly changing business requirements. This is everything from state and federal reporting requirements to the expectations of end users. It's hard enough to maintain these core systems and keep folks around who are good enough to do it".
In mid 2011 our state passed some new laws as to how funding would be applied for virtual school enrollments across the state. We had a model in place, then code rolled out, within a few weeks - we had one bug that reared its head a few months later that was patched in a day and it's been fine since.
I'm not convinced the 'commercial player' that's taking everything over even understand the concept of our funding model, much less will be able to reliably integrate it with their existing systems, in the next 6 months. That's after handing over the code (with some, but certainly nowhere near complete, tests).
They may still pull it off, but I've yet to see them react quickly to 'changing business requirements'.
It is a model which could easily be adapted by other jurisdictions whether in Canada the US or anywhere else for that matter.
We are always open for questions, suggestions or comments.
cheers
gregg
Many of the school people (administrators/teachers) were very unhappy with the previous system, so I expected it to be a reasonably easy sale. Unfortunately I didn't have the necessary free time to pursue it much further than "thought experiment." Since, the school district has purchased a new system that school officials actually like.
That said, our school district (like most in Illinois) is facing some serious budget crunch due to the state failing to make payment on time (or at all), so maybe it's time to dial up this project again, and pitch it to the school board.
Any thoughts on how to deal with this? I am wondering if os projects like the one you describe could partner with an experienced mentor, but I still wonder what kind of structure you'd want to use to address liability issues.
https://code.google.com/p/sepgsql/
Assuming, of course, that you have some good way to connect a user's login to the app (which is probably being delivered on the web in this day and age) with an SELinux role. Luckily, we can do that too:
These types of systems typically track enrollments and attendance, which get reported to the state and determine the district's funding. The calculations here can be fairly wonky (i.e. some states require schools to calculate every student's attendance down to the minute) and an error could have massive consequences.
My suggestion for a project is rather than trying to replace the core database, use an API like Clever (https://getclever.com/developers/docs) to build something cool on top of the existing database. (Disclaimer - I'm a co-founder of Clever).
Either way, mentoring would be key, and no system developed vy students should be allowed into production at a scholl without a complete review. But that that's part of the process. Even in a private company/OSS project, code shouldn't be allowed into production without a review. I do have access to many people with the right skill set to be able to develop such a system on their own (my self included) in addition to the fact that I work for an information security research institution, so I have access to folks who know a whole lot more about trusted systems than I.
Of course, HS students will make mistakes, but the mentors will be there to review the work, and make suggestions, while keeping "bad code" from hitting a production system.
In the end, I'm not sure that I'm convinced that a student developed system is any different from one developed by some outside company.
Edit: Links
[1] App (now also on Google Play): https://itunes.apple.com/us/app/ifusd/id454673943?mt=8
[2] GitHub: https://github.com/FremontUnified/
Having the tech guys on campus helps drive the development you get access to the people who work with the data as well as updates on requirements of what is needed (there's always something people will forget in a spec... until some report is due and they mention it.) They can also bring in staff to test components as they are being developed.
My thing was child care related; student tracking is a whole new level, key things are relationships as in families, adults to children children to education, teachers to children to classes to teachers to credentials, etc. Plus whatever factors affect all that (social assistance qualifications, immunizations, gpas, etc.)
Though once you get the core data figured out and organized (which is the major bit) the rest starts falling into place.
It's not rocket science but it is a definitely a detailed data situation, which you need people dedicated to it for years to put it all together.
As far as anything like that being "done" not in the public sector... you got everything going then some new law changes and you need to adjust tracking/claims based on some new factor or add in an adjusted reimbursement calculation etc. so you have to restructure some data add some new entry methods, new reports, etc. Easier on an open system than a closed system.
Problem with "canned" software is it is usually developed out of one district with their own unique needs when it gets packaged as a one thing fits all it needs to be patched for other conditions and environments... It is usually geared for a specific administration staffing method, so buying something canned may mean you have to do administrative changes in order to work with the new system, etc.
It's good work though, and a nice challenge to sort out all the data and get it collected, properly managed, and accessible to the right people.
I hope their fate is not so dire. I will definitely be interested in updates on the school district's efforts.
Especially as geeks in the startup world often build far more complicated software on budgets quite a bit smaller than $5 million.
Awesome to see there are some smart people out there fighting back.
I don't remember the details, though I was feeling their pain, having to deal with (a) the unbelievably horrid, steaming pile that is PeopleWare, and (b) the clouds of consultants that start calling you up and pumping you for money once it is out that you're doing an install of the pile. (Hint: You don't need any help from a high-price consultant to install PeopleWare. You need a can of gasoline and a match).
So the thought of a school district doing this on their own makes me smile. They could do worse!
The Science Leadership Academy, a public high school in Philadelphia, runs on an open source SIS we've developed for under $100K and it has been in production for over 3 years. We are working now build an alliance between several like schools to share the maintenence and development costs of supporting a public release.
If this group is planning on spending $5 million, we're still dealing with enterprise salesman hiring amateur or out-of-date developers. Give me another $100K and I'll put money in hackers' pockets to build quality software and make sure no other schools _have_ to pay for the same thing twice. This is more of the same crap, there's a whole new generation of developers that don't have access to the school software market, and it's students that are losing out because of it. The developers that built all the sites and apps this community knows and loves wouldn't need anywhere near $5 million to build this SIS and it wouldn't look like it got left over from 1999
http://topics.nytimes.com/top/reference/timestopics/organiza...
You know, the case where you hire a team of contractors to build something, and then that team totally screws up, goes years past the deadline, and charges you enormous amounts of money. Meanwhile, there are ready-to-ship products out there that can be bought for a yearly fee, which carry less risk but higher costs.
As I grow older, I'm increasingly starting to believe that many of the advancements in sophistication of software are actually somehow making it much less possible to successfully implement relatively complex solutions on budget - I am making this comparison to the relatively short era where platforms like PowerBuilder/Delphi/MSAccess were popular. If you mention on of those products now for literally anything, you'll be met with howls of laughter, but for the life of me I don't understand. Meanwhile, spending $2 million on a project that is laughably short on functionality and seems to take weeks to make the smallest of changes is considered (with grave seriousness and 100% infallible confidence) to be perfectly proper.
Before we began our build we did a complete analysis of the functionality we required in a SIS using our current commercial SIS as the basis. We found that because the commercial SIS was developed for multiple jurisdictions the actual screens and fields we required for British Columbia schools was only 27% of the complete commercial SIS. So we are not crafting a replacement for the commercial but a rather small subset of the requirements targeted specifically for our environment.
hope that helps a bit.
The software development world has had numerous os tools for decades: vim, emacs, apache, to name just a few. I can't think of anything equivalent in education. Most teachers are still writing their lesson plans in Word or its equivalent, which is like writing your code in notepad without any coding-specific extensions.
There is lots of room to improve ed tech, and some of these improvements need to be open source to have any meaningful widespread impact.
There are plug-ins for Word that can produce quizzes, and most of the interactive white-board software packages (each dedicated to a make of interactive white-board) can import from Powerpoint or allow authoring of interactive content. What I as a teacher don't need is someone telling me to use some huge IDE like package to build my lessons!
In the future I'd like to use a cheap tablet to scribe on and have what I'm scribing (or what I have prepared earlier) just appear on the projector and on the student tablets. I'd also like to be able to invite student A to 'show' something to everyone else. Then I'd like to be able to roll the whole lesson up and pop it somewhere like a Moodle course so the students can access the stuff later for revision.
The original article addresses 'back end' student tracking and data capture type software. More of a business application.
I am not envisioning a simple plugin to a word processing tool; I am imagining a dedicated curriculum development tool that manages things like importing standards, and connecting detailed parts of a learning plan to bigger-picture summaries.
I in no way imagine such a tool being mandated for anyone; I simply imagine a tool that is powerful enough that people will see it used well by experienced teachers, and want to use it themselves.
Well, good luck, and if you have thought through the detail of this I would be interested to see the specification (in the Spolsky sense) for the system you envisage.
"I in no way imagine such a tool being mandated for anyone"
Of course everyone will have to use it!
Edit: parent poster is also a teacher, so he must know that anything that is suggested by management as a central tool will immediately become mandatory!
Nice to see another teacher on here!
[1] http://peak5390.wordpress.com/2012/02/07/why-do-programmers-...
gregg
They estimate that using their old software would cost $100mm over ten years. They're reducing that to roughly $15-20mm.
Government software is lovingly expensive. The state I live in spent over $30mm to rebuild a purchasing application. And it doesn't even work!
Go figure.
Firstly it is build from the ground up to work as an enterprise system. Meaning rather than just function for a district and its schools our system is architected to function at the provincial or state / district / school level.
The system is designed to accommodate cross-enrolment between schools within a district and between districts. As well it can accommodate continuous entry (year round schools) and is built for conventional as well as distance learning schools.
It is also has a sophisticated security model which considers users at the enterprise level, district level, school level or any combination thereof. In other words you can be a vice-principal at one school (with that view), a teacher in the same school (with that view) and a parent with children in another school district.
The system is also built to work in a distributed hosting model where the primary can be at one site and secondarys at other sites. With the next version of PostgresQL it will be possible to have multiple primaries.
There is so much that is different about this system from the standard SIS. With its capacity to function at the enterprise system it could accommodate an entire state or province.
Right now the system has been licensed under the Education Community Source license (modified Apache 2) to ensure that we have better control of the code but we are definitely looking for input and help into the system and it will be available to other jurisdictions when it is complete. Have a look at the documenation on our website and I will try and answer any questions or comments relating the the system.
Thanks for all the supportive comments.
Gregg Ferrie
PS if you wonder why this has gotten this much support in a relatively small school district we had already converted most of our servers and workstations to Linux-based diskless clients (approximately 2500 in 18 schools). All of teachers and students are used to using open source software including LibreOffice, Scribus, The Gimp and many more.
' close to finishing the core version '
'expects to begin testing its openStudent software in elementary schools this spring, with a full launch to follow in 2014. An advanced version for middle and high schools is slated to roll out in 2015.'
I don't assume they _are_ tightly integrated - all the article claims is 'eight people'.
These could be crack coders. Or they could be '1 guy who kinda knows VB and 7 people learning OJT'.
gregg
It has been around a long while now, is in use around the world, and should at least make a good starting point for further customization.
Please feel free to have a look at the openStudent website for documentation about the system and please ask any and all questions.
gregg