• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Pscad agile adoption

Pscad agile adoption



How the PSCAD Development Group became Agile

How the PSCAD Development Group became Agile



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Pscad agile adoption Pscad agile adoption Presentation Transcript

    • Story From the Trenches: How the PSCADDevelopment Group Became Agile.OCTOBER 18, 2011J. Craig Muller, P. Eng.Simulation Development Manager, Manitoba HVDC Research CentreMark Kulchycki, P. Eng.Software Architecture Manager, Manitoba HVDC Research Centre
    • The PSCAD Group
    • 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
    • 2. Rebuild the team and open up betterchannels 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
    • 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
    • 4. Change project planning to supportchanges in development cycles• Break projects into smaller and smaller tasks• Keep plans adaptive• Introduce more milestones
    • 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
    • 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
    • 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
    • 8. Get involved with local organizations andevents• Join the Winnipeg Agile User Group• Attend SDEC• Seek out addition groups and events
    • 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
    • 10. Introduce Kanban boards to track projectdevelopment 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
    • 11. Keep experimenting with newmethodologies• 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
    • Questions?