Information Architecture 2 Mailing List? No Class Scheduled October 23 Books? -Beck, K. (1999). Extreme Programming Explained: Embrace Change.Extreme Programming Explained: Embrace Change -Schmitt, Christopher. (2002).Designing CSS Web Pages.Designing CSS Web Pages -Zeldman, J. (2003). Designing With Web Standards.Designing With Web Standards
Week 3 Work Let’s Build a Toolkit -Site Mapping Tools -Site Maintenance Tools -What’s in the Lab -Link Checking & Reporting -Library Software Library Web Functionality List -Begin to track Design Decisions
IA2 Research Topics Selection For research papers and class discussion One from each, related to our project: - Technologies ActiveX, Flash, XUL – Jill 10/16 Managing Site with Dreamweaver – Andy 10/9 HTTP, Web servers and Web services – Leonard 10/2 CSS Dynamic HTML – Amaris 10/30 Document Object Model – Diana 9/25 - Concepts Search and Browse - Andy 11/20 Agents – Jill 11/6 Portals – Amaris 11/13 Ontologies – Diana 11/20 XHTML and Web Structure – Leonard 11/6
Methodologies Questions? Mostly from Software Development - Waterfall Development Model Waterfall Development Model - Life-cycle(s) Life-cycle(s) - Structured (Programming) Methodology Structured (Programming) Methodology - AD/Cycle and CASE AD/CycleCASE - User-Centered System Design User-Centered System Design - Agile Development Agile Development - Rapid Application Development Rapid Application Development - Object-Oriented Development Object-Oriented Development - Many more Many more
XIA - Pair Design - Pair programming and code reviews - Architecture Initial Plan - Develop Test Cases Content Context Function - Customer Check-in
XIA Values Innovation Invention Communication - Mailing List - Account “ia2-xia” - Design Specification(s) - Code Commenting Standards FILE NAME, CLASS, FUNCTIONAL UNIT NAME DATE – DATE CHANGED COMMENTS Feedback - from Customers - Class Listserv
Basic Principles & Activities Rapid Feedback Assume Simplicity Incremental Change Embracing Change (even if more work) Quality Coding Testing Listening Designing
Planning Scope Ranked Priority List Release Schedule (dividing up priorities) Estimates for implementation Dependencies Process (who, what, when, how?) Pair Test Case development (specific designing) Blind Testing (not from the dev pair) Coding Standards
Designing Refactoring for Web code? - Modular development Relative paths Shared graphics Coding styles -Not based on tools -Set of tags Always checked with tests Collective Ownership - File Sharing Lightweight VCS? FTP with “ locks”
Managing (Analysis) Updating the Plans - Time - Resources - Ranking - Release Schedule - Tracking Checklist Extra field in ranking table - Open with Estimates – Plan for Success Developer makes estimates, not mgmt Ignore dependencies, focus on functional unit
User-Centered Designing User Profiles - Not in XP? - Gain or Loss? Scenario-based design - Customer Story and Task Card Who/When/Why New/Old Task Description Functional System Description Estimation Task Tracking - Focus Groups - Customers Which is better for iterative design?
Construction Continuous Integration - Framework - Functional Elements - Test Cases - Communication of Completion Pair Development - Tool agreement - Standards before you begin Individual Development - Smaller functions - Templates - One-off pages
Refactoring and XIA Variables and Module changes? - Templates - CSS - DHTML - External Functionality Ranking and Building ensures that most units have essential functionality and not much more. What are the challenges of this approach? How does it differ from other methods?
Test Cases Multiple Browsers Client functionality over server functionality Web Services approach to automation - E.g. RSS for “New Books and Services” Tests are specific to one function - Not inter-related - Can be cloned Let’s write some universal tests - Links Number of Appearance Relative - Labels Nouns Length
Problem Solving with XIA “Pick your worst problem. Solve the XP way. When it’s no longer your worst problem, repeat.” (Beck 2000, p 123) Combining XIA with the IA Methdology Use known methods to evolve into test cases Design Spec is communications tool - Maintenance - Remembering to check the spec
Class Work: Design Lists What does the Library do? People? Institution? - In the real world? Current Future - On the Web? Current Future Feature Identification - Terminology Agreement - Functionality Agreement Broad Specific (later for test cases)
Class Work: Functional Analysis 1.Existing Functionality 2.Essential Functionality 3.Competitors’ Functionality - In Category Other Libraries Other University Libraries - Beyond Category Bookstores Book finding services Information finding services Information tracking services Ranking and Grouping Functionality Affinity Analysis
XIA Role Selection for Week 4 & 5 User Advocate Tracker Initial Test Case Developer Developer - Tools Developer – Content
Next Week