#itakeunconf Follow me: @itakeunconf
The only technology agnostic conference in Central and Eastern Europe!
We will write code, talk code and present code. You will find out new concepts and ideas.
You will learn new techniques to be better!
For all of you who care about good software and techniques for software excellence.
We invite you programmers, testers, architects, technical managers and CEO's to attend.
All of you that want to learn to become the best.
We love all technologies and languages the same! We focus on the fundamentals of software.
The conference will be about coding, testing and architecting.
During Open Space you will talk code with everyone.
Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like.
Keynote
Michael Feathers is the founder and Director of R7K Research & Conveyance, a company specializing in software and organization design. Prior to forming R7K, Michael was the Chief Scientist of Obtiva and a consultant with Object Mentor International. Over the years, Michael has spent a great deal of time helping teams after design over time in code bases. Michael is also the author of the book Working Effectively with Legacy Code.
Software craftsman, author of Software Craftsmanship: Professionalism Pragmatism Pride and founder of the London Software Craftsmanship Community (LSCC).
Sandro started coding at a very young age but just started his professional career years later, in 1996. He has worked for startups, software houses, product companies and international consultancy companies. Having worked as a consultant for the majority of his career, he had the opportunity to work in a good variety of projects, different languages, technologies and industries.
Andreas Leidig has broad experience in object oriented software development and agile practices. He started programming years ago with Smalltalk and worked as an agile coach for a few years. Nowadays he is working full-time in developing enterprise software products.
His passion for producing great software led him to organize a conference on Software Craftsmanship, known as SoCraTes. Subsequently he initiated Softwerkskammer, a Germany-wide user community for software craftsmanship.
Johan Martinsson is a freelance developer that is passionate, amongst other things, about design in code. He has spent the last 4 years helping teams adopt XP-practices in his hometown – Grenoble, France. Johan regularly finds reasons to show code to make his point at conferences. Johan organized the first code retreat in France, organized the first Legacy Code Retreat with JB Rainsberger.
For the last three years he also co-organized the Grenoble coding dojo and France’s biggest agile event: Agile Grenoble.
After completing a PhD in Software Engineering, Rémy Sanlaville joined Orange. He has spent the last six years helping Orange teams to improve their skills and practices in software engineering and agile methods.
Since 2008, he regularly speaks at software and agile conferences in France. He is an organizer of the Grenoble Coding Dojo (since the beginning in 2009). He also co-organized the first Code Retreat in France (Grenoble, 2011), the first Legacy Code Retreat with J.B. Rainsberger (Grenoble, 2011) and the first BDD workshop in France (Grenoble, 2012).
His key passion is to break down the complexity around coding and software projects by providing simple and practical solutions.
Keynote
Tom Gilb is an American systems engineer, consultant, and author, known for the development of software metric, software inspection, and evolutionary processes. He coaches managers and product owners, writes papers, develops the courses, and is writing his own book, Evo – “Evolutionary Project Management & Product Development”.
There are very many organizations and individuals who use some or all of their methods. IBM and HP were two early corporate adopters. Recently over 15,000 (and growing) engineers at Intel have adopted the “Planguage” requirements methods. Ericsson, Nokia and recently Nordea and Statoil and A Major Multinational Finance Group use parts of their methods extensively. Many smaller companies also use the methods.
Aki Salmi is a hiking guide of Suomen Latu and soon-to-become hiking guide trainer. Within a year, he also has yet another profession, that of supervisor.
Aki does not believe in magic - he makes it happen. And the magic often embodies practices on how to inspire the teams he works with to do their best. Together, as a team. And in that one crucial aspect is the feeling of being listened to.
As when Aki is doing things he loves while earning some money out of it, he works as programmer at Ambientia. While in the future, you might see Aki working as supervisor in organization far and away from the IT industry. Helping teams to find meaning and joy to their work.
For Aki, work is about learning, learning is collaboration.
Flavius is an agile/lean trainer and coach focusing on helping teams deliver faster, better quality software. Flavius blames the computer-related high school and university, plus the economics-oriented master’s degree for his biggest obsessions: product quality and programmer productivity.
Describing his past, Flavius shares: “I was bit by the computer bug around age 12, when I first laid hands on a 486. Age 13 caught me reading books about Norton Commander, Windows 3.1 and Pascal, even though I’ve only had my first computer when I was 14. Since then, the world of software has been my primary focus.”
Ioan Eugen Stan is passionate about IT and free software. Currently he works as a technology consultant and is involved in various communities and open source projects, such as Apache Software Foundation, Bucharest JUG, Debian Project. His current focus is team building, Agile methodologies and continuous delivery of good software products. He likes to speak about his passions, promote open source projects and encourage people to contribute.
Apache Software Foundation - http://apache.org (Apache James, Apache Provisionr)
JUG București - http://bjug.ro - Founder and Organizer
Debian Project - http://debian.org - Debian User, Contributor and Advocate
I am a passionate software developer, continuous learner, mentor and teacher. I am a polyglot programmer, I love challenges and I use whatever techniques I know to overcome them. This is how I learn.
Some info about me:
If you need a person to chat about technical challenges, I'm your guy.
Adrian was involved in developing software for domains like energy, ecommerce, banking, customs and ERP/CRM. He has been working with companies from Netherlands, Romania, Italy, France and Germany, and he is knowledgeable in software technical domains like: clean code, unit testing, test driven development, simple design, emergent design, working effectively with legacy code.
As a continuous learner and challenger of existing ideas and concepts, Adrian is a supporter of movements that give new ideas on how to continuously improve software and that embrace the values of software quality and efficiency. He facilitated many code retreats in Romania, Belgium, France, Germany, Netherlands, Finland, Bulgaria and has a keen interest in serious games and using gamestorming for continuous improvement.
As a constant participant to conferences, he is recognized for challenging ideas and getting people out of their comfort zone, not out of disrespect or lack of reverence for his peers, but out of his desire to show people that there are always things to learn.
I love helping other people out, it's something that has been important for me as long as I can remember. I used to tutor people while I was still in school, helping out fellow students whenever I had the chance. It wasn't that weird that after a few years of professional experience, I ended up teaching class. I have trained and coached several teams on different subjects, ranging from process oriented topics like scrum, kanban and effective collaboration through gamestorming to more technical focused topics like test automation, test driven development and software craftsmanship principles.
As of last year I have started an adventure in the areas of lean startups and customer development around that. These kinds of volatile ventures also benefit a lot from the agile mindset and craftsmanship principles knowledge I've built up the last decade.
I'm a javascript enthusiast which embraces new technologies. I 'fight' to push the web's limits in order to create better web applications.
I encourage open source and some times contribute to open source projects on github.
You can often see me on stack overflow answering questions: http://stackoverflow.com/users/491075/gion-13.
I am passionate programmer working for one of the country's most agile companies. I am part of a team of professionals who embraced and are willing to share their knowledge about Agile Software Development. I am also a regular technical writer for NetTuts and I also create online video courses for the Tuts+ network.
Claudia is a software developer heading her way towards Software Craftsmanship. While using agile in delivering good quality software, she is now an Agile Lean Practitioner and an active member of AgileWorks and Agile Lean European communities.
"I like programming, but I also like to analyze and discuss and pair-up and do what I have started to name 'social programming'. I think that is not enough for a developer to be a great coder, he has to be a great communicator, a great negotiator and an innovator. I don't believe in one-programmer software product and I value collaboration in delivering the best solution for the right product at the right time."
Felienne Hermans is a researcher and entrepreneur in the field of spreadsheets. Her PhD thesis, finished in early 2013, centers around techniques to transfer software engineering methods like smell detection, refactoring and testing to spreadsheets.
In 2010 Felienne co-founded Infotron, a start up that uses the algorithms developed during the PhD project to analyze spreadsheet quality for large companies. In her spare time, Felienne volunteers as a referee for the First Lego League, a world wide technology competition for kids.
Thomas Sundberg is an independent consultant based in Stockholm, Sweden. He has a Masters degree in Computer Science from the Royal Institute of Technology, KTH, in Stockholm. Thomas has been working as a developer for more than 20 years. He has taught programming at The Royal Institute of Technology, KTH, one the leading technical universities in Sweden. Thomas has developed an obsession for technical excellence. This translates to Software Craftsmanship, Clean Code and Test Automation.
True Software Stories You will find out how other experienced profesionals work. We will not focus on specific technologies, but we will focus on the best practices, essential to know for any technology.All the sessions will based on code. |
Architecture and Design Practices Learn more about architecture and design. During the workshop sessions, you will be able to practice your learnings you acquired after the speaking sessions. |
Beautiful Data You will learn how to analyze data. You will write code. |
Technical Leadership You will find about how to lead your teams towards software excellence. There will be talks and workshops on this theme. |
Kata Lounge Perfect practice makes perfect! You will receive some requirements. You will have a timebox that you need to respect. When the timebox is over somebody will review the code with you and give you ideas for improvement. |
|
---|---|---|---|---|---|
8:30 to 9:00 |
Welcome coffee, registration | ||||
9:00 to 9:30 |
Intro | ||||
9:30 to 10:15 |
Michael Feathers Michael Feathers is the founder and Director of R7K Research & Conveyance, a company specializing in software and organization design. Prior to forming R7K, Michael was the Chief Scientist of Obtiva and a consultant with Object Mentor International. Over the years, Michael has spent a great deal of time helping teams after design over time in code bases. Michael is also the author of the book Working Effectively with Legacy Code. Moving Toward Symbiotic Design SummaryAgile and Lean are transforming the software development industry, but in both of them miss a key fact about software - it is extremely sensitive to the composition of teams working on it and the structure of the organization around it. In this keynote, Michael Feathers will talk about how organizations can leverage this fact and achieve powerful outcomes. |
||||
10:15 to 10:30 |
Break | ||||
10:30 to 11:10 |
Johan Martinsson & Rémy Sanlaville Johan Martinsson
Johan Martinsson is a freelance developer that is passionate, amongst other things, about design in code. He has spent the last 4 years helping teams adopt XP-practices in his hometown – Grenoble, France. Johan regularly finds reasons to show code to make his point at conferences. Johan organized the first code retreat in France, organized the first Legacy Code Retreat with JB Rainsberger. For the last three years he also co-organized the Grenoble coding dojo and France’s biggest agile event: Agile Grenoble. Rémy Sanlaville After completing a PhD in Software Engineering, Rémy Sanlaville joined Orange. He has spent the last six years helping Orange teams to improve their skills and practices in software engineering and agile methods. Since 2008, he regularly speaks at software and agile conferences in France. He is an organizer of the Grenoble Coding Dojo (since the beginning in 2009). He also co-organized the first Code Retreat in France (Grenoble, 2011), the first Legacy Code Retreat with J.B. Rainsberger (Grenoble, 2011) and the first BDD workshop in France (Grenoble, 2012). His key passion is to break down the complexity around coding and software projects by providing simple and practical solutions. Hexagonal Architecture - Ports and Adapters SummaryDid you succeed to create a nice OO application by using multi-level architecture? We think that is not possible and multi-level architecture leads to procedural coding. Alistair Cockburn introduced Hexagonal architecture that is more suitable to follow OO design. Hexagonal architecture (aka ports and adapters) is a generalization of two fundamental concepts that allows separation of business logic from infrastructure in the big as in the small. It is a tool that can serve many goals
|
Sandro Mancuso Software craftsman, author of Software Craftsmanship: Professionalism Pragmatism Pride and founder of the London Software Craftsmanship Community (LSCC). Crafted Design SummaryHow can we quickly tell what an application is about? How can we quickly tell what it does? How can we distinguish business concepts from architecture clutter? How can we quickly find the code we want to change? How can we instinctively know where to add code for new features? Purely looking at unit tests is either not possible or too painful. Looking at higher-level tests can take a long time and still not give us the answers we need. For years, we have all struggled to design and structure projects that reflect the business domain. |
Martin Naumann Open data and open source lunatic, hacker, guru and probably the guy your parents warned you about, cause I teach you about the real world instead of theory.. Open Data Wizardry 101 SummaryAre you a data nerd or do you want to become one? Then this session is for you! We will dive into the many faces of open data. Then, having data at our finger tips waiting for the fun to start, we gonna gather a set of tools to make interesting visualizations and interactive applications that use and combine the data sets for fun and profit. Finally, we gonna gather in small teams and build something cool. |
Flavius Ștef Flavius is an agile/lean trainer and coach focusing on helping teams deliver faster, better quality software. Flavius blames the computer-related high school and university, plus the economics-oriented master’s degree for his biggest obsessions: product quality and programmer productivity. Describing his past, Flavius shares: “I was bit by the computer bug around age 12, when I first laid hands on a 486. Age 13 caught me reading books about Norton Commander, Windows 3.1 and Pascal, even though I’ve only had my first computer when I was 14. Since then, the world of software has been my primary focus.” Leading Tech Teams SummaryOld school leadership was hard, yet easy. Hard, because it meant you needed to be really good technically *and* control all your team members, possibly while keeping several systems running without a glitch. Easy, because you didn't have to worry about getting buy-in from your team members. The new leadership style, based on agile practices, promotes shared responsibility, transparency and continuous improvement. But this means that technical leaders must develop better soft skills. And soft skills are the hard skills. Join Flavius in this workshop and take a look at the technical lead role from 3 lenses: Why should people follow YOU? Leadership is all about influence. But what are the characteristics that people seek in their influencers? We'll come up with a list of skills that make for good leaders and help you select those you want to further develop. Patterns for catalyzing change How do you cause change when people don't have to obey your demands? We'll discuss several change models and see how they can be applied to instigating and then catalyzing change. These models work both for convincing your team members and upper management. We'll use a simulated change initiative to apply the techniques. How to listen and talk to others How many times did a colleague do the exact opposite of what you expected them to do? If the answer is "a lot", you might have to upgrade your communication protocol to a stateful one. We'll discuss about empathy, the multiple levels of listening, asking powerful questions and increasing awareness about your own judgements. |
Pick a random coding problem from a bowl. Practice anytime you want. Get feedback on your code from an experienced person. |
11:10 to 11:25 |
Break | ||||
11:25 to 12:05 |
Claudia Rosu & Alex Bolboacă Claudia Rosu
Claudia is a software developer heading her way towards Software Craftsmanship. While using agile in delivering good quality software, she is now an Agile Lean Practitioner and an active member of AgileWorks and Agile Lean European communities. Alex Bolboacă I am a passionate software developer, continuous learner, mentor and teacher. I am a polyglot programmer, I love challenges and I use whatever techniques I know to overcome them. This is how I learn. Applied Craftsmanship in a Real Project SummarySoftware craftsmanship is a relatively new movement, and as such it often creates discussions and controversy. It's useful therefore to see how the ideals of craftsmanship are applied in a real project. This is a true story. We are working on an innovative eHealth application for an association of general practitioners. We will share with you our understanding of craftsmanship, how we applied it in the project and what are the results so far. After this talk you will understand better:
|
Adi Bolboacă Adrian was involved in developing software for domains like energy, ecommerce, banking, customs and ERP/CRM. He has been working with companies from Netherlands, Romania, Italy, France and Germany, and he is knowledgeable in software technical domains like: clean code, unit testing, test driven development, simple design, emergent design, working effectively with legacy code. S.O.L.I.D. Principles SummaryToday we need to change products fast and in a reliable way, without introducing defects. We will have a discussion about five basic principles of object-oriented programming and design: Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion. Together these principles are known as the SOLID Principles. Prepare your questions! |
Martin Naumann Open data and open source lunatic, hacker, guru and probably the guy your parents warned you about, cause I teach you about the real world instead of theory.. Open Data Wizardry 101 SummaryAre you a data nerd or do you want to become one? Then this session is for you! We will dive into the many faces of open data. Then, having data at our finger tips waiting for the fun to start, we gonna gather a set of tools to make interesting visualizations and interactive applications that use and combine the data sets for fun and profit. Finally, we gonna gather in small teams and build something cool. |
Flavius Ștef Flavius is an agile/lean trainer and coach focusing on helping teams deliver faster, better quality software. Flavius blames the computer-related high school and university, plus the economics-oriented master’s degree for his biggest obsessions: product quality and programmer productivity. Describing his past, Flavius shares: “I was bit by the computer bug around age 12, when I first laid hands on a 486. Age 13 caught me reading books about Norton Commander, Windows 3.1 and Pascal, even though I’ve only had my first computer when I was 14. Since then, the world of software has been my primary focus.” Leading Tech Teams SummaryOld school leadership was hard, yet easy. Hard, because it meant you needed to be really good technically *and* control all your team members, possibly while keeping several systems running without a glitch. Easy, because you didn't have to worry about getting buy-in from your team members. The new leadership style, based on agile practices, promotes shared responsibility, transparency and continuous improvement. But this means that technical leaders must develop better soft skills. And soft skills are the hard skills. Join Flavius in this workshop and take a look at the technical lead role from 3 lenses: Why should people follow YOU? Leadership is all about influence. But what are the characteristics that people seek in their influencers? We'll come up with a list of skills that make for good leaders and help you select those you want to further develop. Patterns for catalyzing change How do you cause change when people don't have to obey your demands? We'll discuss several change models and see how they can be applied to instigating and then catalyzing change. These models work both for convincing your team members and upper management. We'll use a simulated change initiative to apply the techniques. How to listen and talk to others How many times did a colleague do the exact opposite of what you expected them to do? If the answer is "a lot", you might have to upgrade your communication protocol to a stateful one. We'll discuss about empathy, the multiple levels of listening, asking powerful questions and increasing awareness about your own judgements. |
Pick a random coding problem from a bowl. Practice anytime you want. Get feedback on your code from an experienced person. |
12:05 to 12:20 |
Break | ||||
12:20 to 13:00 |
Bogdan Grădinariu I'm a javascript enthusiast which embraces new technologies. I 'fight' to push the web's limits in order to create better web applications. I encourage open source and some times contribute to open source projects on github. You can often see me on stack overflow answering questions: http://stackoverflow.com/users/491075/gion-13. Logic and Style in Modern Web Apps SummaryThis paper is mainly about an improved and cleaner way to build the css architecture of a web application. In a web environment, people tend to consider front-end work as simple lines of code that you don't need to compile, you just write an alert box in an inline script, change a css padding after the backend is done with the redndering of the important information. Well, this thing is changing, and since we're not writing code as in year 2000, a need for structure appears in the front-end part. I first started to write this presentation out of personal frustrations at one of my previous workplace. Everyone considered that they could change the appearance of the site at any time from everywere. In a very dynamic app that we built, there were widgets that were being animated with TweenMax, others that had some css3 transitions, things were toggled with jQuery and css classes at the same time and, of course, the "!important" keyword was present in almost every css file. After that project, I held this presentation about how to separate the style from logic and things seemed to work differently (much better). This separation is present in any programming paradigm, so why shouldn't it apply to css and js too? Let css handle the visual part of the application while javascript handles the logic. It's the basic principle - "separation of concerns" - that is a perfect match in the front-end development. |
Erik Talboom I love helping other people out, it's something that has been important for me as long as I can remember. I used to tutor people while I was still in school, helping out fellow students whenever I had the chance. It wasn't that weird that after a few years of professional experience, I ended up teaching class. I have trained and coached several teams on different subjects, ranging from process oriented topics like scrum, kanban and effective collaboration through gamestorming to more technical focused topics like test automation, test driven development and software craftsmanship principles. CQRS in Baby Steps SummaryCommand Query Responsibility Segregation is a very powerful and yet easy architectural pattern that can help you to simplify the execution path through your codebase. It doesn't matter wether you are a startup or an large enterprise, there are things you can gain from implementing cqrs in your application. And you can even do that in small steps. During this presentation I will introduce you to the pattern and we will walk through some scenarios for gradually implementing this in your application. |
Martin Naumann Open data and open source lunatic, hacker, guru and probably the guy your parents warned you about, cause I teach you about the real world instead of theory.. Open Data Wizardry 101 SummaryAre you a data nerd or do you want to become one? Then this session is for you! We will dive into the many faces of open data. Then, having data at our finger tips waiting for the fun to start, we gonna gather a set of tools to make interesting visualizations and interactive applications that use and combine the data sets for fun and profit. Finally, we gonna gather in small teams and build something cool. |
Flavius Ștef Flavius is an agile/lean trainer and coach focusing on helping teams deliver faster, better quality software. Flavius blames the computer-related high school and university, plus the economics-oriented master’s degree for his biggest obsessions: product quality and programmer productivity. Describing his past, Flavius shares: “I was bit by the computer bug around age 12, when I first laid hands on a 486. Age 13 caught me reading books about Norton Commander, Windows 3.1 and Pascal, even though I’ve only had my first computer when I was 14. Since then, the world of software has been my primary focus.” Leading Tech Teams SummaryOld school leadership was hard, yet easy. Hard, because it meant you needed to be really good technically *and* control all your team members, possibly while keeping several systems running without a glitch. Easy, because you didn't have to worry about getting buy-in from your team members. The new leadership style, based on agile practices, promotes shared responsibility, transparency and continuous improvement. But this means that technical leaders must develop better soft skills. And soft skills are the hard skills. Join Flavius in this workshop and take a look at the technical lead role from 3 lenses: Why should people follow YOU? Leadership is all about influence. But what are the characteristics that people seek in their influencers? We'll come up with a list of skills that make for good leaders and help you select those you want to further develop. Patterns for catalyzing change How do you cause change when people don't have to obey your demands? We'll discuss several change models and see how they can be applied to instigating and then catalyzing change. These models work both for convincing your team members and upper management. We'll use a simulated change initiative to apply the techniques. How to listen and talk to others How many times did a colleague do the exact opposite of what you expected them to do? If the answer is "a lot", you might have to upgrade your communication protocol to a stateful one. We'll discuss about empathy, the multiple levels of listening, asking powerful questions and increasing awareness about your own judgements. |
Pick a random coding problem from a bowl. Practice anytime you want. Get feedback on your code from an experienced person. |
13:00 to 14:00 |
Lunch | ||||
14:00 to 14:45 |
Ioan Eugen Stan Ioan Eugen Stan is passionate about IT and free software. Currently he works as a technology consultant and is involved in various communities and open source projects, such as Apache Software Foundation, Bucharest JUG, Debian Project. His current focus is team building, Agile methodologies and continuous delivery of good software products. He likes to speak about his passions, promote open source projects and encourage people to contribute. Apache Software Foundation - http://apache.org (Apache James, Apache Provisionr) JUG București - http://bjug.ro - Founder and Organizer Debian Project - http://debian.org - Debian User, Contributor and Advocate Hands on Continuous Delivery SummaryWe all use/consume software today somehow. It comes pre-installed with a device, we download and install it or we just use it on line. These are all forms of software consumption and the result of a process. Most of us are not concerned about how that piece of software that we consume gets there. This presentation is for the other part: the people who need to deliver software and it will cover the following: - how do users consume software - the importance of packaging and versions - the software project life cycle and the importance of deliverables - tools for managing the project life-cycle: version control system, build tools, continuous integration tools and the software repository The presentation will show an example of one way to achieve continuous delivery for a simple Java web application with the following technologies: Git, Apache Maven, Jenkins, Sonatype Nexus [1],[2].[3],[4] Some tools presented are language/platform independent and can be used regardless of language choice (Jenkins, Nexus). For others, you will get info about alternative tools you can use in case you do not develop on the Java Platform. Pointers will cover languages like: PHP, C/C++, .Net and Javascript, etc. [1] http://git-scm.com/ [2] http://maven.apache.org/ [3] http://jenkins-ci.org/ [4] http://www.sonatype.org/nexus/ |
Adi Bolboacă Adrian was involved in developing software for domains like energy, ecommerce, banking, customs and ERP/CRM. He has been working with companies from Netherlands, Romania, Italy, France and Germany, and he is knowledgeable in software technical domains like: clean code, unit testing, test driven development, simple design, emergent design, working effectively with legacy code. Enterprise Agile Architect Role SummaryOnce Agile started becoming a thing in the software world, often the architect role seems to be an awkward one. During this presentation we will talk about how the architect role is very important in an enterprise environment by connecting mainly the business and the technical worlds. During this talk we will have a conversation about the architect(s) focusing on risk management, balancing the technical decisions at the product level, communicating the technical information to the business side and communicating the business needs to the technical teams. |
Sebastian Benz Sebastian Benz is a software engineer at E.S.R. Labs in Munich. At the moment, he puts all his experience in language development and testing into the development of Jnario. He has a Ph.D. in computer science from TU München. Take Back Control over Your Test Suite SummaryWe all know testing is important. Unfortunately, even the best intentions are often crushed by slow and brittle tests hindering development more than they actually help. But this must not necessarily be the case. In this talk I want to present some simple techniques helping you to write better tests. In particular, the following topics will be covered:
|
Flavius Ștef Flavius is an agile/lean trainer and coach focusing on helping teams deliver faster, better quality software. Flavius blames the computer-related high school and university, plus the economics-oriented master’s degree for his biggest obsessions: product quality and programmer productivity. Describing his past, Flavius shares: “I was bit by the computer bug around age 12, when I first laid hands on a 486. Age 13 caught me reading books about Norton Commander, Windows 3.1 and Pascal, even though I’ve only had my first computer when I was 14. Since then, the world of software has been my primary focus.” Scaling Agility: The Technical Angle SummaryCan you work efficiently when there are a lot of people involved? Bigger projects (tens or hundreds of people) are famous for being vary hard to control, especially when all the testing is done as a phase, close to the deadline. Agile has taught us that we can do better, by creating cross-functional teams and working incrementally. However, most organizations are used to having component teams (statistics team, infrastructure team, UI team etc.). This type of structure should be changed in order to reap the full benefits of agility. But changing to a more cross-functional structure, with teams responsible for complete features means we need ways to make sure the architecture and design remain consistent, stable and DRY. We also need to make sure we avoid communication overhead. After all, if it's a thing developers like the least, it's yet another meeting. In this talk we'll explore various techniques for promoting efficient cross-team collaboration on big projects. We'll look at feature and component teams, how to plan a release, steward a modular architecture, do branching, merging and releasing and share knowledge using communities of practice. |
Pick a random coding problem from a bowl. Practice anytime you want. Get feedback on your code from an experienced person. |
14:45 to 15:00 |
Break | ||||
15:00 to 17:00 |
Open-Space | ||||
17:00 to 17:15 |
Break | ||||
17:15 to 17:45 |
Alex Bolboacă I am a passionate software developer, continuous learner, mentor and teacher. I am a polyglot programmer, I love challenges and I use whatever techniques I know to overcome them. This is how I learn. A Career Growth Model: The Pyramid of Programming Skillsets SummaryAs a programmer, you are wondering what it takes to grow your career in a fast-changing environment. This talk is about a path for your career growth. As a manager you are wondering how you can optimize your software development teams. This talk is about a model to use for a rough evaluation and improvement of your teams. As a business owner, CEO or CTO, your primary request for development teams is to quickly add features. This talk is about a model for optimizing implementation time. The pyramid of programming skillsets is a model based on the usefulness of programming skills when changing code fast is the most important business objective. Let's explore five skillset levels I identified when working with teams of programmers around Europe. We will discuss each level and how to move from one level to another. |
||||
17:45 to 18:00 |
Break | ||||
18:00 to 18:15 |
Retrospective of the day | ||||
18:15 to 18:25 |
Closing of the day | ||||
18:25 to 19:30 |
Drinks and Evening Open-Space | ||||
19:30 to 24:00 |
Code with a Stranger |
True Software Stories You will find out how other experienced profesionals work. We will not focus on specific technologies, but we will focus on the best practices, essential to know for any technology.All the sessions will based on code. |
Architecture and Design Practices Learn more about architecture and design. During the workshop sessions, you will be able to practice your learnings you acquired after the speaking sessions. |
Software Testing Testing is a big hype nowadays. Join this track and find out more about how to apply different testing techniques in production after the event. |
Technical Leadership You will find about how to lead your teams towards software excellence. There will be talks and workshops on this theme. |
Kata Lounge Perfect practice makes perfect! You will receive some requirements. You will have a timebox that you need to respect. When the timebox is over somebody will review the code with you and give you ideas for improvement. |
|
---|---|---|---|---|---|
8:30 to 9:00 |
Welcome coffee | ||||
9:00 to 9:30 |
Intro | ||||
9:30 to 10:10 |
Aki Salmi Aki Salmi is a hiking guide of Suomen Latu and soon-to-become hiking guide trainer. Within a year, he also has yet another profession, that of supervisor. Aki does not believe in magic - he makes it happen. And the magic often embodies practices on how to inspire the teams he works with to do their best. Together, as a team. And in that one crucial aspect is the feeling of being listened to. Refactoring Legacy Code - a true Story SummaryThis is a true story. Me getting an assignment to a project which had 0 tests. And no other developers. Old, yet live code written in Java/Groovy/Grails. Intertwined responsibilities, messy code. Typical length of a class was hundreds of lines of code. In the presentation, I'll show two example cases of introducing new features to the project. The first is a story of adding a search criteria to a list of 15 parameters. Yes, there was 15 parameters in the method call. The other example is total refactoring of handling files transferred to the system using FTP. It included both changes to the supported file types and the structure of the code. In both examples, I try to think the end results (code) from both maintainability perspective and from business perspective. |
Johan Martinsson & Rémy Sanlaville Johan Martinsson
Johan Martinsson is a freelance developer that is passionate, amongst other things, about design in code. He has spent the last 4 years helping teams adopt XP-practices in his hometown – Grenoble, France. Johan regularly finds reasons to show code to make his point at conferences. Johan organized the first code retreat in France, organized the first Legacy Code Retreat with JB Rainsberger. For the last three years he also co-organized the Grenoble coding dojo and France’s biggest agile event: Agile Grenoble. Rémy Sanlaville After completing a PhD in Software Engineering, Rémy Sanlaville joined Orange. He has spent the last six years helping Orange teams to improve their skills and practices in software engineering and agile methods. Since 2008, he regularly speaks at software and agile conferences in France. He is an organizer of the Grenoble Coding Dojo (since the beginning in 2009). He also co-organized the first Code Retreat in France (Grenoble, 2011), the first Legacy Code Retreat with J.B. Rainsberger (Grenoble, 2011) and the first BDD workshop in France (Grenoble, 2012). His key passion is to break down the complexity around coding and software projects by providing simple and practical solutions. 100% Confident with Legacy Code SummaryFrustrated you can't refactor that piece of un-SOLID SH*T because you don't have tests and it takes too long to write them? Learn how to write non regression tests super-fast! We'll work in *baby steps* on a real world application with complex logic and untestable dependencies. We introduce a powerful emerging concept of writing temporary tests that are tailored only for refactoring. It builds upon the techniques Golden Master and approval testing. We show how those work in a world of side effects and untestable dependencies. You'll also get an understanding of how to apply this approach at any level of testing. We'll discuss how this goes hand-in-hand with traditional system testing and the practice of TDD. Find the setup instructions here. Alose please find a video here about the session. |
Csaba Patkos I am passionate programmer working for one of the country's most agile companies. I am part of a team of professionals who embraced and are willing to share their knowledge about Agile Software Development. I am also a regular technical writer for NetTuts and I also create online video courses for the Tuts+ network. Getting Started with Test Driven Development SummaryA hands-on workshop to introduce TDD for the interested programmers. It has a theoretical part, not very much, just so that each attendee can remember what a unit test is and how do we run our test. Then a little bit about the rules. Finally, the bulk of the workshop is used to take a simple code kata and implement it with TDD. Depending on the level of the attendees, this kata can be as simple as Fizz-Buzz or as advanced as Word Wrap. I also found the Tennis Kata a good example for novice programmers who want more of a challenge then fizz-buzz. The session will be language agnostic, attendees are free to use their favorite programming language. Examples will be given in PHP so web developers are also welcome. |
Alex Bolboacă I am a passionate software developer, continuous learner, mentor and teacher. I am a polyglot programmer, I love challenges and I use whatever techniques I know to overcome them. This is how I learn. From Requirements to Tests in Kanban SummaryKanban or Scrum tell you it's your job to define the technical practices to use. But nobody explains in detail how to link Kanban or Scrum with TDD or Unit Testing. In this workshop you will experience the steps required to go from a requirement to tests. We will use a Kanban board for the purpose of the workshop, but you can easily adjust the process for Scrum. We will discuss and practice the following steps:
|
Pick a random coding problem from a bowl. Practice anytime you want. Get feedback on your code from an experienced person. |
10:10 to 10:25 |
Break | ||||
10:25 to 11:05 |
Thomas Sundberg Thomas Sundberg is an independent consultant based in Stockholm, Sweden. He has a Masters degree in Computer Science from the Royal Institute of Technology, KTH, in Stockholm. Thomas has been working as a developer for more than 20 years. He has taught programming at The Royal Institute of Technology, KTH, one the leading technical universities in Sweden. Thomas has developed an obsession for technical excellence. This translates to Software Craftsmanship, Clean Code and Test Automation. BDD with Cucumber JVM SummaryBehaviour Driven Development, BDD, is a great way to drive the development of a system based solely on the desired behaviour. Using Cucumber-JVM for Java will allow us to express the desired behaviour with examples so a non developer can understand what will work and what is expected of the system. This is a tool that allows development teams to describe how software should behave in plain text. The text is written in a business-readable domain-specific language and serves as documentation, automated test and development-aid - all rolled into one format. |
Johan Martinsson & Remy Sanlaville Johan Martinsson is a freelance developer that is passionate, amongst other things, about design in code. He has spent the last 4 years helping teams adopt XP-practices in his hometown – Grenoble, France. Johan regularly finds reasons to show code to make his point at conferences. Johan organized the first code retreat in France, organized the first Legacy Code Retreat with JB Rainsberger. For the last three years he also co-organized the Grenoble coding dojo and France’s biggest agile event: Agile Grenoble. 100% Confident with Legacy Code SummaryFrustrated you can't refactor that piece of un-SOLID SH*T because you don't have tests and it takes too long to write them? Learn how to write non regression tests super-fast! We'll work in *baby steps* on a real world application with complex logic and untestable dependencies. We introduce a powerful emerging concept of writing temporary tests that are tailored only for refactoring. It builds upon the techniques Golden Master and approval testing. We show how those work in a world of side effects and untestable dependencies. You'll also get an understanding of how to apply this approach at any level of testing. We'll discuss how this goes hand-in-hand with traditional system testing and the practice of TDD. Find the setup instructions here. Alose please find a video here about the session. |
Csaba Patkos I am passionate programmer working for one of the country's most agile companies. I am part of a team of professionals who embraced and are willing to share their knowledge about Agile Software Development. I am also a regular technical writer for NetTuts and I also create online video courses for the Tuts+ network. Getting Started with Test Driven Development SummaryA hands-on workshop to introduce TDD for the interested programmers. It has a theoretical part, not very much, just so that each attendee can remember what a unit test is and how do we run our test. Then a little bit about the rules. Finally, the bulk of the workshop is used to take a simple code kata and implement it with TDD. Depending on the level of the attendees, this kata can be as simple as Fizz-Buzz or as advanced as Word Wrap. I also found the Tennis Kata a good example for novice programmers who want more of a challenge then fizz-buzz. The session will be language agnostic, attendees are free to use their favorite programming language. Examples will be given in PHP so web developers are also welcome. |
Alex Bolboacă I am a passionate software developer, continuous learner, mentor and teacher. I am a polyglot programmer, I love challenges and I use whatever techniques I know to overcome them. This is how I learn. From Requirements to Tests in Kanban SummaryKanban or Scrum tell you it's your job to define the technical practices to use. But nobody explains in detail how to link Kanban or Scrum with TDD or Unit Testing. In this workshop you will experience the steps required to go from a requirement to tests. We will use a Kanban board for the purpose of the workshop, but you can easily adjust the process for Scrum. We will discuss and practice the following steps:
|
Pick a random coding problem from a bowl. Practice anytime you want. Get feedback on your code from an experienced person. |
11:05 to 11:20 |
Break | ||||
11:20 to 12:00 |
Andreas Leidig Andreas Leidig has broad experience in object oriented software development and agile practices. He started programming years ago with Smalltalk and worked as an agile coach for a few years. Nowadays he is working full-time in developing enterprise software products. How we did it: The Story of a Website SummaryThere are many open source projects. Most of them are tools or libraries for programmers. This is a running website. Interested in seeing the professional use of state-of-the-art technologies and collaboration methods? These are the buzzwords covered: node.js, continuous integration, github, javascript, evolving design, no-sql, testing, softwerkskammer, XP. |
Johan Martinsson & Remy Sanlaville Johan Martinsson is a freelance developer that is passionate, amongst other things, about design in code. He has spent the last 4 years helping teams adopt XP-practices in his hometown – Grenoble, France. Johan regularly finds reasons to show code to make his point at conferences. Johan organized the first code retreat in France, organized the first Legacy Code Retreat with JB Rainsberger. For the last three years he also co-organized the Grenoble coding dojo and France’s biggest agile event: Agile Grenoble. 100% Confident with Legacy Code SummaryFrustrated you can't refactor that piece of un-SOLID SH*T because you don't have tests and it takes too long to write them? Learn how to write non regression tests super-fast! We'll work in *baby steps* on a real world application with complex logic and untestable dependencies. We introduce a powerful emerging concept of writing temporary tests that are tailored only for refactoring. It builds upon the techniques Golden Master and approval testing. We show how those work in a world of side effects and untestable dependencies. You'll also get an understanding of how to apply this approach at any level of testing. We'll discuss how this goes hand-in-hand with traditional system testing and the practice of TDD. Find the setup instructions here. Alose please find a video here about the session. |
Csaba Patkos I am passionate programmer working for one of the country's most agile companies. I am part of a team of professionals who embraced and are willing to share their knowledge about Agile Software Development. I am also a regular technical writer for NetTuts and I also create online video courses for the Tuts+ network. Getting Started with Test Driven Development SummaryA hands-on workshop to introduce TDD for the interested programmers. It has a theoretical part, not very much, just so that each attendee can remember what a unit test is and how do we run our test. Then a little bit about the rules. Finally, the bulk of the workshop is used to take a simple code kata and implement it with TDD. Depending on the level of the attendees, this kata can be as simple as Fizz-Buzz or as advanced as Word Wrap. I also found the Tennis Kata a good example for novice programmers who want more of a challenge then fizz-buzz. The session will be language agnostic, attendees are free to use their favorite programming language. Examples will be given in PHP so web developers are also welcome. |
Alex Bolboacă I am a passionate software developer, continuous learner, mentor and teacher. I am a polyglot programmer, I love challenges and I use whatever techniques I know to overcome them. This is how I learn. From Requirements to Tests in Kanban SummaryKanban or Scrum tell you it's your job to define the technical practices to use. But nobody explains in detail how to link Kanban or Scrum with TDD or Unit Testing. In this workshop you will experience the steps required to go from a requirement to tests. We will use a Kanban board for the purpose of the workshop, but you can easily adjust the process for Scrum. We will discuss and practice the following steps:
|
Pick a random coding problem from a bowl. Practice anytime you want. Get feedback on your code from an experienced person. |
12:00 to 12:15 |
Break | ||||
12:15 to 13:00 |
Felienne Hermans Felienne Hermans is a researcher and entrepreneur in the field of spreadsheets. Her PhD thesis, finished in early 2013, centers around techniques to transfer software engineering methods like smell detection, refactoring and testing to spreadsheets. In 2010 Felienne co-founded Infotron, a start up that uses the algorithms developed during the PhD project to analyze spreadsheet quality for large companies. In her spare time, Felienne volunteers as a referee for the First Lego League, a world wide technology competition for kids. Putting the science in computer science SummaryProgrammers love science! At least, so they say. Because when it comes to the 'science' of developing code, the most used tools is debate. Vim versus emacs, static versus dynamic typing, Java versus C#, this can go on for hours at end. In this session, software engineering professor Felienne Hermans will present the latest research in software engineering that tries to understand and explain what programming methods, languages and tools are best suited for different types of development. |
||||
13:00 to 14:00 |
Lunch | ||||
14:00 to 16:00 |
Open-Space | ||||
16:00 to 16:15 |
Break | ||||
16:15 to 16:30 |
Retrospective of the day | ||||
16:30 to 17:30 |
Tom Gilb Tom Gilb is an American systems engineer, consultant, and author, known for the development of software metric, software inspection, and evolutionary processes. He coaches managers and product owners, writes papers, develops the courses, and is writing his own book, Evo – “Evolutionary Project Management & Product Development”. There are very many organizations and individuals who use some or all of their methods. IBM and HP were two early corporate adopters. Recently over 15,000 (and growing) engineers at Intel have adopted the “Planguage” requirements methods. Ericsson, Nokia and recently Nordea and Statoil and A Major Multinational Finance Group use parts of their methods extensively. Many smaller companies also use the methods. What is wrong with current Software Architecture Methods: and 10 Principles for Improvement SummaryCurrent software architecture is weak in expressing and evaluating ideas of quantified multiple qualities and costs. It has a lack of rigour, which needs to be improved by moving in the direction of Engineering methods – including a lot more quantification of requirements, qualities and costs. As well as a lot more articulation of information about priority factors, risk elements and stakeholder ownership. We propose 10 basic principles of Software & Systems Architecture Engineering to define a necessary change of direction. |
||||
17:30 to 18:00 |
Closing of the event | ||||
18:00 to 20:30 |
Geek Networking Party (Sponsored by Accenture) |