EXtreme.NET Dr. Neil Roodyn. eXtreme.NET Who is Dr. Neil? MISSION: To increase the value of your Software Business Working with software for way too long.

Slides:



Advertisements
Similar presentations
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Why Software.
Advertisements

An Effective Agile Testing Framework AN AGILE TESTING FRAMEWORK
A Brief Introduction to Test- Driven Development Shawn M. Jones.
A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Alternate Software Development Methodologies
NAUG NAUG Knowledge Evening – th February 2007.
 What is FitNesse / Slim? (10’)  Setting up FitNesse – demo (10’)  Introduction to Snacks-R-Us (10’)  Iteration 1 (35’)  Iteration 2 (35’)  Integration.
1 Design and Integration: Part 1. 2 What’s a metaphor? Ward Cunningham cites George Lakoff’s book, Metaphors We Live By: Lakoff argues that the assumptions.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Transitioning to XP or The Fanciful Opinions of Don Wells.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Big Projects  Part of this class is about picking a cool software project and building it 1.
Living Requirements using Behavior Driven Development
Test Driven Development Derived from Dr. Fawcett’s notes Phil Pratt-Szeliga Fall 2009.
Test Driven Development TDD. Testing ”Testing can never demonstrate the absence of errors in software, only their presence” Edsger W. Dijkstra (but it.
Test Driven Development An approach to writing better code Jimmy Zimmerman Intel Corporation.
ITEC 370 Lecture 27 Life-cycles(3). Life-cycles Review Questions? F give update on project (demo optional) Case study –Actual focus of project (long/short.
Behaviour Driven Development with Cucumber for Java.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Testing in Extreme Programming
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
By for Testing Tools: Test Automation and supporting tools Jariro Pava, Robert Vanderwall 1 WISTPC-14.
Future Media  BBC MMXI TDD at the BBC David Craddock, Jack Palfrey and Tom Canter.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
AutoTester & UAT Automation Framework By SSTZ-UAT.
TM Copyright © 2009 NMQA Ltd. Behaviour Driven Testing with.
1 Legacy Code From Feathers, Ch 2 Steve Chenoweth, RHIT Right – Your basic Legacy, from Subaru, starting at $ 20,295, 24 city, 32 highway.
Extreme Programming (XP) XP is an agile methodology: –aims to be responsive to change Theme running through XP is the importance of communication –amongst.
Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few.
Copyright © 2005 Charlie Poole. All rights reserved Test First User Interfaces XP2005 Sheffield University June 18, 2005.
CS5103 Software Engineering Lecture 02 More on Software Process Models.
The HotCiv GUI Instantiating the MiniDraw Framework.
Anubha Gupta | Software Engineer Visual Studio Online Microsoft Corp. Visual Studio Enterprise Leveraging modern tools to streamline Build and Release.
Test Driven Development Daniel Brown dxb17u. Introduction Originates from Extreme Programming (XP) Proposed by Kent Beck in Test Driven Development.
1 Presentation Title Test-driven development (TDD) Overview David Wu.
HOW AND WHY TO LOVE CUCUMBER By Dana Scheider. Is This Your Programming Experience?
Extreme programming (XP) Variant of agile Takes commonsense practices to extreme levels © 2012 by Václav Rajlich1.
Copyright 2002 by RoleModel Software, Inc. Extreme Programming: So What? Roy W. Miller RoleModel Software, Inc.
Agile Methods Presentation By: Jason Abbett. Definition A process to rapidly develop software Many kinds of agile methods but few are practiced.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
Phoenix Scrum User Group Simplifying Scrum Online May 21 st 2009.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Refactoring and Integration Testing or Strategy, introduced reliably by TDD The power of automated tests.
XP for One at IBM J. B. Rainsberger XP Toronto Users Group 2001 October 16.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Test Driven Development Introduction Issued date: 8/29/2007 Author: Nguyen Phuc Hai.
Continuous Improvement. Start Simple and Continually Improve E.g., Gmail Labels 1.
 Son Nguyen, YM & Skype: ng_thanhson.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
Software Engineering Lecture 11 Software Testing Presenter: Josef Hallberg 1.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Software Development.
Test-driven development
Test Driven Development
Business Should Adopt Agile Testing. Test Driven Development is an essential software development way that is made by an automated test program which.
Advantages OF BDD Testing
Johanna Rothman Create Technical Excellence Chapter 9
روش‌های سريع الانتقال (چابک) توسعه نرم افزار
Agile and XP Development
Test-driven development (TDD)
Sharing the good, the bad, the ugly & What can we do about it?
eXtreme Programming (XP) and eXtreme Modeling (XM)
Test Driven Development
Agile and XP Development
Coming up: What is Agile?
Agile Development – a new way of software development?
Software Engineering and Architecture
Presentation transcript:

eXtreme.NET Dr. Neil Roodyn

eXtreme.NET Who is Dr. Neil? MISSION: To increase the value of your Software Business Working with software for way too long to be healthy Spend half my year in Australia Regular contributor to: Australian Developer, International Developer, Cutter IT Journal, CUJ, CODE…

eXtreme.NET Books

eXtreme.NET Quick Definitions What is XP? What is.NET ? What is eXtreme.NET ?

eXtreme.NET Thinking Out of Focus? Technology –Features –Toys Process –Methodologies –Best Practices People

eXtreme.NET What is software? CODE!

eXtreme.NET CODE Code is what it is all about software product = some code

eXtreme.NET Better Product = better code –Easy to install –Has functions the user wants –High quality repeatedly works –Upgradeable more features the user wants easily added

eXtreme.NET It's not hard! So why do software projects fail? –We should use language ‘xyz’ –We should use technology ‘abc’ –We should use these complex patterns That we don’t actually need –We should use these practices That are not suitable for this project

eXtreme.NET We make it more complex than is needed Makes us look smart Justifies our high salary Covers our arses –'It was a tough project, no wonder it failed!'

eXtreme.NET STOP IT NOW! Do the simplest thing that could possibly work.

eXtreme.NET How? Let me show you....

eXtreme.NET Iteration 0 The automated build file The installer

eXtreme.NET Demo Simple build batch file

eXtreme.NET Planning game Customer meeting User stories Task break down

eXtreme.NET The Development Cycle Test Code Test Refactor Test Integrate

eXtreme.NET Test Driven Development Test First Programming Test Frameworks support TDD NUnit

eXtreme.NET The Why Questions Why do we need tests in our code at all? Isn’t that the job of the testers? Why do we have to write test code? Why not do manual testing? Why write the test code before the ‘proper’ code? Why doesn’t this whole process cost the customer more?

eXtreme.NET Refactoring Changing the structure of code while maintaining the behaviour

eXtreme.NET The Why Questions Why not just get it right the first time? Why not just start again if you know it’s wrong? Why can’t I just refactor at the end of the project? Why does this help me develop more robust code? Why should I do it when no one else does? Why do something that doesn’t add any new features to the code?

eXtreme.NET Demo TDD and refactor

eXtreme.NET Testing the GUI It’s SO HARD –Yes so is writing good software! It’s actually not so hard –use reflection

eXtreme.NET Spiking the unknown When you find an area you don’t fully understand –Explore –Experiment –Explain

eXtreme.NET Ship It! Anytime you have a green screen Should be ready to ship your software everyday

eXtreme.NET eXtreme.NET Day Hands-on how to use the techniques Coming back in October –1 or 2 days?

eXtreme.NET Resources

eXtreme.NET Questions? Thank You!