Reflections on Developing with Excel...
This process may go on for a while. While each challenge has
had its challenge – in terms of making it intuitive, efficient, and
easy to use, scaffolding accuracy, creating something robust that won’t break, and designing
something that can be maintained over the “long” term in excel
… I’d say the Creative Curriculum was the most ambitious.
So looking back, what are some of my thoughts. I believe in
rapid prototyping, but this didn’t turn out to be so rapid.
- Don’t neglect the front
end, top-down analysis and design process – so the design
doesn’t, well, do too much
or do things that are unnecessary, like programming for
creating the filenames on the fly when it turns out that we knew what they
were all along.
- Recognize that Excel has
limitations. Too many linked workbooks / formulas make it a really slow
performer. So you have to recognize when an application is going to take
that much computing power … and recommend another development
platform.
- Developing a complicated
application in Excel does NOT make development go faster, it could
actually slow things down. Like trying to dip out a lake with a spoon
… it’s a trade-off,
a balancing act.
- Spend some time up front
acquiring some really good test data and a test plan – and work it
as you go. Keep it small and manageable but try to get as much mileage
from it as you can … because you may be re-entering it every time
the design changes. Nothing’s worse than making a change in the
master and then having to go out and update 30 fully loaded clones. Set a
schedule so you cut down on the inbetween times and get the model into the
users hands for feedback, but
limit the repetitive data entry they have to do too.
- Versioning is a good thing. So
are backups. SharePoint would probably be a good development environment.
- This sounds odd – but try
to give yourself enough room to expand ON ALL SIDES. Maybe start the
design in the middle of the work sheet (leave space along sides, top, and
bottom) and hide the excess columns/rows until you need them. Because when
you have to insert rows and columns, this tends to break links in other
worksheets / workbooks. Take advantage of working with names when you can
– sometimes it’s not always practical to do that.
- You can set protection in such a way as to initially allow
yourself to go back and make certain changes. This is a good thing to do
while you’re still developing.
- Update
the users regularly on progress – what’s been done, what’s
left to do, what the challenges and questions are. Do it in such a way
that involves them in the progress – because they will have input
and help shape how the thing unfolds.
Okay, that’s all for now …