SlideShare uma empresa Scribd logo
1 de 22
Bridging JAVA and .NET
– Spec By Example from Vision to Success
Corneliu Rimboiu
Code Camp Iasi 2013
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
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
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
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
NO WAY! BYE!

See you @ Code Camp 2014!

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
What’s Agile All About?

9
Spec By Example
Ubiquitous
Language

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
Enablers and decisions – Communication
and Collaboration

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
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
Enablers and decisions – Quality Assurance
Given an audit
When QA reports
Then is success

15
Enablers and decisions – Path to production

Given story is done
When sprint is over
Then feedback is received

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
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
Given I am a proud speaker at CodeCamp
When participant enjoyed the presentation
Then complete the feedback
And return to organizer

thank you

19
Appendix 1 - OSGi

20
Appendix 2 – Prism, MEF

21
Appendix 3 – Project mindmap

IN YOUR ZONE

22

Mais conteúdo relacionado

Mais procurados

Iwsm2014 dev ops measurements (amir arooni)
Iwsm2014   dev ops measurements (amir arooni)Iwsm2014   dev ops measurements (amir arooni)
Iwsm2014 dev ops measurements (amir arooni)
Nesma
 

Mais procurados (20)

Andrii prosov
Andrii prosov Andrii prosov
Andrii prosov
 
How different Minimum Viable Products helped us understand customers.
How different Minimum Viable Products helped us understand customers.How different Minimum Viable Products helped us understand customers.
How different Minimum Viable Products helped us understand customers.
 
Minimum viable product @headstart pune Feb 2020
Minimum viable product @headstart pune Feb 2020Minimum viable product @headstart pune Feb 2020
Minimum viable product @headstart pune Feb 2020
 
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
 
"How we make Agile and CI/CD works" by Rendra Toro (OLX Indonesia)
"How we make Agile and CI/CD works" by Rendra Toro (OLX Indonesia)"How we make Agile and CI/CD works" by Rendra Toro (OLX Indonesia)
"How we make Agile and CI/CD works" by Rendra Toro (OLX Indonesia)
 
Future of Testing, Test Automation and The Quality Analyst
Future of Testing, Test Automation and The Quality AnalystFuture of Testing, Test Automation and The Quality Analyst
Future of Testing, Test Automation and The Quality Analyst
 
Iwsm2014 dev ops measurements (amir arooni)
Iwsm2014   dev ops measurements (amir arooni)Iwsm2014   dev ops measurements (amir arooni)
Iwsm2014 dev ops measurements (amir arooni)
 
Build a Product Narrative
Build a Product NarrativeBuild a Product Narrative
Build a Product Narrative
 
Никита Галкин "Technical backlog: инструкция к применению"
Никита Галкин "Technical backlog: инструкция к применению"Никита Галкин "Technical backlog: инструкция к применению"
Никита Галкин "Technical backlog: инструкция к применению"
 
Agile Testing
Agile Testing Agile Testing
Agile Testing
 
Tackling Strategic Engineering Challenges
Tackling Strategic Engineering ChallengesTackling Strategic Engineering Challenges
Tackling Strategic Engineering Challenges
 
Tips for Sales in IT
Tips for Sales in ITTips for Sales in IT
Tips for Sales in IT
 
PROVA_Engineering
PROVA_EngineeringPROVA_Engineering
PROVA_Engineering
 
recommendation = optimization(prediction)
recommendation = optimization(prediction)recommendation = optimization(prediction)
recommendation = optimization(prediction)
 
Lean Software Development: Validated Learning
Lean Software Development: Validated LearningLean Software Development: Validated Learning
Lean Software Development: Validated Learning
 
Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...
Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...
Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...
 
CWBF event slides - Successful project (JJ Allen)
CWBF event slides - Successful project (JJ Allen)CWBF event slides - Successful project (JJ Allen)
CWBF event slides - Successful project (JJ Allen)
 
Custom mobile application development
Custom mobile application developmentCustom mobile application development
Custom mobile application development
 
Nikolay Faletskyi - How tester can to survive in lean startup
Nikolay Faletskyi - How tester can to survive in lean startupNikolay Faletskyi - How tester can to survive in lean startup
Nikolay Faletskyi - How tester can to survive in lean startup
 
Paripoorna concept to deployment v 1.0
Paripoorna concept to deployment v 1.0Paripoorna concept to deployment v 1.0
Paripoorna concept to deployment v 1.0
 

Destaque

Asp.net mvc security
Asp.net mvc securityAsp.net mvc security
Asp.net mvc security
LearningTech
 
Building Scalable .NET Web Applications
Building Scalable .NET Web ApplicationsBuilding Scalable .NET Web Applications
Building Scalable .NET Web Applications
Buu Nguyen
 
10 performance and scalability secrets of ASP.NET websites
10 performance and scalability secrets of ASP.NET websites10 performance and scalability secrets of ASP.NET websites
10 performance and scalability secrets of ASP.NET websites
oazabir
 

Destaque (20)

Performance in .net best practices
Performance in .net best practicesPerformance in .net best practices
Performance in .net best practices
 
ZZ BC#8 Hello ASP.NET MVC 4 (dks)
ZZ BC#8 Hello ASP.NET MVC 4 (dks)ZZ BC#8 Hello ASP.NET MVC 4 (dks)
ZZ BC#8 Hello ASP.NET MVC 4 (dks)
 
Web API authentication and authorization
Web API authentication and authorization Web API authentication and authorization
Web API authentication and authorization
 
Authentication, Authorization, and Identity – More than meets the eye…
Authentication, Authorization, and Identity – More than meets the eye…Authentication, Authorization, and Identity – More than meets the eye…
Authentication, Authorization, and Identity – More than meets the eye…
 
Scalable Resilient Web Services In .Net
Scalable Resilient Web Services In .NetScalable Resilient Web Services In .Net
Scalable Resilient Web Services In .Net
 
Asp.net mvc security
Asp.net mvc securityAsp.net mvc security
Asp.net mvc security
 
DDD Melbourne 2014 security in ASP.Net Web API 2
DDD Melbourne 2014 security in ASP.Net Web API 2DDD Melbourne 2014 security in ASP.Net Web API 2
DDD Melbourne 2014 security in ASP.Net Web API 2
 
Smooth Sort
Smooth SortSmooth Sort
Smooth Sort
 
Design & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursDesign & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hours
 
Secure RESTful Web Services for ASP.NET Web API
Secure RESTful Web Services for ASP.NET Web APISecure RESTful Web Services for ASP.NET Web API
Secure RESTful Web Services for ASP.NET Web API
 
End to End Security with MVC and Web API
End to End Security with MVC and Web APIEnd to End Security with MVC and Web API
End to End Security with MVC and Web API
 
Building Scalable .NET Web Applications
Building Scalable .NET Web ApplicationsBuilding Scalable .NET Web Applications
Building Scalable .NET Web Applications
 
Tips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC ApplicationsTips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC Applications
 
ASP.NET Core 1.0 Overview: Post-RC2
ASP.NET Core 1.0 Overview: Post-RC2ASP.NET Core 1.0 Overview: Post-RC2
ASP.NET Core 1.0 Overview: Post-RC2
 
Overview of the .Net Collection Framework and Immutable Collections
Overview of the .Net Collection Framework and Immutable CollectionsOverview of the .Net Collection Framework and Immutable Collections
Overview of the .Net Collection Framework and Immutable Collections
 
5. web api 2 aspdotnet-mvc5-slides
5. web api 2 aspdotnet-mvc5-slides5. web api 2 aspdotnet-mvc5-slides
5. web api 2 aspdotnet-mvc5-slides
 
ASP.NET Core MVC + Web API with Overview (Post RC2)
ASP.NET Core MVC + Web API with Overview (Post RC2)ASP.NET Core MVC + Web API with Overview (Post RC2)
ASP.NET Core MVC + Web API with Overview (Post RC2)
 
Scaling asp.net websites to millions of users
Scaling asp.net websites to millions of usersScaling asp.net websites to millions of users
Scaling asp.net websites to millions of users
 
10 performance and scalability secrets of ASP.NET websites
10 performance and scalability secrets of ASP.NET websites10 performance and scalability secrets of ASP.NET websites
10 performance and scalability secrets of ASP.NET websites
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
 

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

Semelhante a Iasi code camp 12 october 2013 corneliu rimboiu - bridging java and .net (20)

Is Being Agile a Good Thing?
Is Being Agile a Good Thing?Is Being Agile a Good Thing?
Is Being Agile a Good Thing?
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibile
 
Habits of Highly Effective Platform Teams: Unlocking the Value of PCF
Habits of Highly Effective Platform Teams: Unlocking the Value of PCFHabits of Highly Effective Platform Teams: Unlocking the Value of PCF
Habits of Highly Effective Platform Teams: Unlocking the Value of PCF
 
Evolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoEvolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand Rao
 
Migrating Your Apps to the Cloud: How to do it and What to Avoid
Migrating Your Apps to the Cloud: How to do it and What to AvoidMigrating Your Apps to the Cloud: How to do it and What to Avoid
Migrating Your Apps to the Cloud: How to do it and What to Avoid
 
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
 
Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia event
 
Java vs javascript (XPages)
Java vs javascript (XPages)Java vs javascript (XPages)
Java vs javascript (XPages)
 
Design Thinking, Agile, DevOps - fuel the innovation delivery
Design Thinking, Agile, DevOps  - fuel the innovation deliveryDesign Thinking, Agile, DevOps  - fuel the innovation delivery
Design Thinking, Agile, DevOps - fuel the innovation delivery
 
Top Agile Metrics
Top Agile MetricsTop Agile Metrics
Top Agile Metrics
 
Kanban testing
Kanban testingKanban testing
Kanban testing
 
Indix Engineering Culture Code (2015)
Indix Engineering Culture Code (2015)Indix Engineering Culture Code (2015)
Indix Engineering Culture Code (2015)
 
Applying Lean Startup Principles to Agile Projects
Applying Lean Startup Principles to Agile ProjectsApplying Lean Startup Principles to Agile Projects
Applying Lean Startup Principles to Agile Projects
 
Professional Project Manager Should Be Proficient in Agile
Professional Project Manager Should Be Proficient in AgileProfessional Project Manager Should Be Proficient in Agile
Professional Project Manager Should Be Proficient in Agile
 
Lean Kanban India 2019 Conference | Scrumban comes to the rescue: A Case Stud...
Lean Kanban India 2019 Conference | Scrumban comes to the rescue: A Case Stud...Lean Kanban India 2019 Conference | Scrumban comes to the rescue: A Case Stud...
Lean Kanban India 2019 Conference | Scrumban comes to the rescue: A Case Stud...
 
Getting Stakeholder Buy-in for xAPI
Getting Stakeholder Buy-in for xAPIGetting Stakeholder Buy-in for xAPI
Getting Stakeholder Buy-in for xAPI
 
Why agile?
Why agile?Why agile?
Why agile?
 
Applying Lean Startup Principles to Agile Projects
Applying Lean Startup Principles to Agile ProjectsApplying Lean Startup Principles to Agile Projects
Applying Lean Startup Principles to Agile Projects
 
Dashlane Mission Teams
Dashlane Mission TeamsDashlane Mission Teams
Dashlane Mission Teams
 

Mais de Codecamp Romania

Mais de Codecamp Romania (20)

Cezar chitac the edge of experience
Cezar chitac   the edge of experienceCezar chitac   the edge of experience
Cezar chitac the edge of experience
 
Cloud powered search
Cloud powered searchCloud powered search
Cloud powered search
 
Ccp
CcpCcp
Ccp
 
Business analysis techniques exercise your 6-pack
Business analysis techniques   exercise your 6-packBusiness analysis techniques   exercise your 6-pack
Business analysis techniques exercise your 6-pack
 
Bpm company code camp - configuration or coding with pega
Bpm company   code camp - configuration or coding with pegaBpm company   code camp - configuration or coding with pega
Bpm company code camp - configuration or coding with pega
 
Andrei prisacaru takingtheunitteststothedatabase
Andrei prisacaru takingtheunitteststothedatabaseAndrei prisacaru takingtheunitteststothedatabase
Andrei prisacaru takingtheunitteststothedatabase
 
Agility and life
Agility and lifeAgility and life
Agility and life
 
2015 dan ardelean develop for windows 10
2015 dan ardelean   develop for windows 10 2015 dan ardelean   develop for windows 10
2015 dan ardelean develop for windows 10
 
The bigrewrite
The bigrewriteThe bigrewrite
The bigrewrite
 
The case for continuous delivery
The case for continuous deliveryThe case for continuous delivery
The case for continuous delivery
 
Stefan stolniceanu spritekit, 2 d or not 2d
Stefan stolniceanu   spritekit, 2 d or not 2dStefan stolniceanu   spritekit, 2 d or not 2d
Stefan stolniceanu spritekit, 2 d or not 2d
 
Sizing epics tales from an agile kingdom
Sizing epics   tales from an agile kingdomSizing epics   tales from an agile kingdom
Sizing epics tales from an agile kingdom
 
Scale net apps in aws
Scale net apps in awsScale net apps in aws
Scale net apps in aws
 
Raluca butnaru corina cilibiu the unknown universe of a product and the cer...
Raluca butnaru corina cilibiu   the unknown universe of a product and the cer...Raluca butnaru corina cilibiu   the unknown universe of a product and the cer...
Raluca butnaru corina cilibiu the unknown universe of a product and the cer...
 
Parallel & async processing using tpl dataflow
Parallel & async processing using tpl dataflowParallel & async processing using tpl dataflow
Parallel & async processing using tpl dataflow
 
Material design screen transitions in android
Material design screen transitions in androidMaterial design screen transitions in android
Material design screen transitions in android
 
Kickstart your own freelancing career
Kickstart your own freelancing careerKickstart your own freelancing career
Kickstart your own freelancing career
 
Ionut grecu the soft stuff is the hard stuff. the agile soft skills toolkit
Ionut grecu   the soft stuff is the hard stuff. the agile soft skills toolkitIonut grecu   the soft stuff is the hard stuff. the agile soft skills toolkit
Ionut grecu the soft stuff is the hard stuff. the agile soft skills toolkit
 
Ecma6 in the wild
Ecma6 in the wildEcma6 in the wild
Ecma6 in the wild
 
Diana antohi me against myself or how to fail and move forward
Diana antohi   me against myself  or how to fail  and move forwardDiana antohi   me against myself  or how to fail  and move forward
Diana antohi me against myself or how to fail and move forward
 

Último

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 

Último (20)

Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 

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

  • 1. Bridging JAVA and .NET – Spec By Example from Vision to Success Corneliu Rimboiu Code Camp Iasi 2013
  • 2.
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. NO WAY! BYE! See you @ Code Camp 2014! 7
  • 8. 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
  • 11. 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
  • 12. Enablers and decisions – Communication and Collaboration 12
  • 13. 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
  • 14. 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
  • 15. Enablers and decisions – Quality Assurance Given an audit When QA reports Then is success 15
  • 16. Enablers and decisions – Path to production Given story is done When sprint is over Then feedback is received 16
  • 17. 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
  • 18. 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
  • 19. Given I am a proud speaker at CodeCamp When participant enjoyed the presentation Then complete the feedback And return to organizer thank you 19
  • 20. Appendix 1 - OSGi 20
  • 21. Appendix 2 – Prism, MEF 21
  • 22. Appendix 3 – Project mindmap IN YOUR ZONE 22