SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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.Pushkar Gaikwad
 
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 2020Parth Lawate
 
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 ...DicodingEvent
 
"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)Tech in Asia ID
 
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 AnalystAnand Bagmar
 
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
 
Build a Product Narrative
Build a Product NarrativeBuild a Product Narrative
Build a Product NarrativeSV.CO
 
Никита Галкин "Technical backlog: инструкция к применению"
Никита Галкин "Technical backlog: инструкция к применению"Никита Галкин "Technical backlog: инструкция к применению"
Никита Галкин "Technical backlog: инструкция к применению"Fwdays
 
Agile Testing
Agile Testing Agile Testing
Agile Testing VersionOne
 
Tackling Strategic Engineering Challenges
Tackling Strategic Engineering ChallengesTackling Strategic Engineering Challenges
Tackling Strategic Engineering ChallengesApplause
 
recommendation = optimization(prediction)
recommendation = optimization(prediction)recommendation = optimization(prediction)
recommendation = optimization(prediction)Wit Jakuczun
 
Lean Software Development: Validated Learning
Lean Software Development: Validated LearningLean Software Development: Validated Learning
Lean Software Development: Validated LearningÒscar Vilaplana
 
Андрій Просов "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...Lviv Startup Club
 
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)OpusVL
 
Custom mobile application development
Custom mobile application developmentCustom mobile application development
Custom mobile application developmentKeven Thibeault
 
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 startupIevgenii Katsan
 

Was ist angesagt? (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
 

Andere mochten auch

Performance in .net best practices
Performance in .net best practicesPerformance in .net best practices
Performance in .net best practicesCodecamp Romania
 
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)Chalermpon Areepong
 
Web API authentication and authorization
Web API authentication and authorization Web API authentication and authorization
Web API authentication and authorization Chalermpon Areepong
 
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…Scott Hoag
 
Scalable Resilient Web Services In .Net
Scalable Resilient Web Services In .NetScalable Resilient Web Services In .Net
Scalable Resilient Web Services In .NetBala Subra
 
Asp.net mvc security
Asp.net mvc securityAsp.net mvc security
Asp.net mvc securityLearningTech
 
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 2Pratik Khasnabis
 
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 hoursRestlet
 
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 APIRob Daigneau
 
Building Scalable .NET Web Applications
Building Scalable .NET Web ApplicationsBuilding Scalable .NET Web Applications
Building Scalable .NET Web ApplicationsBuu Nguyen
 
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 ApplicationsSarvesh Kushwaha
 
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-RC2Shahed Chowdhuri
 
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 CollectionsYoshifumi Kawai
 
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-slidesMasterCode.vn
 
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)Shahed Chowdhuri
 
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 usersoazabir
 
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 websitesoazabir
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiTiago Knoch
 

Andere mochten auch (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
 

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

Is Being Agile a Good Thing?
Is Being Agile a Good Thing?Is Being Agile a Good Thing?
Is Being Agile a Good Thing?Alan Hood
 
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 possibileIosif Itkin
 
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 PCFVMware Tanzu
 
Evolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoEvolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoVMware Tanzu
 
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 AvoidVMware Tanzu
 
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...Adrian Jones
 
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 eventXebia India
 
Java vs javascript (XPages)
Java vs javascript (XPages)Java vs javascript (XPages)
Java vs javascript (XPages)Andrew Barickman
 
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 deliveryYi Xu
 
Top Agile Metrics
Top Agile MetricsTop Agile Metrics
Top Agile MetricsXBOSoft
 
Kanban testing
Kanban testingKanban testing
Kanban testingCprime
 
Indix Engineering Culture Code (2015)
Indix Engineering Culture Code (2015)Indix Engineering Culture Code (2015)
Indix Engineering Culture Code (2015)Rajesh Muppalla
 
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 ProjectsTechWell
 
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 AgileNitor
 
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...LeanKanbanIndia
 
Getting Stakeholder Buy-in for xAPI
Getting Stakeholder Buy-in for xAPIGetting Stakeholder Buy-in for xAPI
Getting Stakeholder Buy-in for xAPIWilliam Welder
 
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 ProjectsSynerzip
 
Dashlane Mission Teams
Dashlane Mission TeamsDashlane Mission Teams
Dashlane Mission TeamsDashlane
 

Ähnlich wie 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
 

Mehr von Codecamp Romania

Cezar chitac the edge of experience
Cezar chitac   the edge of experienceCezar chitac   the edge of experience
Cezar chitac the edge of experienceCodecamp Romania
 
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-packCodecamp Romania
 
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 pegaCodecamp Romania
 
Andrei prisacaru takingtheunitteststothedatabase
Andrei prisacaru takingtheunitteststothedatabaseAndrei prisacaru takingtheunitteststothedatabase
Andrei prisacaru takingtheunitteststothedatabaseCodecamp Romania
 
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 Codecamp Romania
 
The case for continuous delivery
The case for continuous deliveryThe case for continuous delivery
The case for continuous deliveryCodecamp Romania
 
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 2dCodecamp Romania
 
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 kingdomCodecamp Romania
 
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...Codecamp Romania
 
Parallel & async processing using tpl dataflow
Parallel & async processing using tpl dataflowParallel & async processing using tpl dataflow
Parallel & async processing using tpl dataflowCodecamp Romania
 
Material design screen transitions in android
Material design screen transitions in androidMaterial design screen transitions in android
Material design screen transitions in androidCodecamp Romania
 
Kickstart your own freelancing career
Kickstart your own freelancing careerKickstart your own freelancing career
Kickstart your own freelancing careerCodecamp Romania
 
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 toolkitCodecamp Romania
 
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 forwardCodecamp Romania
 

Mehr von 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
 

Kürzlich hochgeladen

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Kürzlich hochgeladen (20)

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

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