Shipping Better Software Faster, and Having Fun Doing It

Chris Holland (09.Jun.2018 at 11:45, 45 min)
Talk at Dutch PHP Conference 2018 (English - US)

Rating: 4 of 5

Software Engineering can be extremely difficult and maddening. But it doesn’t have to be. We will explore leveraging various principles to make Software Engineering fun again. We’ll make a case for “Better Code” fueling “Faster Development”.

Toward building our case, we will explore 5 areas:

* Bad Code vs Agility – What it means to be “Agile” and the impact of Bad Code on Agility.
* Better Code: Enablers – Enabling Concepts for Better Code such as TDD, Clean Code and Patterns, with an eye toward adapting them to various programming paradigms such as Functional and OOP. While the rest of the presentation will focus on OOP, this section will contain links to great talks covering similar concepts in Functional Programming.
* Empowering OOP – If OOP is to be chosen as a paradigm, we’ll explore what it means to play to the strengths of this paradigm.
* Web Application Architectures: When building Web Applications, we’ll explore various architectures that may hinder or promote a sustainable business fueled by better code. We’ll look at leveraging a framework without coupling our business logic to it, to promote greater testability and extensibility. For example, by leveraging some simple patterns such as the Repository Pattern, we will look at not having to permanently commit ourselves to an RDBMS or a NoSQL solution, that it should be easy to change our minds later as business needs evolve, and even adopting “Polyglot Persistence” whereby parts of an application might leverage an RDBMS while others a NoSQL solution.
* TDD: Better Fuels Faster – Leveraging preceding topics, we’ll put it all together in describing a workflow leveraging test-driven development for shipping better products ... faster, and having fun doing it.

The end of this talk will showcase code examples of a real-world Kata for building the service layer of a “Ride Hailing Application”. It will also link to recorded Kata videos, as well as a “clean slate” branch in my git repository to follow along. If you wish to take an early look at these videos, they are all available here: http://bit.ly/tdd-vids

Having made this case, we’ll conclude with the positive impact this workflow will have on a team’s ability to ship new products and new features at a sustained pace, with high levels of predictability.

While PHP, Symfony and Doctrine are used for code examples, concepts in this talk are applicable to all PHP frameworks and environments, as well as other programming languages such as Java, PHP and C#.

Who are you?

Claim talk

Talk claims have been moved to the new Joind.in site.

Please login to the new site to claim your talk

 
Comments closed.

Comments

Rating: 4 of 5

09.Jun.2018 at 12:33 by Petar Petrov (3 comments) via Web2 LIVE

Excellect talk. Too short time to cover thos broad area more in depth.

Rating: 5 of 5

09.Jun.2018 at 13:11 by Derek Binkley (29 comments) via Web2 LIVE

Great content that is so important. If more developers followed these patterns our industry would be in a much better state. The code at the end was difficult to on the projector screen but it will be very useful as a reference later.

Rating: 3 of 5

09.Jun.2018 at 13:19 by Stefan Karlsson (4 comments) via Web2 LIVE

Good concepts, but it feels like Chris was trying to cover a little bit too much in the same talk.

Rating: 5 of 5

09.Jun.2018 at 13:27 by Dmytro Liashko (5 comments) via Web2 LIVE

I like the ideas being expressed in this talk, specially about separating the business logic from framework. Nice overview of best practices in software development as well.

Rating: 4 of 5

10.Jun.2018 at 11:43 by Vasileia Ftochogianni (11 comments) via Web2 LIVE

Nice talk! However a bit too broad to cover everything in just 45 min.

Rating: 3 of 5

10.Jun.2018 at 14:27 by Gert de Pagter (9 comments) via Web2 LIVE

Talk was decent, but tried to cover too much at the same time, which made it unable to go in depth on anything, instead only giving a really high-level view

Rating: 4 of 5

11.Jun.2018 at 18:34 by Ronald D. (42 comments) via Web2 LIVE

Good talk, but time wasn't on your side!

Rating: 3 of 5

14.Jun.2018 at 13:52 by Robert Basic (97 comments) via Web2 LIVE

An important topic, and the speaker has a lot of things to share on this, but felt that they tried to cover too much ground in a short period of time. Give more time to the last section of the talk, and it'll be better, I'm certain.

© Joind.in 2018