14
Story From the Trenches: How the PSCAD Development Group Became Agile. OCTOBER 18, 2011 J. Craig Muller, P. Eng. Simulation Development Manager, Manitoba HVDC Research Centre Mark Kulchycki, P. Eng. Software Architecture Manager, Manitoba HVDC Research Centre

Pscad agile adoption

  • Upload
    sdeconf

  • View
    622

  • Download
    0

Embed Size (px)

DESCRIPTION

How the PSCAD Development Group became Agile

Citation preview

Page 1: Pscad agile adoption

Story From the Trenches: How the PSCAD

Development Group Became Agile. OCTOBER 18, 2011

J. Craig Muller, P. Eng. Simulation Development Manager, Manitoba HVDC Research Centre

Mark Kulchycki, P. Eng. Software Architecture Manager, Manitoba HVDC Research Centre

Page 2: Pscad agile adoption

The PSCAD Group

Page 3: Pscad agile adoption

1. Identify the problems

• Realizing there was a problem

• Current path was leading us to failure

• Open up for change

• Understand it is going to be a process; it wasn’t a

switch

Page 4: Pscad agile adoption

2. Rebuild the team and open up better

channels for communication

• Team forges their own identity

• Established weekly meetings

• Problems and developments are addressed as a

team, not as an individual

• Established sense of ownership within the team

Page 5: Pscad agile adoption

3. Change development methodologies

• “One and done” never happens

• It’s impossible to know every requirement ahead of

time

• Adopted iterative development cycles

• Priorities and market demands change

Page 6: Pscad agile adoption

4. Change project planning to support

changes in development cycles

• Break projects into smaller and smaller tasks

• Keep plans adaptive

• Introduce more milestones

Page 7: Pscad agile adoption

5. Change the process of estimating

• Introduce planning poker

• Estimate level of complexity rather than time/money

• All stakeholders are involved

• Hidden details (possible problems) are exposed

• Development plans and estimates are agreed upon as a

consensus

• Reduces risks and spreads liability amongst everyone

involved

Page 8: Pscad agile adoption

6. Introduce automated testing

• Builds/Releases can be auto tested at regular

intervals (weekly, semi-weekly, nightly, etc.)

• Issues/Problems can be caught and addressed

sooner

• Quality assurance increases

• Productivity increases

Page 9: Pscad agile adoption

7. Change deployment methodologies

• Introduce iterative deployment cycle

• Reduce the gap between releases

• Establish regular cycle customers can depend on

• Always have something deployable

• Introduced a Beta program

• Users become directly involved in development

• Provides valuable feedback

• Provides feature usage and application metrics

Page 10: Pscad agile adoption

8. Get involved with local organizations and

events

• Join the Winnipeg Agile User Group

• Attend SDEC

• Seek out addition groups and events

Page 11: Pscad agile adoption

9. Introduce paired-programming

• Product maintenance (bugs, etc.) is addressed as a

team

• Juniors receive direct mentoring by seniors

• Knowledge base (expertise) is distributed amongst

the team, away from individuals

• Peer reviews occur automatically

• Quality of solutions and code increases

Page 12: Pscad agile adoption

10. Introduce Kanban boards to track project

development and maintenance

• Provides a dynamic view on the current state of a

project

• Issues (bottlenecks) are identified early

• Motivates the team involved

• Velocity can be established

Page 13: Pscad agile adoption

11. Keep experimenting with new

methodologies

• Continue to try new things

• Make a point of experimenting with new techniques

every 6 months or so

• Not everything will work

• Remember it’s a process, it’s organic, it needs to

grow

Page 14: Pscad agile adoption

Questions?