Your SlideShare is downloading. ×
0
<ul>Twitter #NIEMNTE1 </ul><ul>Agile Standards Development: Lessons Learned from STAR and Open Source Development David Ca...
<ul><li>Principal Software Engineer at Intalio.
Open Source Projects </li><ul><li>Eclipse Web Tools Incubator (Project Lead)
Eclipse XSL Tools and Psycho Path Xpath 2 processor
Eclipse Architecture Council and EclipseCon Program Committee
eBay Open Source – Turmeric SOA (Project Lead) </li></ul><li>Twitter – kingargyle
Blog:  http://intellectualcramps.wordpress.com
Linked In, Google+
IRC chat.freenode.net, #turmeric-dev (Turmeric SOA)
STAR, XML Data Architect for 5 years. </li></ul>Who is Dave? <ul>Twitter #NIEMNTE1 </ul>
• Changing Requirements – Requirements change • Monthly • Weekly • Daily – Users of the Data Specifications need the stand...
•  Manual Processes –  Schema are created manually one time before release. –  Manual Verification of user requirements – ...
<ul>Twitter #NIEMNTE1 </ul>
Waterfall Development Process Nouve <ul>Twitter #NIEMNTE1 </ul>
Learning from Open Source Projects <ul>Twitter #NIEMNTE1 </ul>
<ul><li>Eclipse Foundation  (www.eclipse.org) </li><ul><li>Hosts an Annual Release Train
62 Projects are all released simultaneously, developed on their own timelines and own processes.
All are guaranteed to work together (i.e. no conflicts).
Milestone builds every 6 weeks
Continuous Integration
Eclipse has over 200 open source projects. </li></ul><li>Google Android Platform (source.android.com) </li><ul><li>Updated...
Upcoming SlideShare
Loading in...5
×

Niemnte agile

283

Published on

Agile Standards develoment, and Lessons Learned from Open Source development and STAR.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
283
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Niemnte agile"

  1. 1. <ul>Twitter #NIEMNTE1 </ul><ul>Agile Standards Development: Lessons Learned from STAR and Open Source Development David Carver Principal Software Architect [email_address] </ul>
  2. 2. <ul><li>Principal Software Engineer at Intalio.
  3. 3. Open Source Projects </li><ul><li>Eclipse Web Tools Incubator (Project Lead)
  4. 4. Eclipse XSL Tools and Psycho Path Xpath 2 processor
  5. 5. Eclipse Architecture Council and EclipseCon Program Committee
  6. 6. eBay Open Source – Turmeric SOA (Project Lead) </li></ul><li>Twitter – kingargyle
  7. 7. Blog: http://intellectualcramps.wordpress.com
  8. 8. Linked In, Google+
  9. 9. IRC chat.freenode.net, #turmeric-dev (Turmeric SOA)
  10. 10. STAR, XML Data Architect for 5 years. </li></ul>Who is Dave? <ul>Twitter #NIEMNTE1 </ul>
  11. 11. • Changing Requirements – Requirements change • Monthly • Weekly • Daily – Users of the Data Specifications need the standards sooner • Data Specifications typically released every 2 years or longer • Users requirements have changed. Government regulations have changed. Data Standards Development Challenges <ul>Twitter #NIEMNTE1 </ul><ul>  </ul>
  12. 12. • Manual Processes – Schema are created manually one time before release. – Manual Verification of user requirements – Manual Code Merges. No Source Code Control besides Zipping the repository. • Documentation – Maintained outside the schema – Not kept in sync with the schema – Available in limited formats or proprietary Formats. • Testing/Validation is an after thought. Data Standards Development Challenges <ul>Twitter #NIEMNTE1 </ul><ul>  </ul>
  13. 13. <ul>Twitter #NIEMNTE1 </ul>
  14. 14. Waterfall Development Process Nouve <ul>Twitter #NIEMNTE1 </ul>
  15. 15. Learning from Open Source Projects <ul>Twitter #NIEMNTE1 </ul>
  16. 16. <ul><li>Eclipse Foundation (www.eclipse.org) </li><ul><li>Hosts an Annual Release Train
  17. 17. 62 Projects are all released simultaneously, developed on their own timelines and own processes.
  18. 18. All are guaranteed to work together (i.e. no conflicts).
  19. 19. Milestone builds every 6 weeks
  20. 20. Continuous Integration
  21. 21. Eclipse has over 200 open source projects. </li></ul><li>Google Android Platform (source.android.com) </li><ul><li>Updated every 6 months
  22. 22. Internal development releases to partners.
  23. 23. Open Sourced code after internal development is done. </li></ul><li>eBay Open Source (www.ebayopensource.org) </li><ul><li>Home to Turmeric SOA and VJET
  24. 24. Turmeric SOA follows Scrum development methodology. 2 week sprints, nightly snapshots published, continuous integration builds. </li></ul></ul><ul>Twitter #NIEMNTE1 </ul>
  25. 25. <ul>Twitter #NIEMNTE1 </ul><ul>  </ul>
  26. 26. <ul>Twitter #NIEMNTE1 </ul><ul>  </ul>
  27. 27. 30+ projects Projects are all released together, but have their own development times frames. <ul>Twitter #NIEMNTE1 </ul><ul>  </ul>
  28. 28. IEPD should Include Iterations and Constant Communication <ul>Twitter #NIEMNTE1 </ul>
  29. 29. <ul>Twitter #NIEMNTE1 </ul><ul>  </ul>
  30. 30. <ul><li>30 Members
  31. 31. Founded in 2000
  32. 32. Has 150 + messages, covering 45 business processes.
  33. 33. Adopted an Agile approach in 2005.
  34. 34. Has an annual public release every year.
  35. 35. Has 4 draft releases to members only.
  36. 36. Maintained until 2010 3 different standards. STAR 4, STAR 5 and DTS.
  37. 37. STAR 5 is based on OAGIs 9.x
  38. 38. Follows UNCEFACT Core Components Model and Naming and Design Rules. </li></ul>About STAR <ul>Twitter #NIEMNTE1 </ul><ul>  </ul>
  39. 39. <ul>Twitter #NIEMNTE1 </ul><ul>  </ul><ul>3 </ul><ul>4 </ul><ul>5 </ul><ul>1 </ul><ul>2 </ul><ul>Publication and Release </ul><ul>Test, Build and Validate </ul><ul>Iterations </ul><ul>Initial Requirements </ul><ul>Draft 1 </ul><ul>Draft 2 </ul><ul>Draft 3 </ul><ul>Draft 1 </ul><ul>Major Non Compatible Development </ul><ul>Internal Build Label </ul><ul>Agile Development Process, Based on short iterations including tests, development, builds, and validation steps. </ul><ul>Baseline Repository </ul>
  40. 40. <ul><li>Publishing: 1 hour.
  41. 41. All manual steps automated
  42. 42. Plus new steps: </li></ul><ul><ul><ul><li>Unit Tests – Regression Testing (Run all Unit Tests)
  43. 43. 2300+ Unit Tests
  44. 44. Merging Business Rules
  45. 45. Generating Guidelines </li></ul></ul></ul><ul><ul><ul><ul><li>PDF
  46. 46. HTML
  47. 47. XSL FO
  48. 48. RTF </li></ul></ul></ul></ul><ul><ul><ul><li>Zipping Guidelines . </li></ul></ul></ul><ul>Twitter #NIEMNTE1 </ul><ul>  </ul>
  49. 49. <ul><li>Publishing: 1 -2 hours.
  50. 50. All manual steps automated
  51. 51. Assembling Schema
  52. 52. Unit Tests – Regression Testing (Run all Unit Tests) 6500+ tests
  53. 53. Generating Guidelines. PDF, HTML, XSL FO, RTF
  54. 54. Zipping Guidelines
  55. 55. This includes over 50 guidelines, covering 150+ use cases.
  56. 56. Process scaled to maintaining two different Versions of the repository. STAR 4 and STAR 5.
  57. 57. Full Process is repeatable. Runs every night. </li></ul><ul>Twitter #NIEMNTE1 </ul><ul>  </ul>
  58. 58. • Unit Testing – Test Driven Development - XML Schema: Elements, ComplexTypes, SimpleTypes, Code Lists, Naming and Design Rules • Continuous Integration – Source Code Control – All Development checked in daily - such as Jenkins, Hudson, Luntbuild, CruiseControl • XSDs, Automated Builds, Sample XML, Unit Tests Required Agile Practices <ul>Twitter #NIEMNTE1 </ul><ul>  </ul>
  59. 59. Iterative Development – Iterations 2 Weeks in Length. • Requirements, Unit Tests, Schema Development • Publication ready build at end of iteration. • Automated Builds – Automate everything! • Builds, Guidelines, Testing. • Involve the Stakeholders – Those requesting the requirements need to be involved throughout the process, including Developers working on Implementations. – Open and Honest communication is a must. Required Agile Practices <ul>Twitter #NIEMNTE1 </ul><ul>  </ul>
  60. 60. <ul><li>More accurate and timely representation of the requirements
  61. 61. Reduced overall development time.
  62. 62. Improved compliance to the specifications and NDR as tests are included to meet compliance as part of development.
  63. 63. Verification happens more often
  64. 64. Less Manual/Human intervention, reducing overall process mistakes.
  65. 65. Greater interoperability and backwards compatibility.
  66. 66. Unit Tests catch errors early instead of months later. </li></ul>Benefits <ul>Twitter #NIEMNTE1 </ul><ul>  </ul>
  67. 67. <ul><li>Don't try to get the PERFECT Model. Get one that is Good Enough.
  68. 68. Unit Test..Unit Test...Unit Test </li></ul>– Catches Errors Early – Provides a Regression Test Suite – Run as often as possible – Catches changes that break compatibility • Automate Everything Possible and have Source Code Control • Conduct Nightly, Milestone, and Release Builds • Agile Development is not a Silver Bullet. There is no one RIGHT way to do it. <ul><li>Adopters LOVE getting their requirements sooner rather than later. </li></ul>Lessons Learned from STAR's implementation. <ul>Twitter #NIEMNTE1 </ul><ul>  </ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×