Outline. Section 21.6 (pp ) ISC

Similar documents
Do You Want to Buy a Home but have Poor Credit or Little in Savings?

Architecture and Agility DevJam - All rights reserved.

WESTERN SPECIALTY CONTRACTORS. Property Inspections. The Critical First Step

/your guide to buying at auction. brad bell

Looking After Your Move

property even if the parties have no lease arrangement. This is often called an option contract.

YOUR CLIENT JOURNEY. When buying property with Scullion LAW

December 13, delivery: To: Subject: File Reference No

SECOND UNIT DRAFT. workbook. A tool for homeowners considering building a second unit in San Mateo County

How to implement a mandatory inspection in accordance with European directives: The example of certified workshops

Talking Points For Slides

Developing DITA Expertise Across Your Virtual Team. Martha Morgan Information Architect, NetApp June 4, 2009

Begin by developing a strong marketing plan. The cornerstone will be internet driven

For legal reasons, we cannot and will not respond to messages asking for more information about a property.

Sell Your House in DAYS Instead of Months

Issues to Consider in Rights of First Refusal

Home Buying Service. In this Guide: Finding an Agent. Finding the Right House. Applying for a Loan. Home Inspections.

CRE Residents Ballot Workshop

English as a Second Language Podcast ESL Podcast 294 Living in a Condo or Co-op

Real Estate Services Proposal

Property Management Solutions for the Frustrated Landlord

Data Verification. Professional Excellence Bulletin [PP-14-E] February 1995

MAYOR OF LONDON. Please be aware that Housing Moves cannot guarantee a move to everyone who registers for the scheme.

Continuous Architecture and Emergent Design

Examining Local Authority Housing Waiting Lists. A Submission to the Joint Oireachtas Committee on Housing, Planning and Local Government.

Rent Increase 2018/19. Briefing Paper

The economic tumult of the last few years has driven

HORIZON OFFSITE HOMES

TOP 10 Technology Mistakes that 99% of Agents Make. 2 Hours (100 Minutes) "THREE SHEETS" SHEET #1: THINGS YOU ABSOLUTELY SHOULD NOT DO!!!

CIH and Orbit response to. DCLG consultation: Proposals to streamline the resale of shared ownership properties

7 PRINCIPLES OF THE INVEST FOUR MORE STRATEGY

INSIDER S GUIDE. The 5 Most Powerful Ways to Improve Tenant Satisfaction Today

Distinguishing Your Rental Business with Customer Service

Developing DITA Expertise Across Your Virtual Team. Martha Morgan Architect, Information Engineering October 14, 2009

Welcome to the Khare Empire, where we help build yours!

THE BASICS: Commercial Agreements

* * * * * * * Swapping is often a quick and easy way to find a move as long as you know what to do. Just follow our six simple steps to a swap.

LANCE LUNDY E-BOOK GUIDE TO BUYING A WHISTLER OR PEMBERTON PROPERTY

Appendix C Tips for Making an Inspection a Cooperative Rather Than an Adversarial Experience

Auction Benefits... Page 5 Private Treaty Benefits... Page 5 What is your property worth?...page 5 - Pricing Guidelines

Guide to Appraisal Reports

The Honourable Peter Milczyn Minister of Housing/Minister Responsible for the Poverty Reduction Strategy College Park, 17th Floor

Special Report #1 Step by Step Guide: How to do Due Diligence for Tax Liens

The joint leases project change is coming

Session 4 How to Get a List

Digital Track Notebook

BOTH SIDES, OWN VIBES: Under-Construction Vs Sub-Sale Property

Home Buying Service. In this Guide: Finding an Agent. Finding the Right House. Applying for a Loan. Home Insp ections.

Landlord Guide. How to Choose the Right Tenants

Guide to the housingmoves scheme

IMPROVING LEASE ACCOUNTING Financial Accounting Standards Advisory Council December 1, 2005

Information Quality - A Critical Success Factor How to make it all right!

HOUSING TECHNICIAN I HOUSING TECHNICIAN II

Chapter 35. The Appraiser's Sales Comparison Approach INTRODUCTION

Tax Sale Sniper Basic Training

Time Tactics for Commercial Real Estate Salespeople John Highman

IS BRANCH OUT FOR YOU?

Burnetts Assured Shorthold Tenant Eviction Scheme

What happens when the Court is involved in a tenancy deposit dispute?

FROM THE DESK OF THE DIRECTOR OF MAINTENANCE JOSH ZUPFER

Briefing Note. Voluntary Registration of Land in the Land Register of Scotland

Tax Credit Management Abilities

Do you know what percentage of people in South Africa will retire rich at the age of 65?

Outstanding Achievement In Housing In Wales: Finalist

HOW TO CREATE AN APPRAISAL

presentation for October 5, 2018

How Selling Your House to a Real Estate Investor Stacks Up Against Your Other Options

YOUR GUIDE TO THE LEGAL PROCESS FOR SELLING A PROPERTY

Village of Bremen 9090 Marietta Road, SE Bremen, Ohio (740)

The New York Housing Process

The 5 biggest house-flipping mistakes that will cost you serious time and money and how to avoid them

Homeowner s Exemption (HOE)

Statutory restrictions on access land A guide for land managers

NFU Consultation Response

An Agent s Guide to Pre-Sale Renovation

Finding Deals in Defailted Properties Pre-Foreclosure, Courthouse Auctions and Bank-Owned REOs

WHITE PAPER. New Lease Accounting Rules

Do You Know Your Rights and Duties As a Renter?

Innovative approaches to Land Governance Programme management; a Contractors View. Clive English & Owen Edwards

Selling your property?

Home Selling Made Simple

Walking First-Time Homebuyers through the Building Process

Answers to Questions Communities

Belfast Municipal Airport Airspace Obstruction Analysis

Home buying tips / Eight steps to buying your home

Why LEASE PURCHASE is fast becoming the seller's First Choice as an alternative to the traditional way of Selling Your Home FAST!

Assessor s offices may observe rules or policy items that

European Component Oriented Architecture (ECOA ) Collaboration Programme: ECOA White Paper

Underground Tax Sale Strategies

Acquiring Real Property for Federal and Federal-Aid Programs and Projects

Landlord s Checklist Of Silent Lease Issues (Second Edition)

MULTIPLE CHALLENGES REAL ESTATE APPRAISAL INDUSTRY FACES QUALITY CONTROL. Issues. Solution. By, James Molloy MAI, FRICS, CRE

Who you are and why it matters

Do You Know Your Rights and Duties As a Renter?

A Guide To Fully Managed Property Investments (0)

Know Your Rights: A Guide for Tenants Renting in the State of Virginia Introduction Lease Agreements

Slamming the door on housing fraudsters Five ways to detect social housing fraud

Analysing lessee financial statements and Non-GAAP performance measures

FindPinellasForeclosures Crash Course: Buying Properties at Pinellas County Foreclosure Auctions

Transcription:

Information Systems Concepts extreme Programming Roman Kontchakov Birkbeck, University of London Based on Chapter 21 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design Using UML, (4th Edition), McGraw Hill, 2010

Outline XP Section 21.6 (pp. 625 627) ISC 2018-10 1

What is XP? extreme Programming (XP) is probably the most prominent agile development methodology (first publicized by Kent Beck) ISC 2018-10 2

extreme Young Programmer: Senior Manager: Wow! Cool! Let s try it! Isn t it silly, tricky and dangerous? ISC 2018-10 3

What is XP? XP is a novel combination of best practices in software development each knob is a best practice known to work well in software development turn all knobs up to 10 (the extreme) and leave out everything else ISC 2018-10 4

Embracing Change XP emphasises that embracing change is important and key to systems development everything in development changes: business, technology, team, requirements, etc. the problem is not change, because change is going to happen anyway the problem is our inability to cope with change ISC 2018-10 5

Underlying Principles: 1. Communication Poor communication is a significant factor in failing projects XP highlights the importance of good communication among developers between developers and users Developers work in open workspaces and rely on oral communication ISC 2018-10 6

Underlying Principles: 2. Simplicity Developers are sometimes tempted to use technology for technology s sake rather than seeking the simplest effective solution and justify complex solutions as a way of meeting possible future requirements XP focuses on the simplest solution for the immediate known requirements Measuring programming progress by lines of code is like measuring aircraft building progress by weight. Bill Gates ISC 2018-10 7

Underlying Principles: 3. Feedback Unjustified optimism is common in systems development Developers tend to underestimate the time required to complete any particular programming task This results in poor estimates of project completion, constant chasing of unrealistic deadlines, stressed developers and poor productivity XP is geared to giving the developers frequent and timely feedback from users and from test results Work estimates are based on the work actually completed in the previous iteration ISC 2018-10 8

Underlying Principles: 4. Courage The exhortation to be courageous urges the developer to throw away code that is not quite correct and start again, rather than trying to fix the unfixable Essentially the developer has to abandon unproductive lines of code, despite the personal emotional investment in work done ISC 2018-10 9

12 Best Practices Planning Game Small Releases Metaphor Simple Design Testing Refactoring Pair Programming Collective Ownership Continuous Integration 40-Hour Week On-Site Customer Coding Standards ISC 2018-10 10

Best Practices: 1. Planning Game The planning game involves quickly defining the scope of the next release from user priorities and technical estimates The plan is updated regularly as the iteration progresses ISC 2018-10 11

User Stories Requirements capture in XP is based on user stories that describe the requirements written by the user form the basis of project planning and the development of tests A user story is very similar to use cases, though there are key differences in granularity: A typical user story is about three sentences long and does not include any detail of technology When the developers are ready to start work, they get detailed descriptions of the requirements by sitting face-to-face with their customer ISC 2018-10 12

User Story: Examples As a user, I want to search for my customers by their first and last names. As a non-administrative user, I want to modify my own schedules but not the schedules of other users. Starting Application: The application begins by bringing up the last document the user was working with. As a user closing the application, I want to be prompted to save if I have made any change in my data since the last save. ISC 2018-10 13

Best Practices: 2. Small Releases The information system should be delivered in small releases that incrementally build functionality through rapid iteration Each release is as small as possible, but still delivering business value Get customer feedback early and often ISC 2018-10 14

Best Practices: 3. Metaphor A unifying metaphor or high-level shared story focuses the development provides the view from 10k feet above helps to guide the team, e.g., when naming objects visualizes the information system in terms of something both simple and concrete For example, in the C3 payroll project: the paycheque goes down the assembly line and pieces of information are added to it ISC 2018-10 15

Best Practices: 4. Simple Design The system should be based on a simple design No Big Design Up Front (BDUF) Do the simplest thing that could possibly work You Ain t Gonna Need It (YAGNI) ISC 2018-10 16

Best Practices: 5. Testing Developers prepare unit tests in advance of software construction Test-Driven Development (TDD) tests are automated, often using the xunit framework must run at 100% before proceeding Customers define acceptance tests written together with the customer acts as contracts a measure of progress late, expensive testing leaves many defects frequent testing reduces costs and defects ISC 2018-10 17

Best Practices: 6. Refactoring Restructuring the existing program code (without changing its functionality) to remove duplication simplify the code improve flexibility Refactor Mercilessly: XP developers can rely on testing to ensure nothing breaks in the process of refactoring ISC 2018-10 18

Best Practices: 7. Pair Programming Two developers write code together using one workstation One developer, the driver, has control of the keyboard and mouse and creates the implementation The other developer, the passenger, watches the driver s implementation to identify defects and participates in on-demand brainstorming The roles of driver and passenger are periodically rotated between the two developers ISC 2018-10 19

Best Practices: 7. Pair Programming An empirical study by Laurie Williams (NCSU) Pairs produced higher quality code 15% less defects Pairs completed their tasks in about half the time 58% of elapsed time Most programmers reluctantly embark on pair programming pairs enjoy their work more (92%) pairs feel more confident in their work products (96%) India Technology Company 24% increase in productivity (kloc/person-month) 10-fold reduction in defects ISC 2018-10 20

Best Practices: 8. Collective Ownership The code is owned collectively and anyone can change any code Cleaner code developers are not required to work around deficiencies in objects they do not own Faster progress no need to wait for someone else to fix something ISC 2018-10 21

Best Practices: 9. Continuous Integration The system is integrated and built frequently each day This gives the opportunity for regular testing and feedback Do it often integrate and test every few hours, at least once per day All tests must pass easy to tell who broke the code Only one pair integrates code into the base at a time simplifies issues arising from parallel integration Eliminates need for an integration team ISC 2018-10 22

Best Practices: 10. 40-hour Week Normally staff should work no more than 40 hours a week Kent Beck:... fresh and eager every morning, and tired and satisfied every night Burning the midnight oil kills performance Tired developers make more mistakes, which slows you down more in the long run If you mess with people s personal lives (by taking it over), in the long run the project will pay the consequences ISC 2018-10 23

Best Practices: 11. On-Site Customer A user should be a full-time member of the team The customer available on site clarifies user stories and makes critical business decisions developers don t make assumptions developers don t have to wait for decisions Face to face communication minimizes the chances of misunderstanding ISC 2018-10 24

Best Practices: 12. Code Standards All developers should write code according to agreed standards that emphasize good communication through the code Consistency saves time and money makes it easier to understand other people s code avoids code changes because of syntactic preferences The code should be intention-revealing if you can t explain your code with a comment, rewrite it if your code needs a comment to explain it, rewrite it ISC 2018-10 25

Using XP The effectiveness of XP comes from using the 12 best practices together You can use a practice outside of the XP context, but you will not receive maximum benefits in productivity or quality XP is not sympathetic to using UML for system analysis and design The code itself is its own design documentation XP relies on clear communicative code and rapid feedback If these are not possible then XP would be problematic XP is best suited to projects with a relatively small projects (e.g., no more than 10 programmers) ISC 2018-10 26

Take Home Messages XP 4 Underlying Principles 12 Best Practices ISC 2018-10 27