eFile is agile

eFile is agile
The Agile Software Development Methodology

eFile is agile – but what does that mean, exactly?

In the world of software, agile is a synonym for continuously improving. eFile is never finished. We continuously work on it, adding and improving functionality and reliability, using the Agile Methodology. With eFile, you don't have to wait months or years for updates. They roll out continuously as changes are made, tested, and released.

Agile software development is based on a set of core principles, summarized in the 2001 Manifesto for Agile Software Development. These are:

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

  4. Business people and developers must work together daily throughout the project.

  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

  7. Working software is the primary measure of progress.

  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

  9. Continuous attention to technical excellence and good design enhances agility.

  10. Simplicity--the art of maximizing the amount of work not done--is essential.

  11. The best architectures, requirements, and designs emerge from self-organizing teams.

  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

(in the age of Zoom meetings, we think that #6 still applies, but video meetings come close!)

Now, in practice, agile development is a cycle. Planning to define requirements is where everything starts. The requirements turn into design (user interface, algorithms, and architecture), which is then implemented, tested, and deployed to production. Then we review, get customer input, and plan next improvements. These turn into new requirements, and the cycle continues.

Here at Electronic Filing Systems, the agile approach has worked extremely well for us and eFile. Our launch customer in 2021 was the City of San Diego. By following the agile principles, we were able to get a basic version of eFile put together in record time and were able to get customer feedback early on, which helped drive the subsequent successful development to achieve the City's requirements.

We first built out initial versions of the general user interface, the public filing search, the admin interface, and the lobbyist module (a heavily customized version that exactly matches San Diego's requirements), which went live after only about three months of development. With the first working version out there, we quickly got customer and end user feedback, which helped us when rolling out the Form 700 and Campaign modules in rapid succession.

While all eFile modules have been in place since ~July 2021, we have continuously improved eFile's core and each module. Sometimes an improvement will be "under the hood", making eFile faster and/or easier to use. Sometimes it will be a major addition of functionality.

For example, for the 2022 election cycle, we added eFile's campaign accounting submodule, which allows candidates and treasurers to book all their transaction within eFile and conveniently generate reports from within the system. Initially, we supported Forms 460, 496, and 497, and we've since added Form 461, and are about to release support for Form 470.

There are many exciting things on our eFile product roadmap, which we'll share in another blog post. Some of the things we are currently working on include a full text search (on the public site) through all Form 700 schedules, a direct application programming interface (API) that campaign treasurer software vendors can use to submit filings, and an improved online help system with video tutorials for admins and filers.

We love building eFile and helping our local agencies reach their transparency and efficiency goals. The agile methodology with its rapid feedback cycle is ideal for eFile, and we know our customers agree!

Interested in eFile and how we can help your agency? Let's jump on a call: Book a Demo!