It has been an intense but fun 16 weeks teaching my first Software Architecture class at George Mason University (GMU).
I want to thank my colleague Jeff Offutt for the encouragement to update the course content and give it an agile twist. And of course, I want to thank my students for encouraging feedback and energy to making this a success.
In the first half of the class, we went through most of the UML specified software architectures and diagrams, and stressed the importance of good requirements engineering and using scenarios, stories, and business cases as artifacts to coordinate development, reflecting my research in Story Driven Modeling and using sdmlib to support this development paradigm.
In the second part of the class, we developed in two scrum teams open source software for running a bank (at least its transaction based part). In my life as an entrepreneur, I was missing several times a small easy to configure bank transaction software to make compelling presentations for potential investors and clients. Banking scenarios are frequently used in software engineering and software architecture text-books, (who of my colleagues does not hate the theoretical automated teller example?) but due to lack of open source code, any real analysis and hands-on improvement is impossible - resulting in a very theoretical and dry lecture. I hope this can change now. We used the two classic roles of scrum master and product owner but also added a software architect (or architect owner). Team sizes were 10 persons each and both teams delivered astonishing results.
Some of my students committed to do some curating to the projects to keep it alive as a professional reference for them. Maybe some of my readers here take an interest to fork and extend one or both of the projects. I definitely encourage everybody to take a look here:
- Team blue's project: https://github.com/ededej/BlueBankAppAndroid
- Team red's project: https://github.com/SWE443-TeamRed/open-bank, corresponding gitter: https://gitter.im/open-bank/Lobby
Check them out, comment here or on github, encourage my students to continue, contact them on linkedin, hire or contract them and hopfully, we will all see some of these projects being re-used and improved in other projects, pitches, or classes.
Please let me know if you took an interest or successfully deployed it for one of your own projects. If some of my students wnat to comment here, feel free to do so - any comments are welcome. You can also comment anonymously.
Thanks again for the great class to GMU and their excellent students.