Niemnte agile
-
Upload
kingargyle -
Category
Technology
-
view
406 -
download
0
Transcript of Niemnte agile
PowerPoint Presentation
Twitter #NIEMNTE1
Agile Standards Development:Lessons Learned from STAR and Open Source Development
David CarverPrincipal Software [email protected]
Twitter #NIEMNTE1
Principal Software Engineer at Intalio.
Open Source Projects 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)
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.
Who is Dave?
Twitter #NIEMNTE1
Changing Requirements Requirements change Monthly Weekly Daily Users of the Data Specifications need thestandards sooner Data Specifications typically released every 2years or longer Users requirements have changed. Government regulations have changed.
Data Standards Development Challenges
Twitter #NIEMNTE1
Manual Processes Schema are created manually one timebefore release. Manual Verification of user requirements Manual Code Merges. No Source CodeControl besides Zipping the repository. Documentation Maintained outside the schema Not kept in sync with the schema Available in limited formats or proprietaryFormats. Testing/Validation is an after thought.
Data Standards Development Challenges
Twitter #NIEMNTE1
Twitter #NIEMNTE1
Waterfall Development Process
Nouve
Twitter #NIEMNTE1
Learning from Open Source Projects
Twitter #NIEMNTE1
Eclipse Foundation (www.eclipse.org) 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.
Google Android Platform (source.android.com) Updated every 6 months
Internal development releases to partners.
Open Sourced code after internal development is done.
eBay Open Source (www.ebayopensource.org) Home to Turmeric SOA and VJET
Turmeric SOA follows Scrum development methodology. 2 week sprints, nightly snapshots published, continuous integration builds.
Twitter #NIEMNTE1
Twitter #NIEMNTE1
Twitter #NIEMNTE1
30+ projects
Projects are all released together, but have their own development times frames.
Twitter #NIEMNTE1
IEPD should Include Iterations and Constant Communication
Twitter #NIEMNTE1
Twitter #NIEMNTE1
30 Members
Founded in 2000
Has 150 + messages, covering 45 business processes.
Adopted an Agile approach in 2005.
Has an annual public release every year.
Has 4 draft releases to members only.
Maintained until 2010 3 different standards. STAR 4, STAR 5 and DTS.
STAR 5 is based on OAGIs 9.x
Follows UNCEFACT Core Components Model and Naming and Design Rules.
About STAR
Twitter #NIEMNTE1
3
4
5
1
2
Publication and Release
Test, Build and Validate
Iterations
Initial Requirements
Draft 1
Draft 2
Draft 3
Draft 1
Major Non Compatible Development
Internal Build Label
Agile Development Process, Based on short iterations including tests, development, builds, and validation steps.
BaselineRepository
Twitter #NIEMNTE1
Publishing: 1 hour.
All manual steps automated
Plus new steps:
Unit Tests Regression Testing (Run all Unit Tests)
2300+ Unit Tests
Merging Business Rules
Generating Guidelines
HTML
XSL FO
RTF
Zipping Guidelines.
Twitter #NIEMNTE1
Publishing: 1 -2 hours.
All manual steps automated
Assembling Schema
Unit Tests Regression Testing (Run all Unit Tests) 6500+ tests
Generating Guidelines. PDF, HTML, XSL FO, RTF
Zipping Guidelines
This includes over 50 guidelines, covering 150+ use cases.
Process scaled to maintaining two different Versions of the repository. STAR 4 and STAR 5.
Full Process is repeatable. Runs every night.
Twitter #NIEMNTE1
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
Twitter #NIEMNTE1
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
Twitter #NIEMNTE1
More accurate and timely representation of the requirements
Reduced overall development time.
Improved compliance to the specifications and NDR as tests are included to meet compliance as part of development.
Verification happens more often
Less Manual/Human intervention, reducing overall process mistakes.
Greater interoperability and backwards compatibility.
Unit Tests catch errors early instead of months later.
Benefits
Twitter #NIEMNTE1
Don't try to get the PERFECT Model. Get one that is Good Enough.
Unit Test..Unit Test...Unit Test
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. Adopters LOVE getting their requirements sooner rather than later.
Lessons Learned from STAR's implementation.