Amir Barylko started his career in 1994 working for IBM as a senior developer while he was finishing his Masters degree in computer science. Since then he worked as team leader and architect for the past 15 years.
Having started with languages like C++ and Java he spent many years coding in C# and training other developers in topics such domain modeling, abstractions, patterns, automation, dependency injection, testing, etc.
Being an incurable geek, always thirsty for knowledge, his passion for technology moved him towards Ruby on Rails a few years ago, becoming an advocate of RoR web development. Also following he's teaching passion he did his first RoR training a year ago, and recently a TDD training with great reviews.
Amir is a rare combination of high technical skills, lots of experience in a wide range of platforms, exceptional presentation skills and great sense of humor. His presentations are always rich in content and fun to attend.
Website URL: http://www.orthocoders.com
Abstract Managing projects is a hard task and as managers (analysts, developers, etc) we are always trying to find new ways to improve how projects are run, increase productivity and get better results. It is common to hear that using "Agile" project management techniques and methodologies could benefit a classic project to achieve all those worthy goals and even more. However what does it mean to become "Agile"? What are the tools, techniques and methodologies that will help us improve and make sure we hit deadlines on time and within budget? Do we need to use them all together in order to succeed? Join me on a whole day workshop to explore the meaning of "Agile", what tools are available, how to implement these tools easily, and how to get impressive results in a very short period of time.
- What does "Agile" mean for you and your team?
- Capturing requirements with User Stories
- Planning requirements using a Story Map
- Modelling the development process with a Kanban board
- Estimating and sizing stories
- Writing scenarios to improve requirements and define acceptance criteria
- Kanban limits and metrics
- Kaizen (Continuos improvement)
By the end of the workshop, the attendees will be able to:
- Write user stories
- Implement Kanban board
- Implement Story maps
- Identify different testing methodologies and when to use them
- Write scenarios to define acceptance criteria
- Size stories based on scenarios
- Understand metrics to identify if deadlines are going to be met
- Improve team dynamic and productivity
Good requirements are a key ingredient to any successful software project. We all know that. Easier said than done! The thorny detail is the definition and implementation of what we consider "good".
Though this intro fits for any kind of software project (Agile, classic, etc…) usually "Agile" projects include the following assumptions:
First: "It is impossible to gather all the requirements at the beginning of a project." and
Second: "Whatever requirements you do gather are guaranteed to change"
Join me on a session where we explore the best way of capturing requirements to ensure that the gap between expectations and actual product is quite narrow, if any.
How? We'll start discussing the current practices and pain points that exist in the audience and then we will explore how to write "stories" and "scenarios" that capture the functionality we want without going into implementation details, helping us to measure complexity, improve our estimations and ensure we get the expected requirements.
Refactoring is the "secret recipe" of Software Development. Without strong refactoring muscles, your code quickly becomes complicated, hard to read and difficult to change. But refactor is an art too, and following these principles will make it easier to identify code that needs refactoring, follow steps to do so, and ensure that your quality improved with confidence.
In this session we will learn how to implement a successful refactoring cycle, how to identify "code smells" and which tools, patterns and recipes you can use to improve your code.