Keynote:Software Design in the 21st Century by Martin Fowler
In the last decade or so we've seen a number of new ideas added to the mix to help us effectively design our software. Patterns help us capture the solutions and rationale for using them. Refactoring allows us to alter the design of a system after the code is written. Agile methods, in particular Extreme Programming, give us a highly iterative and evolutionary approach which is particularly well suited to changing requirements and environments. Martin Fowler has been a leading voice in these techniques and will give a suite of short talks featuring various aspects of how these and other developments affect our software development.
Live Refactoring: Composite and Test-driven Refactorings by Salahuddin Chalermthai
Performing refactoring is pretty easy nowadays as modern IDEs provide essential refactoring methods out of the box. However, to get to a desired design may require composing multiple refactoring methods together. Applying them in the right sequence will get us there faster and safer.
In this session, Salah will demonstrate how to compose multiple refactoring techniques together in the right sequence using a test-driven approach. He will also explain the principle behind it.
CI/CD pipelines : The Good and The Bad by Pinnapong Silpsakulsuk (Thai Session)
Although agile is the standard for software delivery today, Continuous delivery is still not as widely adopted as it should be. In order to adopt it, Pipeline is a crucial piece of the infrastructure that a lot of organisation struggle to implement and correctly maintain. In this talk Pinnapong will walk you through the small steps of introducing pipeline to your organisation and maintaining it.
Hypothesis Driven Development: An Experimental Approach to Data-Centric Software Development by Supanat Pothivarakorn (Thai Session)
The nature of data problems tends to have more unknowns than usual software development. Attacking the problem with a definitive process will result in a chaos. Supanat is going to talk about the mindset shift, tools, and practices that enable experimental data-centric software development and how that can be applied in a wider context.
My Good Code is Bad by Anuchit Prasertsang (Thai Session)
Anuchit will share his experiences around good, better and worst code and the impacts of it. He will share his insights around common pitfalls to avoid when building high quality software.