This prototype works, but it’s not pretty, and now it’s in production. That legacy application really needs some TLC. Where do we start? When creating long lived applications, it’s imperative to focus on good practices. The solution is to improve the whole development life cycle; from planning, better coding and testing, to automation, peer review and more. In this tutorial, we’ll take a deep dive into each of these areas, looking at how we can make positive, actionable change in our workflow.

This workshop intends to improve your skills in planning, documenting, some aspects of development, testing and delivery of software for both legacy and greenfield projects. The workshop is made up of multiple exercises, allowing dynamic exploration into the various aspects of the software development life cycle. In each practical exercise, we’ll brainstorm and investigate solutions, ensuring they are future-proofed, well tested and lead to the ultimate goal of confidence in delivering stable software.


Comments are closed.

Andre Smith at 09:56 on 28 Sep 2018

The highlight of this talk was not only the coding examples, but also the techniques used to plan before hand.
James had a very well planned workshop, and managed to convey quite a lot of information in a reasonable amount of time. Thank you for the insight James!

William Stam at 10:19 on 28 Sep 2018

1 of the talks/workshops i was very interested in. it didnt disappoint at all. thank you

Liam Norman at 00:25 on 29 Sep 2018

Amazing workshop, some very interesting points around DDD / Event Storming. Definitely helps in order to understand much better how to architect professional and reliable solutions. The talk also helped to understand how to improve in the planning process and communicate effectively!

Justin Fossey at 10:23 on 1 Oct 2018

A really great workshop tackling a topic that I think needs to be drilled into every new developer and re-iterated on experienced devs on a regular bases.

For me the best part was learning how you could fit all the processes together from planning with stakeholders to implementing your interfaces and lastly testing the domain choices.

James is really a great speaker and clearly has a wealth of knowledge and experience, I could spend days with him running code examples or code reviews to see his point of view on things.

For me the only really difficult part was the fastness of all the topics. I felt we sent a lot of time on event storming and a lot less time on SOLID, PHPStan and Behat.

I understand why this was this way as one thing leads to the next and it makes sense discussing it all together. However, for me it was 2 workshops run as one. I think the planning with event storming was great as a single workshop maybe with Behat or maybe not (could go ether-way).

Then the code quality side of things done separately. I know they all go together in the end but I felt we could have spent more time talking about things devs could implement immanently and also take more time to understand things like "Why could else be a bad thing?", "What does it mean to reduce indenting?" and "Why Prototyping with poor planning can sink you?".

I find a lot of devs struggle to see good code from bad, and if it works, it works. We only did it once, but simple things like looking at code together asking the group is this good or bad code and why, helps a lot of devs change how they read code, something I find takes a few light-bulb moments.

This was a very well rounded workshop, taking a look at some critical processes that us devs generally skip over. It really makes me think different about the way I interact with my team, and the process of planning out a project before starting on it.