scrum implemented in an educational context

89
SCRUM Rody Middelkoop Thursday, March 18, 2010

Upload: rody-middelkoop

Post on 08-Sep-2014

3.761 views

Category:

Technology


3 download

DESCRIPTION

Presentation held at the Hogeschool van Amsterdam to share our (ICA) experience with Scrum in an educational context. More info on http://wiki.icaprojecten.nl.

TRANSCRIPT

Page 1: Scrum implemented in an educational context

SCRUMRody Middelkoop

Thursday, March 18, 2010

Page 2: Scrum implemented in an educational context

Scrum - HvA - Rody Middelkoop

http://blogs.seattleweekly.com/dailyweekly/scrum.jpg

Thursday, March 18, 2010

Page 3: Scrum implemented in an educational context

3

Scrum - HvA - Rody Middelkoop

Agenda

9:00 - 9:30 Introductie:

ICA->Semestermodel->DDOA Processen:

Projectmanagement & Softwareontwikkeling Agile Development

9:30 - 11:30 Scrum in Theory and Practice Theorie 60 min Workshops / Demo

Sprint Planning: 45 min. Standup-meeting: 15 min.

11:30 - 12:00 Scrum toegepast in DDOA

Thursday, March 18, 2010

Page 4: Scrum implemented in an educational context

ICAThursday, March 18, 2010

Page 5: Scrum implemented in an educational context

5

Scrum - HvA - Rody Middelkoop

ICA

Informatica en Communicatie Academie Instituut van de faculteit Techniek van de HAN Brede opleidingen

Bedrijfskundige Informatica Communicatie en Multimedia Design Digitale Communicatie Informatica Technische Informatica

Flexibele leerroutes, beroepstaken, competentiegericht

Thursday, March 18, 2010

Page 6: Scrum implemented in an educational context

6

Scrum - HvA - Rody Middelkoop

Propedeuses en Opleidingen

Bedrijfskundige InformaticaInformaticaTechnische Informatica Communicatie & Multimedia Design (I)

Communicatie & Multimedia Design (C) Digitale Communicatie

Informatica propedeuse

Communicatie propedeuse

Thursday, March 18, 2010

Page 7: Scrum implemented in an educational context

7

Scrum - HvA - Rody Middelkoop

Semestermodel

Thursday, March 18, 2010

Page 8: Scrum implemented in an educational context

7

Scrum - HvA - Rody Middelkoop

Semestermodel

Thursday, March 18, 2010

Page 9: Scrum implemented in an educational context

8

Scrum - HvA - Rody Middelkoop

DDOA Semester

Project

7.5 + 7.5 EC

15 EC

tijd

Thursday, March 18, 2010

Page 10: Scrum implemented in an educational context

9

Scrum - HvA - Rody Middelkoop

Beroepstaak

“Ontwikkel een gedistribueerde OO applicatie” Richt zich op veel aspecten van een software

engineeringsproject: analyseren, ontwerpen, bouwen, testen, implementeren

Voorbeelden: HAN: Senior Navigator Human Inference: Collaborative Knowledge Verifier Avisi: JIRA Timesheet Plugin Luminis: JMX Console VXCompany: Mister Match InfoSupport: JavaFX Standapp

Thursday, March 18, 2010

Page 11: Scrum implemented in an educational context

10

Scrum - HvA - Rody Middelkoop

Eigenschappen DDOA

Software opleveren van hoge kwaliteit 10 tot 12 projectgroepen van 5 studenten Integratie van techniek en social skills Aandacht voor volledige ontwikkelproces Externe opdrachtgevers: 2Pro, Accenture, Avisi, E-ID,

HAN, InfoSupport, ITude, Logica, Lucka, Luminis, Profict, Sogyo,VXCompany

Aandacht voor open/ shared source (Atlassian) Tooling: Eclipse, Subversion, Ant, JUnit, Jira,

Confluence, Bamboo

Thursday, March 18, 2010

Page 12: Scrum implemented in an educational context

ProcessThursday, March 18, 2010

Page 13: Scrum implemented in an educational context

12

Scrum - HvA - Rody Middelkoop

Softwareontwikkel-proces:RollenProductenVerantwoordelijk-hedenFasering: Analyse, Ontwerp, Bouw, Test, Oplevering

Processen

Projectmanagement-proces: Geld Organisatie Kwaliteit Informatie Tijd

Thursday, March 18, 2010

Page 14: Scrum implemented in an educational context

12

Scrum - HvA - Rody Middelkoop

Softwareontwikkel-proces:RollenProductenVerantwoordelijk-hedenFasering: Analyse, Ontwerp, Bouw, Test, Oplevering

Processen

Projectmanagement-proces: Geld Organisatie Kwaliteit Informatie Tijd

Scrum?

Thursday, March 18, 2010

Page 15: Scrum implemented in an educational context

13

Scrum - HvA - Rody Middelkoop

Process: which one works.....

DSDMWaterfall

RUP

Essential UPAgile?

Spiral

XP

Prince2

Thursday, March 18, 2010

Page 16: Scrum implemented in an educational context

13

Scrum - HvA - Rody Middelkoop

Process: which one works.....

DSDMWaterfall

RUP

Essential UPAgile?

Spiral

XP

Prince2

Scrum?

Thursday, March 18, 2010

Page 17: Scrum implemented in an educational context

14

Scrum - HvA - Rody Middelkoop

Click to edit Master text styles

Process: Waterfall

BDUF: Big Design Up Front

Documentation is important

Clear phases and milestones

Well known by projectmanagers

http://www.software-development-resource.com/images/waterfall_software_process.jpg

Thursday, March 18, 2010

Page 18: Scrum implemented in an educational context

15

Scrum - HvA - Rody Middelkoop

Click to edit Master text styles

Process: Unified Proces

Incremental and iterative

Inception, Elaboration, Construction, Transition

Risk mitigation: prototypes

Architectural relevant use case(s)

Describes roles and workproducts in detail

http://era.nih.gov/docs/rup_fundamentals_slide03.jpg

Thursday, March 18, 2010

Page 19: Scrum implemented in an educational context

Agile

http://globalnerdy.com/wordpress/wp-content/uploads/2007/11/dilbert-agile_programming.gif

Thursday, March 18, 2010

Page 20: Scrum implemented in an educational context

17

Scrum - HvA - Rody Middelkoop

What’s our problem

We are skilled problem solvers, experts at devising long-lasting solutions. “The problem in our profession is not process or technology …it is people and dysfunctional interactions. It can only be solved person by person.”

Business value - it is hard to focus on what the customer really needs.

Thursday, March 18, 2010

Page 21: Scrum implemented in an educational context

18

Scrum - HvA - Rody Middelkoop

Communication

Thursday, March 18, 2010

Page 22: Scrum implemented in an educational context

19

Scrum - HvA - Rody Middelkoop

Agile development

Agile Manifesto: Individuals and

interactions Working software Customer collaboration Responding to change

processes and toolscomprehensive documentationcontract negotiationfollowing a plan

That is, while there is value in the items on the right, we value the items on the left more.

Thursday, March 18, 2010

Page 23: Scrum implemented in an educational context

20

Scrum - HvA - Rody Middelkoop

Agile development

Testing early and automated Incremental design Daily deployment Customer involvement Continuous integration Short deployment cycles Incremental planning

Thursday, March 18, 2010

Page 24: Scrum implemented in an educational context

21

Scrum - HvA - Rody Middelkoop

Agile playground

Well known methods: DSDM Scrum Extreme Programming Lean

Lots of combinations possible Smart

Thursday, March 18, 2010

Page 25: Scrum implemented in an educational context

22

Scrum - HvA - Rody Middelkoop

Plan-driven home ground✓ High criticality✓ Junior developers✓ Requirements do not

change often✓ Large number of

developers✓ Culture that demands

order

When to do agile (Boehm/Turner)

Agile home ground✓ Low criticality✓ Senior developers✓ Requirements change

often✓ Small number of

developers✓ Culture that thrives

on chaos

Thursday, March 18, 2010

Page 26: Scrum implemented in an educational context

Scrum: Theory/PracticeThursday, March 18, 2010

Page 27: Scrum implemented in an educational context

24

Scrum - HvA - Rody Middelkoop

Scrum in a nutshell

Empirical management & control process – inspect and adapt feedback loops

Used to manage complex projects since 1990 Delivers business functionality in 30 days Scalable to distributed, large, and long projects Extremely simple but very hard “Scrum provides the mechanism for making the

people problems apparent so they can be solved and helps customer back in driver seat.”

Thursday, March 18, 2010

Page 28: Scrum implemented in an educational context

25

Scrum - HvA - Rody Middelkoop

Scrum origins

Jeff Sutherland Initial Scrums at Easel Corp in 1993 IDX and nearly 600 people doing Scrum Not just for trivial projects: FDA-approved, life-critical software for x-rays and MRIs

Ken Schwaber: ADM (Advanced Development Methods) Initial definitions of Scrum at OOPSLA 96 with

Sutherland Mike Beedle

Scrum patterns in Patterns book: PLOPD4

Thursday, March 18, 2010

Page 29: Scrum implemented in an educational context

26

Scrum - HvA - Rody Middelkoop

Scrum values

Commitment (Teamwork) Focus Openness

Enabler of Honesty Provides Transparency)

Respect Courage

Thursday, March 18, 2010

Page 30: Scrum implemented in an educational context

27

Scrum - HvA - Rody Middelkoop

Scrum values

“We believe in [value] therefore we will [do something].”

For example, your team might come back with: We believe in respect, therefore we will show up on time

for all meetings.

Thursday, March 18, 2010

Page 31: Scrum implemented in an educational context

28

Scrum - HvA - Rody Middelkoop

Scrum process

http://www.russianit.info/en/scrum/scrum_large.gif

Thursday, March 18, 2010

Page 32: Scrum implemented in an educational context

29

Scrum - HvA - Rody Middelkoop

Scrum levenscyclus

Thursday, March 18, 2010

Page 33: Scrum implemented in an educational context

30

Scrum - HvA - Rody Middelkoop

Scrum levenscyclus (2)

http://www.scrumdesk.com/pictures/ScrumDesk%20process%20poster.png

Thursday, March 18, 2010

Page 34: Scrum implemented in an educational context

31

Scrum - HvA - Rody Middelkoop

Scrum rollen

Scrum, presentatie Jeroen Bouvrie, Luminis.

Thursday, March 18, 2010

Page 35: Scrum implemented in an educational context

32

Scrum - HvA - Rody Middelkoop

Scrum rollen - Scrum master

Represents management to the project

Responsible for enacting Scrum values and practices

Main job is to remove impediments

http://chrisdonnan.com/blog/wp-content/uploads/2007/06/Humorous_ScrumMaster_image_2.jpg

Thursday, March 18, 2010

Page 36: Scrum implemented in an educational context

33

Scrum - HvA - Rody Middelkoop

Scrum rollen - Product Owner

Defines the features of the product, decides on release date and content

Prioritizes features, accepts or rejects work results Can change features and priority every 30 days Commits to not throw new requirements at the team

during a sprint

Thursday, March 18, 2010

Page 37: Scrum implemented in an educational context

34

Scrum - HvA - Rody Middelkoop

Scrum rollen - inside and outside

Scrum team: Pigs Werkt aan de Sprint backlog Geen verdere taak- en rolverdeling

Alle anderen: Chickens Wel observeren Niet interveniëren tijdens iteraties

Thursday, March 18, 2010

Page 38: Scrum implemented in an educational context

35

Scrum - HvA - Rody Middelkoop

Scrum team

Typically 5-10 people

Cross-functional

QA, Programmers, UI Designers, etc. Members should be full-time

May be exceptions (e.g., System Admin, etc.)

Teams are self-organizing

Membership can change only between sprints

Thursday, March 18, 2010

Page 39: Scrum implemented in an educational context

36

Scrum - HvA - Rody Middelkoop

Scrum Praktijken

Pre-game Planning And Staging Features, Stories, Use cases (door ‘iedereen’) High level design (software architectuur) Product Backlog

Sprint Planning (her) prioriteren in Productbacklog Sprint backlog creëren

Thursday, March 18, 2010

Page 40: Scrum implemented in an educational context

37

Scrum - HvA - Rody Middelkoop

Product backlog

A list of all desired work on the project Usually a combination of:

story-based work (“let user search and replace”) task-based work (“improve exception handling”)

List is prioritized by the Product Owner Typically a Product Manager, Marketing, Internal

Customer, etc. Contains a first estimation by the team

Thursday, March 18, 2010

Page 41: Scrum implemented in an educational context

38

Scrum - HvA - Rody Middelkoop

Product backlog items

Required ID Feature, Story of Use Case Priority Risk Assessment Estimated points Estimated hours

Optional Comment Status Business value

Thursday, March 18, 2010

Page 42: Scrum implemented in an educational context

39

Scrum - HvA - Rody Middelkoop

Click to edit Master text styles

Product backlog in relation to projectmanagement

http://www.infoq.com/presentations/agile-quality-canary-coalmine

During time a team gets work done from the backlog with a preferable constant quality, value and pace or “velocity”

Thursday, March 18, 2010

Page 43: Scrum implemented in an educational context

40

Scrum - HvA - Rody Middelkoop

Sprint Planning

http://blog.svencipido.be/Blog/content/binary/ScrumSprintPlanningMeeting.jpg

Thursday, March 18, 2010

Page 44: Scrum implemented in an educational context

41

Scrum - HvA - Rody Middelkoop

Sprint Goal

Theme for the next sprint

Add database support Add camera support Enable concurrent use for 1000 users

Thursday, March 18, 2010

Page 45: Scrum implemented in an educational context

42

Scrum - HvA - Rody Middelkoop

From Sprint Goal to Sprint Backlog

Scrum team takes the Sprint Goal and decides what tasks are necessary to meet the Sprint Goal

Managers don’t assign tasks to individuals and don’t make decisions for the team

Thursday, March 18, 2010

Page 46: Scrum implemented in an educational context

43

Scrum - HvA - Rody Middelkoop

How to deliver a potentially shippable product Make slices Each slice can operate

independent of an other slice

Architecural slice Not every slice has to

be put in production immediately http://burgertjes.punt.nl/upload/sushi-for-2.jpg

Thursday, March 18, 2010

Page 47: Scrum implemented in an educational context

44

Scrum - HvA - Rody Middelkoop

Example Sprint Backlog

Thursday, March 18, 2010

Page 48: Scrum implemented in an educational context

45

Scrum - HvA - Rody Middelkoop

Product & Sprint backlog combined

Thursday, March 18, 2010

Page 49: Scrum implemented in an educational context

46

Scrum - HvA - Rody Middelkoop

Sprint Backlog during the sprint

Changes Team adds or removes tasks whenever they need to in

order to meet the Sprint Goal Sprint Backlog can only be updated by the team Estimates are updated whenever there’s new

information

Thursday, March 18, 2010

Page 50: Scrum implemented in an educational context

47

Scrum - HvA - Rody Middelkoop

“The definition of done”

Mijn taak is “af”… .... behalve dan de documentatie .... en de code review .... ik heb het zelf al getest

Thursday, March 18, 2010

Page 51: Scrum implemented in an educational context

48

Scrum - HvA - Rody Middelkoop

“The definition of done” Alle code is ingecheckt. De publieke interface van elke klasse is voorzien van Javadoc. Code voldoet aan de door het team vastgestelde coderichtlijnen (te checken met

Checkstyle of PMD) Alle unittests kunnen uitgevoerd worden met minimal 50% testcoverage. Productbacklog is up to date. Sprintbacklog is up to date. Package-, class-, sequence- en deploymentdiagramman zijn bijgewerkt. Ontwerpbeslissingen zijn vastgelegd. Alle taken (issues, bugs, tasks etc.) zijn afgesloten of uitgesteld tot de volgende sprint. Er is een installatiehandleiding voor de installatie van de software. Er is zoveel mogelijk gebruikersdocumentatie beschikbaar in de applicatie, de rest

digitaal en/of op papier. De nightly en continuous builds falen niet. De sprint is geaccepteerd door de productowner / opdrachtgever.

Thursday, March 18, 2010

Page 52: Scrum implemented in an educational context

49

Scrum - HvA - Rody Middelkoop

Quality? Value Driven Development

http://www.infoq.com/presentations/agile-quality-canary-coalmine

Thursday, March 18, 2010

Page 53: Scrum implemented in an educational context

workshop: Sprint backlogThursday, March 18, 2010

Page 54: Scrum implemented in an educational context

51

Scrum - HvA - Rody Middelkoop

Workshop: Casus

Thursday, March 18, 2010

Page 55: Scrum implemented in an educational context

52

Scrum - HvA - Rody Middelkoop

Workshop: High Level Architectuur

Thursday, March 18, 2010

Page 56: Scrum implemented in an educational context

53

Scrum - HvA - Rody Middelkoop

Workshop: Domein Model

Thursday, March 18, 2010

Page 57: Scrum implemented in an educational context

54

Scrum - HvA - Rody Middelkoop

Workshop: Sprint Backlog

Gegeven een product backlog: 10 min:

Bepaal de Sprint Goal en welke features op de sprint backlog komen

20 min: Schat de features met behulp van planning poker

15 min: Verdeel enkele features tot taken en verdeel de taken

Beantwoord minimaal de volgende vragen: Voor hoeveel punten werk heb je ingepland? Voor hoeveel uren werk heb je ingepland?

Thursday, March 18, 2010

Page 58: Scrum implemented in an educational context

55

Scrum - HvA - Rody Middelkoop

Scrum Praktijken - vervolg

Het team is ‘zelfsturend’ Houdt dagelijkse Scrum Meetings: standup Scrum master werkt als ‘Firewall’

Blocks: beslissing binnen een uur Blocks: weggewerkt in één dag

Het team werkt dagelijks in één ruimte Iedere dag: integratie en testen Sprint Review zònder PowerPoints: gaat om demo.

Thursday, March 18, 2010

Page 59: Scrum implemented in an educational context

56

Scrum - HvA - Rody Middelkoop

Scrum Meeting - stand-up

Thursday, March 18, 2010

Page 60: Scrum implemented in an educational context

57

Scrum - HvA - Rody Middelkoop

Scrum Meeting - vervolg

Thursday, March 18, 2010

Page 61: Scrum implemented in an educational context

58

Scrum - HvA - Rody Middelkoop

Burndown

Thursday, March 18, 2010

Page 62: Scrum implemented in an educational context

film standup-meetingThursday, March 18, 2010

Page 63: Scrum implemented in an educational context

60

Scrum - HvA - Rody Middelkoop

Sprint Review Meeting

Team presents what it accomplished during the sprint Typically takes the form of a demo of new features

or underlying architecture Informal

Participants Customers Management Product Owner Other engineers

Thursday, March 18, 2010

Page 64: Scrum implemented in an educational context

61

Scrum - HvA - Rody Middelkoop

Inspect and Adapt: Retrospective

Wat ging goed? Wat ging niet goed en hoe kwam dat? Welke acties moeten we ondernemen om eerdere

fouten te voorkomen?

Thursday, March 18, 2010

Page 66: Scrum implemented in an educational context

Scrum in DDOAErvaringen vanuit ICA

Thursday, March 18, 2010

Page 67: Scrum implemented in an educational context

64

Scrum - HvA - Rody Middelkoop

Eigen projectplanning

Thursday, March 18, 2010

Page 68: Scrum implemented in an educational context

65

Scrum - HvA - Rody Middelkoop

Sprint lengte

Kies een vaste lengte Velocity DDOA: 2 weken

Junior developers Overhead schoolwerk Past goed in 8 weken Nadeel: velocity pas

goed na gem. 3 sprintshttp://www.jimcarroll.com/weblog/archives/pictures/velocity.jpg

Thursday, March 18, 2010

Page 69: Scrum implemented in an educational context

66

Scrum - HvA - Rody Middelkoop

Projectondersteuning

Workshops op aanvraag ICA Extern

Coaching Kwaliteit: Quality Assurance Manager

Product: Technical Coach

Proces: Process Coach

Vaardigheden: Social Skills Coach

Functioneringsgesprekken en IPV 2x op basis van gekozen competenties

Thursday, March 18, 2010

Page 70: Scrum implemented in an educational context

67

Scrum - HvA - Rody Middelkoop

Tools: Confluence

Thursday, March 18, 2010

Page 71: Scrum implemented in an educational context

68

Scrum - HvA - Rody Middelkoop

Tools: JIRA

Thursday, March 18, 2010

Page 72: Scrum implemented in an educational context

69

Scrum - HvA - Rody Middelkoop

Tools: Bamboo

Thursday, March 18, 2010

Page 73: Scrum implemented in an educational context

70

Scrum - HvA - Rody Middelkoop

Other “Agile” Tools and Practices

Test Driven Development: JUnit EasyMock Cobertura

Versioncontrol Subversion

Planningboard & Burndown Jira, GreenHopper

Pair Programming Planning Poker Refactoring

Thursday, March 18, 2010

Page 74: Scrum implemented in an educational context

71

Scrum - HvA - Rody Middelkoop

Competentiematrix

Rol/Competentie Samenwerken Communiceren Planmatig werken

Scrum Master

Product Owner

Team Member

Thursday, March 18, 2010

Page 75: Scrum implemented in an educational context

71

Scrum - HvA - Rody Middelkoop

Competentiematrix

Rol/Competentie Samenwerken Communiceren Planmatig werken

Scrum Master

Product Owner

Team Member

X

Thursday, March 18, 2010

Page 76: Scrum implemented in an educational context

71

Scrum - HvA - Rody Middelkoop

Competentiematrix

Rol/Competentie Samenwerken Communiceren Planmatig werken

Scrum Master

Product Owner

Team Member

X

X

Thursday, March 18, 2010

Page 77: Scrum implemented in an educational context

71

Scrum - HvA - Rody Middelkoop

Competentiematrix

Rol/Competentie Samenwerken Communiceren Planmatig werken

Scrum Master

Product Owner

Team Member

X

XX

Thursday, March 18, 2010

Page 78: Scrum implemented in an educational context

71

Scrum - HvA - Rody Middelkoop

Competentiematrix

Rol/Competentie Samenwerken Communiceren Planmatig werken

Scrum Master

Product Owner

Team Member

X

XX

X

Thursday, March 18, 2010

Page 79: Scrum implemented in an educational context

71

Scrum - HvA - Rody Middelkoop

Competentiematrix

Rol/Competentie Samenwerken Communiceren Planmatig werken

Scrum Master

Product Owner

Team Member

X

XX

XX

Thursday, March 18, 2010

Page 80: Scrum implemented in an educational context

71

Scrum - HvA - Rody Middelkoop

Competentiematrix

Rol/Competentie Samenwerken Communiceren Planmatig werken

Scrum Master

Product Owner

Team Member

X

XX

XX X

Thursday, March 18, 2010

Page 81: Scrum implemented in an educational context

72

Scrum - HvA - Rody Middelkoop

Scrum Master & Planmatig werken

Thursday, March 18, 2010

Page 82: Scrum implemented in an educational context

73

Scrum - HvA - Rody Middelkoop

Product Owner & Communiceren

Thursday, March 18, 2010

Page 83: Scrum implemented in an educational context

74

Scrum - HvA - Rody Middelkoop

Team Member & Samenwerken

Thursday, March 18, 2010

Page 84: Scrum implemented in an educational context

ConclusieThursday, March 18, 2010

Page 85: Scrum implemented in an educational context

76

Scrum - HvA - Rody Middelkoop

What to expect?

Initial progress will likely be slower than anticipated The process will quickly reveal constraints Team will take time to learn how to self-organize You will want to tell the team how to solve problems You will need encourage visibility and transparency Team may have difficulties focusing on daily plan

Thursday, March 18, 2010

Page 86: Scrum implemented in an educational context

77

Scrum - HvA - Rody Middelkoop

Wrap up: Scrum values

Agile, team commitment Timeboxing Transparency Play your role Communicate Define what “done” means Scrum won’t solve problems; it makes them visible so

there are no execuses to do nothing. Nowhere to hide and visible results!

Thursday, March 18, 2010

Page 87: Scrum implemented in an educational context

78

Scrum - HvA - Rody Middelkoop

Softwareontwikkel-proces:✓RollenProducten✓Verantwoordelijk-hedenFasering: Analyse, Ontwerp, Bouw, Test, Oplevering

Processen: Scrum

Projectmanagement-proces: Geld✓ Organisatie✓ Kwaliteit Informatie✓ Tijd

Thursday, March 18, 2010

Page 88: Scrum implemented in an educational context

79

Scrum - HvA - Rody Middelkoop

Resources

DDOA http://wiki.icaprojecten.nl

Agile Manifesto http://agilemanifesto.org/

Implementing Scrumhttp://www.implementingscrum.com/

Larman, Craig, (2004), Agile & Iterative Development. A Manager’s Guide, Boston: Pearson Education.

Luminis, Jeroen Bouvrie, Scrum Master

Thursday, March 18, 2010

Page 89: Scrum implemented in an educational context

Bedankt voor uw aandacht!

Thursday, March 18, 2010