Presentation is loading. Please wait.

Presentation is loading. Please wait.

CFUNITED – The premier ColdFusion conference www.cfunited.com Agile ColdFusion: Delivering Better Apps in Less Time John Paul Ashenfelter CTO/Transitionpoint.

Similar presentations


Presentation on theme: "CFUNITED – The premier ColdFusion conference www.cfunited.com Agile ColdFusion: Delivering Better Apps in Less Time John Paul Ashenfelter CTO/Transitionpoint."— Presentation transcript:

1 CFUNITED – The premier ColdFusion conference www.cfunited.com Agile ColdFusion: Delivering Better Apps in Less Time John Paul Ashenfelter CTO/Transitionpoint

2 June 28 th – July 1 st 2006 Agile Defined  “Characterized by quickness, lightness, and ease of movement; nimble”  Synonyms active, acute, alert, athletic, brisk, buoyant, bustling, clever, deft, dexterous, easy-moving, energetic, fleet, frisky, limber, lithe, lively, mercurial, prompt, quick, quick-witted, rapid, ready, sharp, spirited, sportive, spright, sprightly, spry, stirring, supple, swift, vigorous, vivacious, winged, zippy  Antonyms brittle, clumsy, oafish, ponderous, stiff

3 June 28 th – July 1 st 2006 Why should you care?  Agile methods are (more) successful Alistair Cockburn Laurie Williams (NC State) http://wiki.csc.ncsu.edu/education/  Agile assumes you are valuable  Agile focuses on what you like about developing – building software

4 June 28 th – July 1 st 2006 Describing Development  Which describe your environment? Spry or Brittle? Clever or Clumsy? Frisky or Stiff?  Maybe some more professional terms Successful or struggling? Rewarding or frustrating?

5 June 28 th – July 1 st 2006 The Agile Manifesto  Individuals and interactions over processes and tools  Working software over comprehensive documentation  Customer collaboration over contract negotiation  Responding to change over following a plan

6 June 28 th – July 1 st 2006 This Talk is Agile!  Individuals and Interactions: You’re at a conference talking to people, not buying new software or reading a book  Responding to Change: The content of this talk changed significantly since it was originally conceived

7 June 28 th – July 1 st 2006 Aside: Being Agile at CFUnited  Tonight at the networking expo event  Tomorrow night at the CF Celebration  Th night at the inevitable poker game  And of course… at the bar!

8 June 28 th – July 1 st 2006 How To Become Agile  Agile is a set of principles, not tools  But there are specific tools that help: Source Control Frameworks and ORM Testing and automation tools Communication Tools Bug Tracking and Project Management

9 June 28 th – July 1 st 2006 Goal: Working Software 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 7. Working software is the primary measure of progress. 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity -- the art of maximizing the amount of work not done -- is essential.

10 June 28 th – July 1 st 2006 Testing the Application The trouble with programmers is that you can never tell what a programmer is doing until it's too late. -Seymour Cray

11 June 28 th – July 1 st 2006 Practices: Working Software  Source control Subversion if you don’t have a solution  Testing Unit (CFUnit, CFCUnit) Integration (Selenium) System (Grinder)  Automation Ant Continious Integration (CruiseControl/etc)

12 June 28 th – July 1 st 2006 Revenge of the Scripting Languages  Scripting languages are cool again (finally!) Ruby on Rails Django (Python) DabbleDB “platform” (Seaside/Smalltalk)  Scripting languages just work for Agile Replacing Java(!) in many cases CF is excellent example  CF is getting the right (open source) software tools for real strides in agility

13 June 28 th – July 1 st 2006 Goal: Individuals And Interactions 4. Business people and developers must work together daily throughout the project 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely 11. The best architectures, requirements, and designs emerge from self-organizing teams 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

14 June 28 th – July 1 st 2006 Practices: Individuals/Interactions  Developers control development Tools Platforms Methodology  Communication Tools Synchronous: phone, IM Asynchronous: email, Wiki  Information Radiators

15 June 28 th – July 1 st 2006 What’s An Information Radiator?  Information radiators, well, radiate information  Some common radiators Whiteboards Dashboards  Some crazy radiators…

16 June 28 th – July 1 st 2006 How About A Bunny…

17 June 28 th – July 1 st 2006 Goal: Customer collaboration 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage 4. Business people and developers must work together daily throughout the project

18 June 28 th – July 1 st 2006 Practices: Custom Collaboration  Put the user on your team  Collect user stories Index cards (yes, very high-tech) Use personas Acceptance tests flow from stories  Short iterations  The app is always accessible

19 June 28 th – July 1 st 2006 Goal: Responding to Change 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage 10. Simplicity--the art of maximizing the amount of work not done--is essential. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

20 June 28 th – July 1 st 2006 Practices: Respond to Change  Testing  Simplicity  Testing  Collective ownership of code  Testing  Reflection  Testing

21 June 28 th – July 1 st 2006 Agile Development Practices  Planning user stories customer on team  Iterating short cycles continuous integration steady pace  Testing test-driven dev acceptance tests  Refactoring collective ownership simple design  Continuous Integration

22 June 28 th – July 1 st 2006 Personal Mantras  What is the simplest thing that will work  You aren’t going to need it  DRY

23 June 28 th – July 1 st 2006 Formal Agile Methods  Crystal (Alistair Cockburn) Heavily researches, several varieties  Scrumm (Controlchaos.org) Uses rugby analogy morning standup mtg, 30 day cycles, backlog  eXtreme Programming (Kent Beck) Lots of information is out there for XP

24 June 28 th – July 1 st 2006 Invest in People, Not Tools The average software developer, for example, doesn't own a single book on the subject of his or her work, and hasn't ever read one. That fact is horrifying for anyone concerned about the quality of work in the field, for folks like us who write books, it is positively tragic. -Tom DeMarco and Timothy Lister, "Peopleware : Productive Projects and Teams, 2nd Ed."

25 June 28 th – July 1 st 2006 How to Invest in People  Books  Conferences  Training  Environment  R&D/Side Projects  Downtime/VACATION

26 June 28 th – July 1 st 2006 Speaking of Vacation…  We’ve got a lake house nearby… http://www.deepcreekresort.com/view.asp?selectviewQ=200

27 June 28 th – July 1 st 2006 Initial Steps to Agility  Continuous Integration is quickest ROI Start with source control Automate you deployment Start testing  New apps should focus on unit tests  Existing apps should focus on application tests  Investing in people is biggest ROI

28 June 28 th – July 1 st 2006 General Booklist  The Pragmatic Programmer, Hunt/Thomas  Practices of An Agile Developer Subramanian/Hunt  Agile Software Development, Robert Martin  Code Complete, Steve McConnell  My Job Went to India (And All I Got Was This Lousy Book), Chad Fowler

29 June 28 th – July 1 st 2006 Specific Books  “The Trilogy” Pragmatic Source Control (SVN or CVS) Pragmatic Unit Testing (JUnit, NUnit) Pragmatic Project Automation  Head-First Design Patterns

30 June 28 th – July 1 st 2006 Conversations and Conferences  Joel on Software (Joel Spolsky)  Teratech CFUnited (right now!) Frameworks  O’Reilly Conferences Open Source Conference (July, Portland) Emerging Tech (March, San Diego) EurOSCON (Sept, Benelux)

31 June 28 th – July 1 st 2006 Software  CFUnit  CFCUnit  Selenium  Grinder  Subversion  Trac  Ant  Eclipse

32 June 28 th – July 1 st 2006 Thanks!!!  John Paul Ashenfelter ashenfelterj@transitionpoint.com http://www.transitionpoint.com


Download ppt "CFUNITED – The premier ColdFusion conference www.cfunited.com Agile ColdFusion: Delivering Better Apps in Less Time John Paul Ashenfelter CTO/Transitionpoint."

Similar presentations


Ads by Google