On the heels of the WDSA conference in Cartagena, I’d like to set up a thread for community feedback for EPANET V3 Software Requirements. I was on FaceTime at the meeting this evening, and it was great to see so much interest. Thanks for showing up! We need to document everything here, because as we all know, conferences can make us excited but forgetful.
As you are all aware, a large codebase has been set up on GitHub at epanet-dev - this is a C++ object-oriented epanet development project donated by @LRossman. The EPANET open-source development committee (@demetrios, @eladsal, and @samhatchett - formed as a sub of the WDSA standing committee) has suggested that this code be used as the central starting point for developing the next version of the toolkit.
As we get acquainted with the new code, we will all undoubtedly have ideas for making it better. Our ideas will have much to do with how we each wish to use the toolkit. Many ideas were expressed in Cartagena about what some of those improvements might be. To accommodate the various use cases for the toolkit, we need a deep and accurate assessment of need.
One effective way to boil down requirements is to phrase them as “user stories”. This allows us to evaluate needs on a somewhat regular footing, and eventually translate the most relevant or important into formal software requirements, and eventually an architectural plan. To get a more in-depth survey of user needs, try to structure your requirements using the following guide. Of course, if you think that your needs can’t be expressed in this way, then just write from the heart. Please include as much information or exposition as needed to convey the important concepts.
The User Story format is "As a ......
, I want to ......
so that I can ......
"
For example,
As a commercial software developer, I want to have a lightweight hydraulic EPS simulator so that I can quickly build models from shape file data and let my users run scenarios.
As a researcher, I want to run huge numbers of simultaneous simulations quickly so that I can say something about water distribution systems from a probabilistic perspective.
As a water utility expert, I want to simulate the transport and reactions of chemicals in a water system so that I can alert water customers to potential contaminants.
… and so on.
Is this the only way to interact with the project? Absolutely not! Create new topics on this forum, discuss how you use the software, how you have changed it, how you want to use it. And then go on over to the GitHub project site, download and build the project, file some Issues, get into fights (i mean constructive conversations) about minor implementation details. This is an organic process, but we need your involvement to make this project succeed.