Applying Agile Development Practices to Atypical Technologies

Level: Practicing

This talk discusses techniques that can be used to apply Agile practices to atypical technologies, and presents case studies on how to apply Agile practices to projects built with technologies including Teradata (Database), and MicroStrategy (BI). Most of the discussion around Agile is focused on traditional object-oriented development using technologies such as .NET, Java, and Ruby. It is important to realize, however, that the Agile practices are not technology specific, and many opportunities exist to apply these practices to projects that use other technologies as well.

Process/Mechanics
  • 5 minutes - Introduction to speaker and topic
  • 5 minutes - Review of Agile development practices
  • 5 minutes - General strategies for applying Agile practices to any technology
    • Taking command from the command-line interface
    • SDKs, APIs, and Web Services - Oh My!
    • Internal language/technology features are your friends
  • 10 minutes - Applying Agile practices to database development
    • Open audience discussion: Why is it hard to apply Agile to database technologies?
    • Testing constraints, indexes, and checking for duplicates
    • Continuous-integration best practices for database development
  • 20 minutes - Simple Case Study: Test-driven development in Teradata
    • Start with a simple case study demonstrating how you might apply Agile to an atypical technology
    • What makes Teradata atypical for Agile: lack of tool support, limited extensibility, non-traditional “code” leads to challenges in source-code management and deployment
    • Using Teradata user-defined functions (UDF) to create your own testing framework
  • 20 minutes - Audience Challenge
    • Break up into small teams
    • Each team to discuss and answer these three questions: What is an atypical technology that you would like to apply Agile to? What makes it difficult to apply Agile development practices to this technology? How might we go about applying Agile to this technology (remember general strategies)?
    • Reconvene and discuss results
  • 20 minutes - Advanced Case Study: Test-driven development and continuous integration in MicroStrategy
    • Finish with a more advanced case study leveraging many techniques to apply several Agile practices
    • What makes MicroStrategy atypical for Agile: lack of tool support, no traditional source code - source code stored in database as metadata, proprietary deployment mechanism
    • Using the command-line interface and internal technology features to create your own testing framework
    • Implementing continuous integration on a technology platform that has no traditional source code and no source-control system using the command-line interface, SDK, and proprietary deployment tool
    • Using FitNesse and the command-line interface to perform automated acceptance testing, and even auto-generate code from business specifications
  • 5 minutes - Summary/Questions
Learning outcomes
  • Understanding of general strategies that can be used to apply Agile practices to any project, regardless of the technology
  • Techniques for applying test-driven development to databases including testing constraints, indexes, and checking for duplicates
  • Understanding of how to apply test-driven development to Teradata by exploiting the internal technology feature of user-defined functions to create your own testing framework
  • Understanding of how to apply test-driven development and continuous integration to MicroStrategy by exploiting the command-line interface, SDK, and internal technology features
Featured participants
Primary target persona
Reviews

No reviews

Subscribe to an RSS feed of reviews of this proposal Syndicate content