Upcoming talks: 4developers and ACE! Conference

Next week I am presenting at two conferences: the 8th edition of 4developers (Warsaw) and the 7th annual ACE! conference (Kraków).

Together with Mariusz Sieraczkiewicz we will talk on “How To Transform Good Teams Into Awesome Ones”. We will share our experience from Agile transformations we worked on recently, including success and failure stories. Join us to learn the model we use and the steps we make while working with the teams.

fb_4developers_default

ace-2016See you in Warsaw or Kraków.

-Paweł

PS I will publish the slides after the conferences.

Staying On Track – Video From AgileByExample 2014

There’s no point in driving faster in the wrong direction.

triangle-warning-sign-30522_640

That’s why staying focused on what really matters during the whole the software development process is crucial. Which means  killing features that no one is going to use, shortening discussions and brining them back on track, and helping teams with difficult decisions (“Should we refactor this piece?”, “Should we allow deleting users?”, “What to work on next?” ) – I must admit I really enjoy this process 🙂

I gave a talk on this topic during the last AgileByExample 2014 conference. Here you’ll find the video:

and the presentation slides:

Enjoy!

ALE 2013: Brain Dump After Mind Blown

Agile Lean EuropeHey, Agile Lean Europe 2013 Unconference was fabulous.

I have learned about a number of absolutely amazing things there. Here is just a couple of them:

Real Options – on distinguishing options from commitments and enabling options with more trust.

During the workshop I also experienced how Check In Core Protocol works and I really liked it.

Thank you Steve Holyer and Michael Leber!

#NoEstimates – Focus on what matters instead of useless estimates. Great to hear that there is now science and community behind that.

Thanks Vasco Duarte!

Agile Pricing – Consider models like Pay Per Feature, cause neither Fixed Price nor Time&Materials are good billing approaches (e.g. T&M does not encourage productivity).

Thanks Kurt Häusler!

I got a number of insights on making code reviews fun, which I hope to use while working on Codebrag:

I really liked the experience report from Barry O’Reilly and Kate Logan, especially the way they replaced User Stories with Hypotheses:

2013-08-30 10.35.23

Finally, a photo from Keynote by Jurgen Appelo with a slide on why learning works best with experiments:

Photo by Sebastian Nachtigall

Oh, and a comic book to read this autumn is “Commitment” (on Real Options).

I do have more insights, but I would not finish this post at all if I carry on 😉

Many thanks to ALE 2013 organisers for making this awesome event happen!

-Paweł

Decoding Conference Presentation Titles For Busy Developers

Have you ever hesitated which session to attend on a multi-track conference?

Here is a short guide that should help you quickly figure out what to expect on a presentation, just judging from the title 😉

Foo Bar and Beyond (or The Future of Foo Bar)

Expect lots of history of Foo bar, slides with a timeline, and a little or no statements about the future. But at least, you will leave the room assured that “Foo bar is moving forward”.

What Is New in Foo Bar 2.0

Agenda:
1. Old Foo bar API sucked
2. We wanted to change it and had a lots of discussions
3. Early preview of new API, with multiple protective statements from the stage that what you see is not yet approved and subject to change (but really cool, indeed)
4. Release date unknown

Live coding session

You will learn how to change font size in an IDE.

In general, the session will assure you that it is still impossible to create an application in half an hour and your work still makes sense.

Foo Bar Anti-patterns

Even though this will be sad presentation, people will laugh every time new anti-pattern is presented.

Unfortunatelly, some of the anti-patterns will be close to your heart. At least hopefully you will learn some cool names for them.

Discussion Panel

Invited speakers will be answering each others questions, hardly ever looking at the audience.

Advanced Foo Bar

Special type of a discussion panel (see above) held in Chinese. The presenter will be either debating with himself or with a small group of Foo bar fans.

Is Foo Bar Dead?

Agenda:
1. Foo bar’s initial success
2. But… there are several issues with it
3. So… is it dead?
4. Real part of the presentation
5. Conclusion: Foo bar is not dead – we just have to care more!

Foo Driven Development

This talk will go beyond TDD practices, which for sure you are doing, but… “TDD is not enough”. There are other xDD’s and you should follow all of them, especially FDD, which provides you yet one more layer of safety (and one more test case to re-write for every small change).

Foo Bar For Busy Developers

Probably a simple tutorial, cause the presenter is a busy person too and had little time to prepare. The title is adjusted in order to attract more people (who is not busy these days?).

If you are really busy, do the tutorial from the website instead.

Other

If a talk does not fall under any of these categories, I do encourage you to identify a new pattern and comment on this post :).

Also, beware that if it is hard to figure out what will be the content, the talk might be a sponsored presentation :evil:.

Enjoy your next conference!
-Paweł

PS Thanks to Michał Ostruszka for the blog post title suggestion.

Poking the Comfort Zone @ TEDxWarsaw 2013

I have never been on a TEDx conference before. At TEDxWarsaw 2013 I have realized what is special about this kind of events – you do not attend them, you experience them.

That is why it is pretty hard to describe TEDxWarsaw 2013 highlights. I will try to list my own, though.

2013-03-29_1122

I got thrilled by Jonathan MacDonald on inclination for understanding everything, which in the end makes us unhappy due to the amount of knowledge to gain rising exponentially.

Jonathan assured myself that it is sometimes OK to say stop to my mind pleading for more details and just experience the thing, even without predictability.

Zofia Borkowska asked a fantastic question after encouraging the audience to sing “Brother John” together – What was that refrained you from singing aloud? What was the thought that came to you after opening the mouth but before starting singing…?

Not being a religious person I got very positively surprised by Małgorzata Chmielewska (standing ovation!). For me, her presentation was not only about “Patching up reality”, but about the power of doing rather than planning.

Aga Szóstek, apart from showing an amazing example of user-centered design, taught me the importance of iterating the prototypes.

Mikela Eskenazi got me scared with a vision of everything mobile and online, but fortunatelly only until afterparty when we exchanged our thoughts 🙂

Cezary Wójcik on Poland – a must see for everyone in here as soon as the talks are online. I loved both the drawing on how we block ourselves from growing and the story about the camels.

Kristin Pedemonti – I cannot describe her phenomenom in words. HUG!

-Paweł

My Talk @ GeeCON 2012

Tomorrow I am giving a talk “Visibility Shift In Distributed Teams” on GeeCON conference in Poznań.

Presentation abstract

Slides

If you are one of the geeks attending this great Java conference, join me in Room 8 at 11:30 to learn how working remotely looks like and what happens when an agile team gets distributed.

See you there!

Devoxx 2011 Quotes

A bunch of highlights from Devoxx this year that I would like to present here cannot be opened in any other way than this one:

“Don’t go to the conferences”
      – Martijn Verburg aka Diabolical Developer

The best way to improve your skills is through endless practice. For a programmer, working on code should be the main way to get better in his craft. So, make sure you learn at work, not only at conferences.

“Stop sleeping, start awaiting!” – Johan Haleby

Awaitility library demonstrated by Johan solves one problem with writing tests for asynchronous components and does it in a very elegant way. An example of friendly DSL that allows you to wait for an operation or condition instead of using Thread.sleep() looks like this:

await().atMost(5, SECONDS).until(costumerStatusIsUpdated());

“Have you ever bought bottled water?” – Brian LeRoux

The shortest answer ever for a question on how making money from open-source is possible.

“Think in flows, not features” – Joe Nuxoll on UI design

Cannot agree more. Even though this means taking much harder route than just designing screens, it is worth it.

“We need to start at early stage” – Trisha Gee on women in IT

I am not sure about the exact wording – what counts here is that increasing number of women in IT is not about changing hiring policies at companies (there simply not a lot female programmers around now). Good question to ask is why majority of school age girls do not even consider Computer Science as their possible career path (image issue?). More on Trisha’s blog

Pawel

JAXLondon – Lessons Learned

Last week I have attended the JAX conference in London. Here is a couple of highlights that attracted my attention enough to write them down.

Product Backlog

Roman Pichler about the Product Backlog:

Low-priority backlog entries should be much less detailed than those on top.

When (and if) their time comes, they will be probably split into smaller stories. This also shows that the backlog is something designed to be often changed (and reviewed!).

Why do you need to allocate time for gathering requirements/design/architecture work every iteration?

Think about the Waterfall approach and all the work done in the initial project phase, before coding. When following Scrum methodology this work still remains. The only difference is that it is now scattered among the iterations.

Guess the number

Jason Gorman came up with a great exercise during his Keynote. 2 teams were trying to guess the 4-digit number, taking turns.

? ? ? ?

One team was made to guess the whole number up front, while another one were free to guess it digit by digit.

Now, Dear Reader, guess who was able to figure out the number faster and which team represents the Waterfall and which one is Scrum 😉

Jason also pointed out that when building a software solution “how fast we learn is actually more important than how fast we deliver”.

Measuring effects of TDD

In the introduction to his talk, Keith Braithwaite showed a correlation of Cyclomatic Complexity values against the probability of faults being found, which I find really useful to convince myself to think twice before adding another “if” into code. And, yeah, at some point the probability reaches 100% 😉

Keith’s analysis of Cyclomatic Complexity distribution in various open-source projects proved that in the tested code one can observe higher preference for less complex methods, though there still remain parts of code of high complexity.

What is more, a nicely TD-Designed project’s code needs somehow express the same behaviour as the codebase with lots of “if” statements. How is this richness achieved? Well, maybe we trade off here more interactions (and greater coupling!) for less “ifs”.

We are all lazy

Last but not least, I found one explanation on why writing tests leads to shorter methods really interesting. Long methods may not be hard to write, but they make testing difficult. Big tests are hard to write indeed. So, when it comes to writing (long) test cases, your laziness forces you to… refactor for smaller methods, cause this will simplify testing!

The best presentation I have attended on the second day was Thinking Distributed to Improve Agility by Jamie Allsop, but… that is another story.

Agile Central Europe 2011 Impressions

Last week I had a pleasure of attending the Agile Central Europe 2011 conference and presenting my talk about working remotely there.

I felt that this conference would be special from the moment I received an invitation to join the open discussion on the way the event should be organized. What a fantastic idea!

The speakers, presentations and the way that the whole ACE! 2011 was organized were more than awesome. Here are the talks I liked most.

Paweł Brodziński – “Kanban: Improvements when you don’t look for them”

The presentation agenda displayed on a Kanban board served as a sort of an introduction (happening in the background) for those not familiar with the Kanban approach (including me). This way Paweł allowed himself more time to go beyond just the basics.

I especially liked the way Kanban shortens the feature lifecycle. Working in 2-week Scrum iterations I sometimes feel that there are too many various features being developed at the same time. Kanban helps to tackle this problem with it’s “Limit Work In Progress” approach.

Andrea Provaglio – Overcoming Self-organization Blocks

Probably the most psychological presentation at ACE! I really enjoyed the demonstration of rowing against the tide as well as the exercises led by Andrea during the Open Space.

By the way Andrea’s Open Space session showed one of the Open Space Principles in action. The session was so popular that the whole group decided to move to another room in order to have more space.Whatever happens is the only thing that could have.”

Marc Löffler – Kaboom – Blow up your watermelon

Marc‘s presentation was both entertaining and enlightening. The watermelon is indeed a perfect metaphor of what  happens pretty often in our industry when it comes to reporting to the management. What is red inside looks more like green when it reaches the top executives.

Closing Keynote – Jurgen Appelo

Both the insight and the way Jurgen presented the content were awesome. He definitely set a new standard for closing keynotes by quoting every single conference speaker in his talk.

I must admit I was impressed with how great this event was. Congratulations to Paul Klipp and all people involved in organizing the ACE! 2011 conference.

-Paweł

PS I am still thinking about the name for the software development method described by Maria Diaconu and Alexandru Bolboacă in their talk “Yes, You Can Deploy Every Two Days!”.