James Shore
James Shore
Sold Out!

This full-day workshop focuses on applying Agile engineering practices to web development. We'll look at practices such as build automation, continuous integration, test-driven development, refactoring, and incremental design and see how to apply them to front-end web development. We'll cover topics such as cross-browser testing, JavaScript, and CSS.

Audience: This session assumes familiarity with Agile engineering practices such as test-driven development and refactoring. Experience with JavaScript, CSS, and other web technologies is recommended. Come prepared to code.

 
4 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

Using a mix of lecture, live demonstration, and lots of hands-on programming, attendees will create a simple front-end application using test-driven development, refactoring, and other Agile engineering techniques.

We will cover a wide variety of topics as we build our application up from scratch, with a particular emphasis on applying test-driven development, refactoring, and incremental design to front-end JavaScript code:

  • Reproducible automated builds using Node.js, npm, git, and Jake (also discussed: Grunt, Gulp, Webpack, make)
  • Safe coding and automated linting using JSHint (also discussed: JSLint, ESLint)
  • Cross-browser testing using Karma, Mocha, and Chai (also discussed: Test'em Scripts, Jasmine)
  • Modular JavaScript using Browserify (also discussed: AMD, Require.js, ES6 modules, Webpack)
  • Test-driven development of front-end code and the DOM
  • Refactoring, incremental design, and evolutionary design

If time allows, we will also discuss:

  • Continuous integration and how to guarantee working builds
  • Test-driven development of CSS using Quixote

 

Learning Outcome

At the end of this session, you will have a working knowledge of how to use the above techniques in a real-world environment. You will have a working code base that you can use as a seed project for additional projects of your own.

For specific topics covered, see the outline above.

Target Audience

programmers

schedule Submitted 1 year ago

Comments Subscribe to Comments

comment Comment on this Proposal

  • Liked Amy Jo Kim
    keyboard_arrow_down

    Getting2Alpha: Build your MVP faster and smarter with Game Thinking

    Amy Jo Kim
    Amy Jo Kim
    schedule 1 year ago
    Sold Out!
    480 mins
    Workshop
    Intermediate

    Do you have a hot idea and a burning desire to build it? Do you want to unlock the secrets of Game Thinking, and turn your product vision into a simple, engaging, high-learning MVP (minimum viable product)? 

    In this fast-paced design workshop, you will learn how to use Game Thinking to build a product that people love - and come back to, again and again. Get ready to:

    • Find out who your Early Customers REALLY are --> and work with them to set yourself up for mass-market success
    • Apply insights, techniques and advice from breakthrough games to create a deeply-engaging product experience
    • Turbo-charge your product design and development with expert instruction and time-saving tools
    • Make real progress on your product design and strategy during this lively day-long session

    If you're a product owner, leader, manager, designer, researcher, or builder, this workshop is for you. You'll learn actionable techniques that you can use right away to accelerate your progress -- and you'll discover why simple gamification usually fails, and what to use INSTEAD for creating a truly engaging experience.

  • Liked Sudipta Lahiri
    keyboard_arrow_down

    Continuous Improvement with Toyota Kata

    Sudipta Lahiri
    Sudipta Lahiri
    schedule 1 year ago
    Sold Out!
    20 mins
    Talk
    Intermediate

    Most Lean/Agile team have had limited success in establishing a culture of Continuous Improvement. Retrospectives are done but in most cases they are done without a goal, a vision. Toyota Kata, as codified by Mike Rother, is an approach to put an culture of Continuous Improvement in a team/organization.

  • Liked Leena S N
    keyboard_arrow_down

    Deliver with Impact

    Leena S N
    Leena S N
    schedule 1 year ago
    Sold Out!
    45 mins
    Case Study
    Intermediate

    One common problem any delivery team struggles is to have a common understanding of "why" a product or feature is being built. The documents such as Project Charter, vision document etc. tries to solve this problem, but it’s common to see such documents exist in the repository, hardly known or read by anyone in the team. And this document rarely gets updated too. Ask your team members what is the goal of the project? You may be surprised to know how many actually know about it.

    The so called "vision" or "goal" usually rests within Product Manager/Owner or any other stakeholder. There is no forum to converse about these goals or ideas as a team. The planning meetings [iteration or release planning] are supposed to take care of this, but there is no standard guidelines defined which would help to brainstorm these in a typical release/iteration planning meetings.

    This is where Impact Mapping comes into the picture. It is a "Strategic planning technique", defined by Gojko Azdic, explained in the book Impact Mapping. It is a very simple technique based on the idea of "asking the right questions" which are:

    • Why are we building what we are building? i.e., Goal(s) of the product
    • Who we think are the actors who’ll get impacted?
    • How do we expect to change the actors’ behavior?
    • What are we going to do to create the impacts? i.e. the feature list / deliverables

    Finally, by connecting the deliverables to impacts and goals, a map shows a chain of reasons that leads to feature suggestion. 

    Fundamental of Impact Mapping is that Impact means a change in behavior of an actor which usually results in a positive impact either by Reduction in the Cost or Improvement in ROI for the business.

    If you closely watch the sections in Impact Mapping, what to build i.e. the features or the so called backlog comes only at the end, whereas in the typical planning meeting we usually start with a backlog.

    The above questions need to be answered by the entire team [the IT team, the business people and any other stakeholders, if any], and avoids the common anti-patterns during planning meetings:

    • Ad-hoc planning
    • Wrong Assumptions
    • Pet features

    The hands on workshop will cover the above mentioned concepts of Impact Mapping in detail along with exercising the same.

    Below are a few comments that we received from our customers after being part of the Impact Mapping session:

    • “It made me think about the real goals my product has to achieve during the initial launch.”
    • “Wow, this is a great way of visualizing”
  • Liked James Shore
    keyboard_arrow_down

    Scaling Beyond the Enterprise

    James Shore
    James Shore
    schedule 1 year ago
    Sold Out!
    45 mins
    Keynote
    Intermediate

    The brilliance of early Agile methods was their non-conformity. They rejected conventional wisdom about how software should be created and substituted a new reality: one where collaboration, adaptation, and continuous improvement were more important than rigid processes and plans. At first, many people rejected these innovations, but Agile stood the test of time. Now it's won the day.

    When people talk about scaling Agile, they forget those insurrectionary roots. They focus on what's palatable to the "enterprise:" how to make Agile safe, non-threatening, and acceptable--how to make it more conventional and conformist. In doing so, they risk losing the innovations that make Agile work so well.

    What if we stopped worrying about what's safe and acceptable? What if we went back to those innovative roots? What would Agile look like if we scaled beyond the enterprise?

    Come find out.

  • Liked Manish Chiniwalar
    keyboard_arrow_down

    Workshop on Design Sprint - Concept to Confidence in less than 5 days

    Manish Chiniwalar
    Manish Chiniwalar
    schedule 1 year ago
    Sold Out!
    960 mins
    Workshop
    Intermediate

    How fast can you go from an Idea to Reality?

    From an idea to the time you validate your solution with real users - not friends and family, how long does it take?
    In case you are yet to start, how long should you take?

    Lean Startup is a buzz-word these days. And for a good reason too - it works! But, there may be times when you get hung-up trying to validate with methods like landing pages, MVPs, MVFs and Interviews. And before you know it, a month has passed by, trying to generate traffic to your landing pages, making sense of analytics and polishing your MVP. 

    The Google Ventures' Design Sprint is a framework for solving real-world problems through research, ideation, prototyping and talking to real users, in 5 days or less.

    How will Design Sprint help?

    • Focus. First off, design sprint will put you on the clock. 3-5 days of complete immersion. 
    • Build the right thing. Taking a Design Thinking approach inspired by IDEO, will help you look at the problem the way your customer would. Then user your teams creativity to solve it in unique ways. 
    • See the Truth. When you'll put the prototype to test in the hands of a real user, your team will see first-hand what works and what doesn't. It's the next best thing to reading your customer's minds.
    • With a couple of days still left in the week, you relax with a cup of Earl Grey tea and do some more thinking. Probably, get ready for the next sprint.

     

    When we conducted design sprints with our customers, we had some unexpected realizations:

    • We saw that the ownership and motivation in the team improved significantly.
      They were mindful about "why" they were working on the features they were working on.
    • Our customers would say, "This has completely changed the way I think about building products." 
      Going from a solution driven approach to problem-first approach and keeping the products very lean.

     

  • Liked Neil Killick
    keyboard_arrow_down

    The Slicing Heuristic - A #NoEstimates Method for Defining, Splitting, Measuring and Predicting Work

    Neil Killick
    Neil Killick
    schedule 1 year ago
    Sold Out!
    45 mins
    Talk
    Advanced

    This is a concept I devised a couple of years ago, and it seems there is a new #NoEstimates audience that would like to know more about it.

    A Slicing Heuristic is essentially:

    An explicit policy that describes how to "slice" work Just-In-Time to help us create consistency, a shared language for work and better predictability.

    The Slicing Heuristic seeks to replace deterministic estimation rituals by incorporating empirical measurement of actual cycle times for the various types of work in your software delivery lifecycle.

    It is based on the hypothesis that empiricism leads to smaller cycle time duration and variation (which in business value terms means quicker time to market and better predictability) because it requires work to be sliced into clear, simple, unambiguous goals. Crucially, the heuristic also describes success criteria to ensure it is achieving the level of predictability we require.

    Its application is most effective when used for all levels of work, but can certainly be used for individual work types. For example, a User Story heuristic can be an extremely effective way of creating smaller, simpler work increments, allowing teams to provide empirical forecasts without the need for estimating how long individual stories will take. However, if you are able to incorporate this concept from the portfolio level down, the idea is that you define each work type (e.g. Program, Project, Feature, User Story, etc.) along with a Slicing Heuristic, which forms part of that work type’s Definition of Ready.

    This talk will equip teams and organisations who are established on their Agile journey with a robust, clear and repeatable method for improving the quality and time-to-market of their software development efforts.