Agile Development
Agile Development
The Fluid project uses agile software development practices. These practices allow us to be responsive to change while maintaining high quality and staying focused on our overall goals.
Iterative Design and Development
User research, interaction design, and user testing is a critical aspect of the Fluid project. Our development process responds to these needs by using short, iterative development cycles to more quickly gain feedback from design and testing. In each iteration, design research is performed, new user interfaces are implemented, and existing UIs are tested with users. This user-driven approach to software development allows us to more effectively use the results of testing to improve current and future designs. An iterative approach also helps to better communicate our progress to the larger Fluid community.
Layered Testing
The user interface components developed as part of the Fluid project will be used in production by several community source projects. Accordingly, the UI components we develop must be secure, internationalizable, localizable, accessible, consistent, reliable and scalable. To this end, the Fluid project will employ a layered testing strategy to ensure the quality and usefulness of our designs. This includes:
- code-level tests for all framework and component functionality
- regular end user evaluation and testing
- security testing
Integration and Testing
One of the most significant technical challenges for the Fluid Project is the integration of these technologies into Sakai, uPortal, and Kuali Student. Regular integration and testing will provide a critical tool to ensure that we can accommodate the diversity of implementations and be responsive to the needs of each community. Testing harnesses will be built early to bootstrap the integration process, and integration of the Fluid technologies directly into the partner projects will follow as quickly as possible. Early integration will also provide an essential opportunity to measure success, gather feedback, and fine-tune the architecture throughout the project life cycle.