Iasi code camp 12 october 2013 corneliu rimboiu - bridging java and .net


Published on

Published in: Technology, News & Politics
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Iasi code camp 12 october 2013 corneliu rimboiu - bridging java and .net

  1. 1. Bridging JAVA and .NET – Spec By Example from Vision to Success Corneliu Rimboiu Code Camp Iasi 2013
  2. 2. Agenda • Vision • The Story behind The Story • Why NOT Spec By Example? • A common production … fingerpointing • What’s Agile All About? • Spec By Example • Enablers and Decisions • Results and Lessons Learned • Enjoyable reading 3
  3. 3. Vision Given story is done When sprint is over Then feedback is received Given an audit When QA reports Then is success In order to transform Vision into Reality As a Business Product Owner I want an IT Product Given product is live When an exception occurs Then never crashes Given 100 messages per second are received And are 10000 active records When I want to do a transaction Then is near real-time Given a change request When is priority Then team welcomes the change Given Sprint Planning When estimate Then I have to know the effort for BDD 4
  4. 4. The Story Behind The Story Planned R1 – Epic 1 R1 – Epic 1 R2 – Epic 2 R3 – Epic 3 R2 – Epic 2 R4 – Epic 4 ? Reality We are here!!! 5
  5. 5. Why NOT Spec By Example? • Business will never pay for this! • Too much Overhead! • We are already LATE! We have to deliver now! • Only programmers will know what is done and what still to be done! • What’s this Gherkin Language all about?!? • Who will write the scenarios? • How we estimate? • We have to re-test everything! 6
  6. 6. NO WAY! BYE! See you @ Code Camp 2014! 7
  7. 7. A common Production… finger - pointing How QA missed this? Developers don’t test! They throw over the wall! That was obvious! Should I spell every detail? Business requirements were not clear! But we did what was in functional spec! Client Side problem! Server Side problem! Source; Specification by Example by Declan Whelan, Agile Coach and Developer at LeanChomp on May 18, 2012 8
  8. 8. What’s Agile All About? 9
  9. 9. Spec By Example Ubiquitous Language 10
  10. 10. Quiz Q: For an MVVM client you are planning to use Q: Your alerting system may handle similar alerts CollectionViews<T> and apply filters for different state (same content) so you want to let consumers know that. (like: Approved, Cancelled, Pending) over same You do plan to use a Corelation ID which is ObservableCollection<T>. GetHashCode() of object. If you have to deal with 10+ messages/ second over an Is this safe in an enterprise considering you do have 10000 active records is this a good idea? failover nodes? IN YOUR ZONE 11
  11. 11. Enablers and decisions – Communication and Collaboration 12
  12. 12. Enablers and decisions – Architecture and Design Given a change request When is priority Then team welcomes the change Given .NET Design Lead When I architect an MVVM client Then I use PRISM Given JAVA Design Lead When I architect an ESB Then I use OSGi 13
  13. 13. Enablers and decisions - Estimations Given Sprint Planning as Developer When estimate Then I add the effort for new steps Given Sprint Planning as BA When estimate Then add the effort for writing scenarios And omit effort for classic documentation Given a good BA When write specifications Then use an defined set of steps And use business language 14
  14. 14. Enablers and decisions – Quality Assurance Given an audit When QA reports Then is success 15
  15. 15. Enablers and decisions – Path to production Given story is done When sprint is over Then feedback is received 16
  16. 16. Results and Lesson Learned • Results: • UAT cycles reduced from 4 to 1.5 • Final product is trustful so is requested by other BU’s • If involves UI automation it can be “sold” as Run Book • 0 production defects (likely) • Lesson learned: • Team has to stand the pressure in early stage • Rewards at the end of release • Buy Your Time • Consultant – must move on 17
  17. 17. Enjoyable Reading Specification by Example: How successful teams deliver the right software By: Gojko Adzic Publisher: Manning Publications Pub. Date: June 28, 2011 Executable Specifications with Scrum: A Practical Guide to Agile Requirements Discovery By: Mario Cardinal Publisher: Addison-Wesley Professional Pub. Date: July 29, 2013 Java Application Architecture: Modularity Patterns with Examples Using OSGi By: Kirk Knoernschild Publisher: Addison-Wesley Professional Pub. Date: March 15, 2012 Developer’s Guide to Microsoft® Prism 4: Building Modular MVVM Applications with Windows® Presentation Foundation and Microsoft Silverlight® By: Bob Brumfield; Geoff Cox; David Hill; Brian Noyes; Michael Puleio; Karl Shifflett Publisher: Microsoft Press Pub. Date: March 22, 2011 18
  18. 18. Given I am a proud speaker at CodeCamp When participant enjoyed the presentation Then complete the feedback And return to organizer thank you 19
  19. 19. Appendix 1 - OSGi 20
  20. 20. Appendix 2 – Prism, MEF 21
  21. 21. Appendix 3 – Project mindmap IN YOUR ZONE 22