CIOs and IT leaders are bumping into a common problem these days: The traditional waterfall approach to development is just too rigid. For Charlie Schiappa, CIO/IT director at the Massachusetts Housing Finance Agency (MassHousing), the solution turned out to be rapid application development.
MassHousing is a non-profit organization that provides financial support to renters, owners and developers of affordable housing in Massachusetts, where housing prices are well above the national average. Because it's an organization unique to Massachusetts, the business needs at MassHousing can be so specific that Schiappa has no choice but to build.
Take Chapter 40B, for example. The state law gives zoning boards of appeal some flexibility when approving affordable housing developments. "The law is not something that exists in all of the other states, so you won't find some software startup trying to make a living writing software for 40B," Schiappa said. But for MassHousing, there was a need for a more comprehensive, cohesive system. "We had, over a period of several years, developed little pieces of this 40B workflow, but not the whole thing, and it was fragmented," Schiappa said. "We then sat down with users who were very motivated to have one system."
But relying on waterfall development to deliver can be costly. After a year of collecting requirements, Schiappa tried to imagine how long it would take his team (nine in infrastructure, 18 in systems development) to code the 1,200 pages of specs. "I looked at it and said, 'this is probably going to take us over a year, maybe 18 months, two or three people -- coders, QA [quality assurance] people -- before we'd even be ready to invite the users to do user acceptance,'" he said. "You do the math on that in terms of the people, dollars, and you're talking a lot of bucks."
So Schiappa began searching for a way to speed up the development process. That's how he discovered the Mendix App Platform, a platform-as-a-service tool that enables rapid app development without having to code. Using models or templates, Schiappa and his team build prototypes that rely on visuals, which cuts down on the requirements gathering phase.
SearchCIO recently caught up with Schiappa to talk about the Mendix App Platform, how rapid app development changes the dynamic between IT and the business and how he's dipping his toe into bimodal IT.
How has rapid app development helped your IT department?
Charlie Schiappa: It's time to value. If you can substantially do what is required in one-quarter of the time, and you present that as an option to a business user, especially to a decision maker, they'll say great and accept that there could be some nuances they can't have exactly the way they wanted it. That's also typical of when you go buy a package. You accept the way it was developed by some third party.
But if you're doing custom development, if you give people the opportunity to talk about it, they'll give you an exacting requirement. With Mendix, it gives us a way to put a screen up and say, 'Is that good enough? Is that going to give you substantially what you want?' Their heads start nodding because they're seeing it. The tool gives us a way to bring that question to a close and move on to the next requirement. In all of the cases, we're trying to make sure that we're coding the things that are required as opposed to nice to have. Sometimes it's difficult to tease apart requirements and the nice-to-haves when you're doing it the more traditional, waterfall way.
You mentioned that by bringing in Mendix, you began structuring the work IT was doing differently. Could you provide an example?
Schiappa: One thing we did differently is that we invaded the user department. We actually found an office within the user department and we took it over. In that way, we had more immediate access to the user and the person who was a subject matter expert. … And that got them a little more engaged. Typically it would be hard to get users engaged. You can imagine how much time it took over the course of a year to get them to write and read a 1,200-page document with us and sign off on it.
You're doing rapid app development, but you're also engaging in waterfall development. How are you dividing tasks between the two speeds?
Schiappa: That's a great question, and one that I'm grappling with right now. As we go through our annual planning process, we need to look and see what options we have for satisfying a business need. Some things already have a system in place written in a language like .NET, and you have to decide if the best thing to do is go back to Waterfall [model] and write the modifications to that. Or, with pieces written by third-party suppliers or vendors, you ask them to do [the modifications].
Right now, I'm using the criteria that if I can't buy it as a package, if it's a new area we want to get into, and if it is somewhat unique to our requirements, I'm trying to say, "Why not use Mendix first?"
Schiappa: There is certainly a challenge with changing the way your labor or your people work. With waterfall, we know that methodology. We weren't an Agile shop. Agile is the methodology that tries to get you to produce a deliverable result every two weeks or so. We are kind of halfway between those two. And that's what we think is going to be right for us -- a modified Agile hybrid.
We don't try to complete the product that is actually shippable. (A lot of Agile folks say you must do it this way.) We try to get it to the point where it's demonstrable in a couple of weeks. We then try to plan our work out so we can substantially get what the customer wants in a couple of months.
Gartner Inc. believes CIOs need to create a standardized yet flexible IT strategy.