# Software Engineering with an Agile Development Framework/Iteration Two/Functional requirements/Worked example

* Case study Worked example for Sustainable Habitat Challenge
* Group: Software Engineering 2007
* In 2007 Software Engineering worked on developing the information infrastructure for a nation wide sustainable house building challenge ("Shac").
* In this variant on the planning game we collected together everything we had on the project (knowledge base, system metaphor, stories, data models etc). We photocopied everything and cut it up into little strips of paper ("cards"). We then arranged these on a whiteboard according to functional groupings.
* After a while, it became apparent that our groupings were not conveying the whole of the Shac process, so we added a timeline, and used this to arrange the cards. This helped to make it clear that we were not doing the Shac process, but rather supporting other people who were doing it. This changed the focus to concentrating on what users were trying to achieve rather than what they were doing with our system.
* This planning game formed the basis for the functional requirements. The first requirement applied to all others:
* All functions must have an underlying approach of "encouraging sustainable behaviour". All functions must include the basis of facilitating public engagement in the process and sustainability.
* The system shall provide an integrated (financial and environmental) budgeting and reporting system for teams
* Integrated means financial and environmental
* The system should support teams throughout the entire entry, design and build process
* The system shall provide a means to generate integrated sustainable building calculators.
* The system shall provide a dynamic timeline structure to support teams and Shac administration in project management.
* The system shall provide an engaging and interactive game of sustainable building choices.
* the purpose of this element is to educate children (8-15) about the sustainability, building choices and to raise awareness of Shac09. The game should, mirror sustainability decisions etc in the actual Shac09 process, and to this end should as far as possible make use of actual sustainability calculators.
* The system shall provide for progress reporting.
* a generic and configurable milestone reporting system has several special cases: entry, design submission, judging submission.
* The system shall provide for a collaborative competition structure.
* Submitted entries (at all phases) will be remotely presented to judges who will remotely confer and give feedback and make decisions.
* Incorporate all evidence submitted to be considered, including designs, team blogs, and information submitted to sustainability budgets etc.
* Support for appeals etc.
* A system of public voting.
* The system shall provide at least three calculators for determining the impact of design options.
* Each calculator should work from the same base information
* Calculators should integrate ecological footprint, embedded energy, lifetime energy, cost, and social factors.
* The system should take into account the geographic location of the dwelling.
* The system shall incorporate interactive 3D representation of builds at all stages of process.
* The system shall provide user and group management functions.
* The system shall provide content management functions, including: news; individual and group blogs and webpages; resource links; content approval; guest book; incorporating all media; file sharing; templates.
* The system shall provide communication between all users.
* - intra and inter-group communication
* - including formal and tracked conversations between teams and judges
* - closed discussions within particular groups