Agile Software Development
A programming and project management methodology that provides:
- Rapid delivery of production quality code through a higher quality of communication and focus
- A communication model which earns a rare level of trust between
management and development teams
- Fully tested and documented, production-quality code delivered
incrementally like clockwork
- Delivery cycles typically of only 2 to 4 weeks
Agile Bazaar
Agile Bazaar is a reference to the book "The Cathedral and the Bazaar" by Eric Raymond, a seminal work on Open Source software development.
In this work, Eric describes the messy, apparently chaotic, yet extraordinarily productive and effective approaches used in developing software like Linux and the Apache Web server. Lean and Agile techniques provide productivity, quality and predictability.
.
July 31 Meeting:
Test Driven Development for Data Management projects using FIT4Data
Adrian Mowat
Our Speaker: Adrian comes to us from Glasgow, and will be in Boston briefly to preview a talk he'll give at Agile 2008 in Toronto. Adrian has pioneered the use of practical agile software techniques in the world of massive databases, and data migrations and transformations.
Where: MIT campus, building E51, room 315
When: Thursday July 31
6:00pm networking
7:00 - 8:30 Presentation and discussion
8:30 - ?? Drinks & food over at Cambridge Brewing Co.
(Each pay their own way)
Cost: Free
Presenter's Description: The tools and techniques needed to do Test Driven Development are extremely well documented for Object Oriented languages, but how do we do TDD for data management and business intelligence projects using 4th generation ETL languages like Ab Initio?
In this talk, I will show you how to do TDD when transforming data is the sole aim of the project. The talk will be divided into two parts. First, the theory of TDD in data management applications and, second, the application of the practices using FIT4Data.
FIT4Data is a testing framework for data management applications built on the Java implementation of FIT. It allows developers to write FIT-like tests using the programming language of their choice. This is essential in the ETL domain where the key technical skills are UNIX scripting and the ETL language used on the project and most developers do not know Java (or any other OO language) so they are not equipped to write fixtures in the usual fashion. Furthermore, FIT4Data provides direct support for common ETL tasks like integrating with a UNIX shell environment and maintaining reusable data sets.
FIT4Data is available to download at it’s home on Google Code - http://code.google.com/p/fit4data
In the first part, I explain how to break a typical set of customer requirements and business rules down into chunks suitable for TDD and then how to define testable scenarios around them. In the second part, I will show how to use FIT4Data to build and run the tests and build the application using TDD using practical examples.
Agile software development is a programming and project management approach that provides:
- Rapid delivery of production quality code through a higher quality
of communication and focus
- A communication model which earns a rare level of trust between
management and development teams
- Fully tested and documented, production-quality code delivered
incrementally like clockwork
- Delivery cycles typically of only 2 to 4 weeks.
Key Concepts
- Agile is an umbrella term for the ideas and practices of a growing collection of people working to improve the software development process which had badly needed improvement.Agile commonly includes Lean, Scrum, XP and other categories that are popular. For more information see The Agile Alliance; The Agile Manifesto.
- Lean is a term derived from Toyota's TPS (Toyota Production System) that evolved over many decades and is the envy of all industries in many ways. Lean software development is included in the Agile umbrella by many and focuses on eliminating waste, optimizing the whole and continuous improvement. For it's application to software, Mary and Tom Poppendieck are the most respected authors and consultants. They will also be speakers at the November 2007 "Deep Lean" seminar. For more information see Poppendieck.com. Their latest book is "Implementing Lean Software Development: From concept to Cash".
- Scrum is a metaphor from the game of Rugby that was originally used in a Harvard Business article in 1986 by two Japanese academics to describe the way Japanese electronics industry innovation was progressing so rapidly. This metaphor was adopted by Ken Schwaber and Jeff Sutherland at Easel Corp. in 1993 and introduced widely at OOPSLA in '95. This has now become a worldwide phenomenon. See Jeff's posting of Deep Agile with GBC.
- Extreme Programming (XP) was developed by Kent Beck and others and now is a widely recognized Agile category comparable only to Scrum in worldwide recognition. It focuses primarily on best engineering practices done in an iterative and incremental way. It recommends continuous, integration, testing, code review, code simplification, and much more. A good resource is Getting Started with XP.
--Jay Conne