Archive for Software

Scaling Agile teams and processes. My journey distilled in less than 1000 words.

Like many of you reading this post I have struggled to understand how to scale from a single team practicing Scrum in 2009 (initially by the book, later after various productions releases and production support we moved into ScrumBan in 2010 and 2011) to multiple teams and from a product to a line of products in the last years.

Over the years I have read a lot in this area and also experimented on my own skin various approaches.
Scrum of Scrums was for a while a great next step to scale the teams.

Scott Ambler, probably one of the best software methodologists in the industry, published a great book to describe a methodology for scaling Agile called Disciplined Agile Delivery (DAD) that despite the somehow discouraging title 🙂 was for me a great reading.  Have a look here: Disciplined Agile Delivery
I am very honest: plan your journey into understanding the agile delivery in enterprises with this book above. Especially if you have some roots into Unified Process like it was in my case.

Now after I tried some of the practices and we even had some experiments in the company where we played with things like Inception in DAD and its lightweight envisioning , Agile Modelling, Agile Architecture … I realised that this is actually a RUP process with a flavour of agile(lightweight, short feedback loops, travel light, etc). Not that this was bad , not at all because RUP had its merit in a lot of companies over the years but I did not feel DAD is mature enough and supported enough for the expectation of an enterprise and for my context so I decided to try something else.

So I stopped at Scaled Agile Framework (SAFe) and from the first day I felt that this is what I need. I did not started “by the book”, actually I did somehow the opposite: in the beginning I only introduced small SAFe elements into my current processes and it was immediately clear that this is the way forward.
These elements I initially introduced were:
– PI planning
– common and clear goals
– scrum of scrums
– feature teams (well, cross-functional in my case )
– the system team
– release train
– continuous delivery
– a release train engineer, in the beginning we had a developer taking parts of this role by rotation 🙂
I started small applying these only in my teams (about 30 people and 3 products in that time) not in the whole company but elements like predictability of the releases, risk management, less waste, clear identification of the sources of waste , better productivity and increase in the moral of the team members by offering visibility and transparency were good arguments to prove to upper management that this is the way for the whole company.

I was very happy when Alex Yakima, a SAF Fellow, published his book “The Rollout: A Novel about Leadership and Building a Lean-Agile Enterprise with SAFe” because I found myself in this book and gave me another chance to evaluate where we are in this transformation and how important is to look all the time for opportunities to learn and to improve.  

Actually reading both Alex’s book and the reference guide for SAFe proves to be a very good combination.


BTW, I am happy to tell you that we are now into this SAFe journey with the whole company. This time “by the book”.  And the signs are very encouraging.
We are not on this journey  because I took the risk to start it a while ago, not at all but for sure the lessons we learned those years proved useful now when we make it right and global.

My journey into scaling Agile is somehow a never-ending Inspect and Adapt, only possible because I have great teams, real friends and co workers that believe in “make it run first”.
I guess you all remember that XP principle of “Make it run, Make It Right, Make it Fast” that influenced a lot how the new generations of programmers started to develop products. “Extreme Programming Explained”  by Kent Beck was published more than 10 years ago but will continue to be a great book  and a source of wisdom for any new programmer.

Along the way I also met detractors and philosophers both in online and in person. In your journey you will meet them as well . When you will meet them pls remember that talks are cheap… but deeds are precious.

Like many other journeys  the journey of scaling agility is not an easy one: enterprises are complex, production systems needs to be up and running, customers needs to be delighted, and your role as a leader is to create great teams so they can create great products.
Scaling Agile in the end is not the final purpose but just a way to establish a flow of value for customers and how to achieve that value.

*The views in this post are personal and do not represent the views of any organisation or employer


Leave a Comment

Patterns of effective teams

“Some teams are orders of magnitude more effective than others, turning around business solutions in days or even hours. Their secret is a combination of smart technology choices, great development habits and a powerful team dynamic.”

Leave a Comment

The “management team” & Steve Jobs

The “management team” isn’t the “decision making” team.
It’s a support function. You may want to call them administration instead of management, which will keep them from getting too big for their britches.

The saddest thing about the Steve Jobs hagiography is all the young “incubator twerps” strutting around Mountain View deliberately cultivating their worst personality traits because they imagine that’s what made Steve Jobs a design genius. Cum hoc ergo propter hoc, young twerp. Maybe try wearing a black turtleneck too.

Read the whole article here:

Leave a Comment

7 answers about some basic Architectural Concerns

Do I have a performance or a scalability problem?
Is this a scalability or a reliability issue?
Is this something that I shall be concerned in terms of load, stress or volume ?
Is this a security issues or just a normal behavior ?

Still hear these questions too many times so I want to give some very simple 101/newbie definitions and present them in the form of  user stories.
Ladies and Gentlemen, here comes “the backlog”:
  • As a system, I have a performance issue if I am slow even for a single user
  • As a system, I have a scalability issue if even if I am fast enough for a single user I am slow for multiple users and I am almost die under heavy load
    Scalability tells me how long me as a system I can scale up and scale out in terms of user loads and transactions
  • As a system, I am reliable if I can sustain good response levels over a period of time and under some expected load conditions
  • As a system, I am tested for load by looking at how I am responding to different simulated loads, for instance in series of 10 users, 100 users, 1000 users, … having or not having a ramp up time between requests
  • As a system, I am tested for stress by looking at how stable I am beyond the normal & expected load conditions; someone might even push me to the limits or even kill me
  • As a system, I am tested for volume by looking at how I respond under different volumes of data I need to manage
  • As a system, I am tested for security by looking at how an intruder might compromise my functionality or using me to get into the system that is hosting me or getting access through me to data that are not public

Leave a Comment

Dezvoltatorii de software – niste privilegiati ;)

Fara indoiala suntem niste privilegiati: zi dupa zi vedem tot mai multe oferte de joburi si tot mai putini software professionals disponibili pentru noi oportunitati de cariera.
O ocazie excelenta de a alege ce este mai bine pentru personalitatea si pentru visele noastre. In fond suntem diferiti si este un privilegiu sa poti alege o companie care vrea sa valorifice acel element unic din fiecare dintre noi.

Cand am venit la LanguageWeaver acum aproape 4 ani voiam sa facem un centru de offshore development cu 10 oameni, contribuind la succesul colegilor nostri din Los Angeles, USA in dezvoltarea aplicatiilor din zona Automatic Machine Translation.
Desi astazi suntem peste 100 de colegi in Centrul de Excelenta din Cluj-Napoca, nu numarul este acela care ne diferentiaza de altii, ci indraznesc sa spun atitudinea si deschiderea totala spre principii Agile si Lean.

Daca in multe companii Managementul este o frana in calea acestor principii, din contra noi ne dorim colegi dezvoltatori si testeri macar la fel de agili pe cat ne dorim sa fim noi in Management. In fond principiile noastre de management sunt simple: optimizam si masuram permanent procesul de dezvoltare software pentru a implementa cat mai bine principiile Lean, favorizam echipe care se auto-organizeaza, sustinem dezvoltarea fiecarui individ in ceea ce se chiama Generalizing Specialist si cautam sa gasim impreuna acele lucruri care ne motiveaza instrinsec spre un succes comun. La urma urmei si noi suntem Developeri.

Avem inca multe de lucru, si cea mai buna dovada este daca ai putea vorbi cu unii dintre colegii nostri. In fond oamenii dinauntru vorbesc cel mai bine despre o companie: nu bannerele, agresivitatea recruterilor, banii irositi pe reclame sau cadourile de la interviuri.
Dar tocmai pentru ca inca avem multe de facut avem nevoie si de tine. Poate ai idei si solutii, suntem gata sa te ascultam si mai mult decat atat sa vedem ca si vrei sa faci daca ti se da ocazia.

Daca ai vrea sa stam de vorba despre un posibil job la noi, sau pur si simplu ai vrea doar sa ne cunoastem si sa tinem legatura, poate sa schimbam impresii care sa ne ajute reciproc, sfaturi si experiente, mi-ar face placere sa te cunosc.
Momentan la noi exista diferite oportunitati in zona C#, Java, Javascript, DevOps/Operations, QA.
In echipele coordonate personal de catre mine (Machine Translation APIs & Science Engineering) sunt oportunitati pe Java, Javascript si QA.

Nu angajam pentru ca ne pleaca colegii in alte companii 🙂 (desi recunosc ca am avut colegi care au plecat in strainatate dar in 4 ani nu am avut nici un coleg Developer care sa fi plecat la alta companie ;)),
ci pentru ca atunci cand inspiri incredere, furnizezi la timp si ceea ce furnizezi nu este “waste” ci “value” se ivesc mereu oportunitati de crestere.

Deasemenea daca esti un Lead sau Manager si ai vrea sa schimbi cu cineva impresii despre lucruri bune si rele in procesul de dezvoltare software, mi-ar face placere sa te cunosc.

E-mail-ul meu este sau
Ma gasesti si pe Twitter la @ionel_condor.

Multumesc pentru rabdarea de a citi acest anunt !

Cu stima,

Leave a Comment

Agile Career Development

I do apologize for not publishing yet the presentation I gave at Jazoon 2012 about Agile Career Development.
Here are the slides.

Leave a Comment

Continuous Delivery with Amazon Web Services – great video by Paul Duvall

If you are interested in Continuous Integration and Continuous Delivery for sure you know Paul Duvall and have read his excellent book, the best book in this area:
Continuous Integration: Improving Software Quality and Reducing Risk

Paul created an excellent Introduction to Continuous Delivery with Amazon Web Services. Highly recommended !

Leave a Comment

Older Posts »