Priit Liivak

Code DOJO

What is it?

Dojo is the Japanese term for “place of the way”, but it mostly describes a training place for
martial arts. For us, it is a training place to learn more about writing good quality code and
gaining tremendously valuable insights into the way other people solve problems.

Who is invited?

Code Dojo is open to everyone. Regardless of your skill level or your job description in
Outlook email signature, you are welcome. This includes junior testers, senior architects,
project managers, analysts, lead programmers so well versed in their craft that the only
challenge they have in their daily work is the tough decision which flavor of syrup to add
to their coffee on this particular morning, programmers yet to discover the joys of Extract
Method refactoring shortcut key and you. Especially you!

Why do it?

To become better, practice you must! Two hours in a Code Dojo will teach you far more than
a month grinding out one Model-View-Controller after another. Solving seemingly simple
problems in different ways and under different restrictions will challenge your mind, seeing
how other people steer their solutions to glorious victory through the rocky Red-Green-
Refactor cycles will broaden your own approach and improve your skills. You are guaranteed
to walk away with multiple invaluable insights.

How do we practice?

We will solve a kata, a simple programming challenge using Test-Driven Development
methods. You are free to come and practice alone. I strongly encourage you to bring a friend
or find a partner in the Dojo and work on the kata together as a pair. To make things even
more fun, we also try randori, free-style practice where multiple people line up to solve the
kata on a single computer. The first person writes a failing test, the second person makes the
failing test pass and then writes the next failing test before passing the turn to next person in
line.

I have never used Test-Driven Development. Can I still participate?

Yes! You should definitely come. If you are not familiar with TDD, you can try solve the kata
without it, but be warned, you will be missing out on a lot of fun. I recommend pairing up
with someone or taking a turn in the randori line when you think you have gotten the gist of
it. Test-Driven Development methods used in Code Dojo are very easy to learn.

Which programming languages do I have to use?

You can use any programming language you are familiar with. Unit testing frameworks exist
for most languages (Java = JUnit, C# = NUnit, JavaScript = Jasmine, Scala = ScalaTest, Ruby
= Test::Unit, etc.) and for nearly all of them IDE support is available. So you can write your
tests in your favourite programming language (or the one you want to practise) and run them
in your favorite development environment.

Priit Liivak Read More »

Alex Norta

An Agile Agent-Oriented Method for Designing Large Socio-Technical Service-Ecosystems

The agile development of large sociotechnical systems appears to be now more feasible with the availability of service- oriented cloud computing although this results in a higher complexity level with respect to security and dependability in service ecosystems. Additionally, the communication between humans and software is more complex too. Developing system architectures that comprise proactive agents are a means to tackle that complexity. However, there is a lack of agile sociotechnical design- and development methods for generating agent-based architectures that get deployed on platforms as a service in Clouds. Such methods must be easy to comprehend and enactable in a pragmatic way. To demonstrate a suggested method, the presentation uses a running case based on an emergency healthcare-provision scenario in homes for elderly. This presentation addresses the state-of-the-art gap by questioning how to augment and modify existing agile best practices for enabling the design and development of large sociotechnical ecosystems with means of service-oriented cloud computing. The presenter hopes to receive inspiring input from industry practitioners that is useful for commencing with novel research into relevant and close-to-realite directions.

BIO: Alex Norta is currently a research member at the Faculty of Informatics/TTU and was earlier a researcher at the Oulu University Secure-Programming Group (OUSPG ) after having been a post-doctoral researcher at the University of Helsinki, Finland. He received his PhD degree (2007) from the Eindhoven University of Technology, The Netherlands. His research interests include business-process collaboration, workflow management, e-business transactions, service-oriented computing, software architectures and software engineering, ontologies, mashups, social web. At the IEEE EDOC’12-conference, Alex won the best-paper award for his full research paper with the title “Inter-enterprise business transaction management in open service ecosystems”.

http://alexnortaphd.yolasite.com/

Alex Norta Read More »

Peep Pullerits

MVPs – how to build as much as needed and as little as possible

17.04.14.-452 (1)
Building software that fulfills its true purpose can be easier than you expect. Most requirements are premature and are only validated by real-world feedback. The easiest way to solve any problem is to realize you don’t need to solve it at all.

The acronym MVP gets thrown around a lot, even outside the startup world. What does it really mean to build a minimum viable product? Does it mean we can sacrifice in quality? Join me on a hackathon to find out how much product we can ship in 45 minutes.

BIO: Peep leads one of the product engineering teams at TransferWise, constantly looking for ways to make life better for customers, the business, and engineers.

Peep Pullerits Read More »

Hanno Jarvet

Agile is a bad strategy or 5 things every Agile practitioner should know about strategy.Hanno Jarvet

Many people confuse strategy (the “what”) with operations (the “how”) and as a result spend time spinning their wheels without getting anywhere. Actually Agile is not a strategy at all, its an ongoing operational priority.
Agile might help you get to your destination faster, but if the destination is wrong the last thing we need is to get there sooner.

Sometimes business executives or customers come to us with vague images that are short on the what and why and rich on the how. Company strategy, product strategy, Agile strategy, strategic agility, key growth strategy, business strategy. Strategy this and strategy that. In order to help them and yourself you need to think at a higher level of abstraction.

Come and find out what strategy is and how to implement it. As a result you will know how to think strategically and help executives do the same.

Hanno Jarvet Read More »

Peeter Marvet

Teaching young hackersPeeter Marvet

I bet we all started with games, mods and trying to make the environment around us cool/fun/interesting. Now we are going to schools and trying to make everybody learn “programming” – this trend must stop NOW. What are the cool activities that might require IT skills – from solving puzzles to building robots & better paper airplanes? And how to turn these activities into “formats” that can become viral among teachers and students? Peeter has been speaking to teachers after helping to localize some Codecademy courses and would like to bridge the gap.

BIO: Peeter might have been the first in Estonia to talk about agile in mainstream media – back in 2005. Likes blending together code, design & usability, but could be best in selling really expensive stuff to very large clients. With vision. Is often feeling depressed (and unemployed) by the fact, that he has never had a chance to work in real development.

Peeter Marvet Read More »

Andrei Solntsev

XP for dummies: UI tests Andrei_Solntsev

Hands-on session on writing UI tests.

  • Why developers should write UI tests too;
  • Typical problems of UI tests,
  • How to resolve them and make tests stable and fast

BIO: Software craftsman @ Codeborne (Tallinn, Estonia).
Aggressive fan of extreme programming.
Creator of Selenide – open-source library for UI tests in Java.
Organizer of devclub.eu
Frequent speaker at conferences: DevClub, Agile Saturday, XP Days Kiev, SeleniumCamp, Nordic Testing Days, TopConf, DevConFu.

Andrei Solntsev Read More »

Andrei Solntsev

XP for dummies: unit-tests Andrei_Solntsev

A pragmatic hands-on session demonstrating how to write good unit-tests and get benefit from them.

  • Why do you need unit-tests
  • How to write good unit-tests
  • 5 myths about unit-tests

BIO: Software craftsman @ Codeborne (Tallinn, Estonia).
Aggressive fan of extreme programming.
Creator of Selenide – open-source library for UI tests in Java.
Organizer of devclub.eu
Frequent speaker at conferences: DevClub, Agile Saturday, XP Days Kiev, SeleniumCamp, Nordic Testing Days, TopConf, DevConFu.

Andrei Solntsev Read More »

Alek Kozlov

Introduction to SAFe (Scaled Agile Framework) – Good, Bad, UglyAlek

You can find in the Internet a lot of voices raving against this approach, as a try to commercialize Agile.

On the other side a lot of big companies are very into this model and they find it very helpful in understanding how one Agile Company should be structured.

I have reviewed SAFe model and in my session I will share pluses and minuses that I have found in it. Overall I satisfied with they way how Dean Leffingwell been systemized the “”How”” one enterprise can work in agile setting. I have some smaller concerns to share with you and, in my humble opinion, one big architectural flaw that should be changed/addressed.

Come and discuss these topics with me and take away understanding about how does this model can be used in your settings.

Alek Kozlov Read More »

Dmitri Troshkov

Typescript sugar with nuts 

You will learn how to write compile time safe JavaScript code and be confident in it. In TypeScript you can use classes, enumerations, modules, describe nested structures and still be able to use dynamic nature of JavaScript And the most attractive is that you do not have to learn new language!
The world where you come from, does not matter: Java, .NET, PHP, Ruby… TypeScript is friendly with everyone and all popular IDE-s support that.

Introduction: what, when by whom, strongest “selling” parts of TS.
About me.
What project did I remake to use TS language.
What are the problems with JS?
TypeScript can be just JavaScript.
Demo: How to start using TS in VisualStudio.
Demo: Remaking small JS code piece to TS code and benefits.(VS)
Other IDE-s supporting TS.
How to set-up TS support in JetBrains WebStorm.
Small comparison with other frameworks which compile to JS.
TypeScript pluses.
Compiler is open source.
Some theoretical dive into TS constructions. (I will reduce the amount comparing to DevClub)
Demo: Generics
Demo: External type definitions
Demo: WebEssentials. The same in NodeJS by it’s nature.
Small demo: tricks with Any and Structural Typing by mocking function, object and constructor.
Resources.
Questions.”

 

BIO: From childhood had three passions: physics, IT and theatre. Got good results in state physics contest. For a long time played in amateur theatre before and after university.
Studied Physical Information Technology and Applied Physics in Tartu University. Now studying Computer Systems in Tallinn University of Technology.
Working in IT almost 10 years. Started from test automation and now trying to do everything as senior developer in Fits.me.
Physicists need to explore and see picture of nature very thoroughly to do conclusions. I think the same approach should be in IT industry.

Dmitri Troshkov Read More »

Targo Tennisberg

Agile product development in public sector

“Agile” and “public sector contracts” are often considered to be mutually exclusive terms. However, it is possible to make it work and reap the associated cost savings. We are currently using about 80% of “handbook Scrum” doing public sector work, and we consider this an optimal level.
In addition, we are doing active development for multiple simultaneous customers with their own independent budgets and individual crazy wish-lists while maintaining a common core product.
The talk describes our journey and the current situation: how did we get here and why did we make these particular choices? What did we choose to keep of Scrum and what are we leaving out? How do we juggle and unify the multitude of requirements, plan our work and deliver the results? Also mentioned: the importance of good tools, customer relationship management, and clear technical vision.

 

BIO:

Targo has been involved in the software industry for 18 years, working in both technical and management roles, and on projects involving from just a handful to up to thousands of people. He is currently working as a software architect in Nortal, inventing more efficient methods for public sector information management.

You can read his thoughts on software and other related matters at http://www.targotennisberg.com/tarkvara/ (in Estonian).

Targo Tennisberg Read More »

Marek Laasik

Agile pitfalls in large organizations, how to not fail the programs

You will gain insight into more common pitfalls and learnings from running large architectural programs in agile environment and how to make them successful from company perspective.

Session will give an insight to the practical side of running a large programs in agile environments.

– How to manage the expectations of stakeholders, set achievable goals and deliver real products in predictable time-frame.
– Difficulties in defining the business value, making it clear and understandable for everyone.
– Role of a product owner in this environment and requirements for other roles.
– Avoiding duplication of work and making sure that the time is spent in the right place.

The talk is based on the real life experience in running the programs that have involved around 100 developers and multiple scrum teams.

 

BIO: Currently on a VP of Engineering position in Fortumo, one of Estonian companies offering mobile and micro-payments in the world around 80 countries.

Previously have been working as a project manager in EMT working on the data services and actively involved in introduction of early mobile portals, MMS and some other services to Estonian market.

After that have been working for 8.5 years in Skype, actively been involved in project and program management, also participating heavily in introduction of agile methods to Skype and running very large programs in Agile environment.

Marek Laasik Read More »

Jaan Pullerits – KEYNOTE speaker

The Soul of a Developer

List of subjects discussed in no particular order:

– The soul of a developer – what sort of people common developers are.
– Way of thinking – binary logic.
– Introversion
– Attention disorders
– Laziness
– Teamwork
– Rivalry
– Trust
– Management communication barrier
– Motivation
– Developer burnout

BIO: Software developer in various companies for over 10 years. Worked in both agile and waterfall companies. Doing hobby projects in various areas of programming and computer arts.

 

Jaan Pullerits – KEYNOTE speaker Read More »

Stanislav Gorski

Development process that works

Stanislav will talk about how they crafted their development process at Desk Rock taking the best from different agile development methodologies. He would like to share their experience and talk about how they managed to achieve better performance and quality through the experiments with the process and tools.

BIO: Stanislav is a software developer at Desk Rock – young but very ambitions software development company. He primarily works with Ruby on Rails and develops modern web apps for Desk Rock’s customers.

Stanislav Gorski Read More »

Whoop Whoop – Agile Saturday XI is around the corner

As in every year, when leaves fall there is Agile Saturday to destroy your plans to pick up the potatoes, it happened again 🙂

See you soon, 25th of October, in new location – Tallinn University of Technology.

Agenda will be up soon!

Register ASAP and if you find out that you can not join us – cancel and let ushers come instead of you!

https://agile-saturday-xi.eventbrite.com

 

 

 

Whoop Whoop – Agile Saturday XI is around the corner Read More »

Agile vs Agility

I stumbled upon a blog of Dave Thomas, a signer of the Agile Manifestor, where he very reasonably complains about the misuse of the word “agile” and misuse of the whole concept.

According to him, here is what it is all about:

What to do:

Find out where you are
Take a small step towards your goal
Adjust your understanding based on what you learned
Repeat

How to do it:

When faced with two of more alternatives that deliver roughly the same value, take the path that makes future change easier.

A good read:
http://pragdave.me/blog/2014/03/04/time-to-kill-agile/

Agile vs Agility Read More »

Alek Kozlov

Imagine this – Your startup at launch got a handful of users who are ”innovators”. You are moving further and saw that the users you are dealing with now are “early visionaries”. Later, after you with ease jumped over the chasm, you found yourself living and talking with “early majority”. And again, one small jump and you are pleasantly in the midst of “late majority”. One nice transition and even “laggards” becoming your good friends. Every one loves you – you are famous, rich and respected. Plea of “Airport’s business books” – to never give in in dreaming of building a great company and product – worked for you well! Very nice and happy story.

But life full of things that you don’t want to hear and my late experience forced me to agree with Steve Blank who was saying – “most startups [Alek: companies] fail because they didn’t develop their market [Alek: customers], not because the didn’t develop their product”.

I will share some of my observations of a common pitfalls of untested assumptions and the blisses of work with the tested hypotheses and validated knowledge. Value of this session is heard story that is “easy to retell” and will covered practical tools critical for success and useful for organisation of any size – startup or enterprise.

Alek Kozlov Read More »

Filipp Keks

How to make automated test bots play 3D games

When playing a video game have you ever wondered how its tests can be automated? Or how agile principles can be applied to big scale game development?

Expect to see less dull talking and more real stuff and coding with Unity3d engine.

Filipp Keks Read More »

Jaan Pullerits

Introduction to 3D Graphics in your web browser with three.js

Browser technology has made a huge leap in past few years. It wasn’t long ago when web was mostly text with some pictures and hyperlinks, but now most internet sites we visit are built as massive client side applications with the browser doing as much work as the server.

Only recently it also became possible to do actual full blown, GPU accelerated 3D graphics using merely the browser. The new technology, called WebGL, makes it possible to create stunning games, business graphics or real estate presentations among other things, which work on many operating systems, devices and browsers without the need to install any extra plugins or extensions.

Only problem with WebGL is the fact it is a low level API and although extremely flexible, it requires quite a commitment to get started with. Fortunately, it didn’t take long for high level APIs to pop up, one of which, Three.js, we are investigating. One thing is for sure: it has never been quite that easy to get into the world of interactive 3D.

What exactly is GPU accelerated 3D? How it works? How to get started with it? How to use agile methods for developing your next sparkling 3D project? These and hopefully many other questions will be answered during the presentation.

Jaan Pullerits Read More »

Marko Alas

Test Driven Development: An Essential Practice To Go Fast

Test Driven Development is a software development process that relies on short cycles of writing test code and making the tests pass by writing production code. I will give an overview of TDD and talk about my own experience using TDD.

We will talk about the reasons why development teams slow down over time, and how that process can be prevented by a comprehensive suite of tests. We will discuss the three laws of Test Driven Development – the central discipline of TDD, and the benefits of following these rules: increased quality, reliable low level documentation, decoupled design, and no fear of change.

Marko Alas Read More »

Scroll to Top