Spotless Clean Frontend Development with BDD, DSL and Storyboards

After 3 years of improving our frontend development process we ended up with mixing BDD, DSL and Storyboards for developing spotless clean frontend code. Each approach is already powerful on his own but combining these will make them unbeatable. The characteristics are collaborate, communicate and visualize, BDD is the collaborating process between disciplines, DSL for enabling the communication and Storyboards for visualization.

Let me show you how this works by live coding a frontend application using this mixture of approaches. The process is supported by a homemade tool based on CasperJS and PhantomCSS. And all scripts are written in JavaScript. At the end of the session we can discuss if the created code is spotless clean.


Outline/Structure of the Demonstration

In the demo an application will be written using BDD, DSL and Storyboards. So each approache is explained by example. At the end of the session there is 5 min for questions and discussions.

Learning Outcome

In this demo you will learn how to combine BDD, DSL and Storyboards for creating frontend application.

Target Audience



schedule Submitted 8 years ago

Public Feedback

    • Ashish Parkhi

      Ashish Parkhi / Naresh Jain - Techniques to Speed Up your Build Pipeline for Faster Feedback.

      45 Mins
      Experience Report

      I would like to share my experience and journey on how we brought down our Jenkins build pipeline time down from over 90 minutes to under 12 minutes. In the process, I would share specific techniques which helped and also some, which logically made sense, but actually did not help. If your team is trying to optimize their build times, then this session might give you some ideas on how to approach the problem.

      Development Impact - For one of our build job, below graph shows how the number of builds in a day have increased over a period of time as the build time has reduced. Frequency of code check-in has increased; Wait time has reduced; failed test case faster to isolate and fix.

      Business Impact - More builds leading to quicker feedback and faster story acceptance and less story spill over.

    • Sachin Natu

      Sachin Natu / Naresh Jain - Inverting Test Pyramid - A First Hand Experience Report

      45 Mins
      Experience Report

      Test automation is extremely crucial in adoption of an agile delivery. However, it can take one for a ride, if the approach is not correct. In this sensational, heart throbbing, experience report, we'll share our story of how we turned around an inefficient, expensive automation style to lean, efficient style. In addition to sharing a real-world example, we'll also share some of the key challenges we faced and how we solved them. If you are convinced about the Testing Pyramid, but are struggling to invert it, then this session is for you.

      Business Impact:

        Earlier Defect Detection - Higher test coverage at Unit/Intermediate layers lead to earlier defect detection. Reduced number of issues found on higher test environments/Production. Reduced cost of defect fixing.

        Reduced maintenance cost - UI tests are fragile and costlier to maintain Vs backend tests. No of changes in services layer are comparatively less.

        Reduced test execution time - Backend tests are much faster. Almost 7-10  times faster than UI Tests - improved build certification time.

        Test feedbacks are naturally distributed across layers of application. Test feedbacks are more pin pointed/ granular.

    • Archana Joshi

      Archana Joshi / Senthilkumar Rajamarthandan - Applying Gamification Techniques in Agile

      45 Mins
      Case Study


      • One of the world’s largest legal product & services provider.
      • Development and global rollout of online legal research product for law firms to efficiently provide online research and analytical capabilities.
      • Several hundred million dollar product revenue
      • 400 Team size.
      • Product Development and subsequent enhancement and support.
      • Stringent Timelines
      • Most of the team new to agile
      • 4 Timezones

      Key Challenges on "people" front:

      1. Scale up the team to use agile in short time frame
      2. Engage and motivate the team 
      3. Be a true vendor partner with the customer

      Industry analysts predict rapid adoption of gamification. By 2014, more than 70% of Global 2000 organizations will have at least one gamified application, according to Gartner, Inc. In this presentation, we would be focusing on how gamification helped us adddress the above challenges.  Concept of “gamification” was used to drive the team to embrace agile and improve employee engagement and motivation. This helped further boost the quality and increase the overall customer satisfaction across sprints and releases.

    • 90 Mins
      Case Study

      The key objectives of Organizations is to provide / derive value from the products / services they offer. To achieve this, they need to be able to deliver their offerings in the quickest time possible, and of good quality!
      In such a fast moving environment, CI (Continuous Integration) and CD (Continuous Delivery) are now a necessity and not a luxury!

      There are various practices that Organizations and Enterprises need to implement to enable CD. Testing (automation) is one of the important practices that needs to be setup correctly for CD to be successful.

      Testing in Organizations on the CD journey is tricky and requires a lot of discipline, rigor and hard work. In Enterprises, the Testing complexity and challenges increase exponentially.

      In this session, I am sharing my vision of the Test Strategy required to make successful the journey of an Enterprise on the path of implementing CD.

    • Yilmaz Guleryuz

      Yilmaz Guleryuz - Fibonacci Pairing: Learning through Collaboration

      Yilmaz Guleryuz
      Yilmaz Guleryuz
      schedule 8 years ago
      Sold Out!
      45 Mins

      According to many researches, we learn the best when we experience it personally, and we comprehend when we teach to someone else.

      So if you want to achieve ample understanding of a topic, you’ll need to follow these basic steps:

      "Listen -> Observe -> Do -> Share"


      Pair-programming is a well-known practice, and it has been introduced by one of the thought leaders of Agile world, Kent Beck. I respect any technique that encourages collaboration and interaction among teams, and gets teams to communicate better.

      However, if you want to establish understanding of mastery or a skill-set, and increase the shared knowledge across your team members, then you need to re-think & apply new techniques.

      In this talk, I’ll share about What-Why-How of "Fibonacci Pairing" technique, which is yet another discovery from practice.

      The main goal of that technique is to establish understanding and improve collaboration, without overcrowding by artificial ways like lecturing.

      Fibonacci Pairing is simple yet very effective technique that can improve team work. This technique should be regarded as a complementary way to improve team culture effectively.

      We will elaborate with practical examples, real life experiences, and applicable ways onto different contexts.

    • Prafulla Girgaonkar

      Prafulla Girgaonkar / Naresh Jain - The Art of SQL Database Refactoring

      45 Mins
      Experience Report

      "We've tested this feature thoroughly and it worked really well. But for some weird reason, it's really slow in production today...must be a network issue...or may be the server is having a bad day..."

      Do you often hear these kinds of comments in your development team? Let us guess, your application is very data-centric and churns big blocks of data on every user request. And under the hood, your application is most probably heavily dependent on long/complex queries with joins, temp-tables, case-statements, nested queries, etc.

      These SQL queries probably started-out very simple. But as your requirements evolved, iteration after iterations, the queries also grew in complexity. And most often, even if you test-drove your newer stories, the performance of these complex queries is not evident until you run them in production. 

      Given that our requirements will evolve and so will our database, how do you deal with the above problems?

      There are TWO essential parts to evolutionary database design:

      1. The art of refactoring your SQL queries.
      2. Figuring out the right balance of what processing is done in SQL on the DB sides and what is done on your service side in your App/Web Server.

      Join us as we take a tour of how we refactored our complex, non-performant queries and overall DB without hurting our time-to-market.