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.

C7CZrecWkAABEbz

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

Advertisements

Leave a Comment

How to install wget on Mac ( OS X El Capitan )

How to install wget on Mac OSX El Capitan? Here is a guide in 33 simple steps for absolute beginners 🙂

  1. cd ~/Downloads
  2. xcode-select –install
  3. mkdir wget
  4. cd wget
  5. curl -o http://ftp.gnu.org/gnu/wget/wget-1.17.tar.gz
  6. curl -O http://ftp.gnu.org/gnu/wget/wget-1.17.tar.gz
  7. wget -zxvf wget-1.17.tar.gz 
  8. tar -zxvf wget-1.17.tar.gz
  9. cd wget-1.17
  10.  ./configure,
    or you would better run
    ./configure –with-ssl=openssl
    the script(s) might failure if you do not have pkg already installed and if that is the case pls continue with the steps below, otherwise move to step 22

    ## pkg install
  11. cd ~/Downloads
  12. mkdir pkg
  13. cd pkg
  14. curl -O http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.tar.gz
  15. tar -zxvf pkg-config-0.29.tar.gz 
  16. cd pkg-config-0.29
  17. ./configure
    the script might failure , if this is the case pls re-run it like in step 18 below
  18. env LDFLAGS=”-framework CoreFoundation -framework Carbon” ./configure –with-internal-glib
  19. sudo make install
    at this step you finished the installation of pkg, so you should retry to configure wget again## retry wget build
  20. cd ~/Downloads/wget/wget-1.17
  21. ./configure –with-ssl=openssl(at this step on some system the ./configure script might notive that you do not have the env variable PKG_CONFIG_PATH set; if that is the case pls run this first:
    export PKG_CONFIG_PATH=/usr/lib/pkgconfig
    and now you can repeat the step 21
  22. make
    at this step there are high chances that your build will fail because the complier cannot find the header files of openssl, if that is the case pls continue with the lines below, otherwise just go to step 32

    ## openssl download and make it visibile to wget compiler
  23. cd ~/Downloads/
  24. mkdir openssl
  25. cd openssl/
  26. curl -O https://opensource.apple.com/source/OpenSSL098/OpenSSL098-59/openssl-0.9.8zg.tar.gz
  27. tar -zxvf openssl-0.9.8zg.tar.gz
    at this step in the folder openssl-0.9.8zg you will have the source code of openssl, so we need a way to expose the location of the header files (.h) to the process that will compile wget; one way to do this is to create a symlink  like below
  28. ln -s ~/Downloads/openssl/openssl-0.9.8zg/include/openssl/ ~/Downloads/wget/wget-1.17/src
  29. ln -s ~/Downloads/openssl/openssl-0.9.8zg/crypto/ ~/Downloads/wget/wget-1.17/src
    at this step you are finally able to retry the build process for wget
  30. cd ~/Downloads/wget/wget-1.17
  31. make

    ## install wget
  32. sudo make install
  33. wget – -version
    so we just tested everything goes well and you are able to use wget on OS X

Enjoy !

References:
1. http://coolestguidesontheplanet.com/install-and-configure-wget-on-os-x/
2. http://mikebeach.org/2012/09/29/how-to-install-wget-in-mac-os-x/

 

 

Comments (7)

Who makes the decisions in your team?

As a manager it is hard to let go, especially the decision making attribute. But I did notice that when you deal with smart people, sometimes smarter than you, the more decisions you made as a manager, the less engaged others in your team become, and the less ownership they have in the results.

So it is key – when deal with smart people – to trust them, to provide feedback and if they are the closest to the problem to ask them to be the one actually making the decisions after they collect enough opinions (incl advices from you as their manager) and to own those decisions including all the good or bad consequences.

Sure the devil is in the details:
Are we talking about the strategy, about a given tactic, about a daily decision, etc…?
I think it’s it all about the trust you have in the team and trust comes from commitments previously made and delivered.

Glad to see someone wrote an entire book on this aspect (I did not read it yet) and arrived to the same conclusions.
Please find a summary/slideshare of this book here: http://www.slideshare.net/pearpress/the-decisionmaker-dennisbakkeppt

 

 

 

Leave a Comment

If you can’t draw it, you can’t build it!

If you are looking for a simple way to draw a software system starting from the initial “black box” and going down to functional content, interfaces, boundaries …later extend this to modules, various networks of such boxes and ultimately open each box and define the design of it
then 
I suggest you have a look at the following article:

http://www.johngoodpasture.com/2013/12/if-you-cant-draw-it-and-other-system.html

This is a good and simple visual representation of a software architecture. 

Enjoy ! 

 

 

 

Leave a Comment

Bunatatea şi credincioşia să nu te părăsească niciodată!

“Bunatatea şi credincioşia să nu te părăsească niciodată! Leagă-ţi-le la gât, scrie-le pe tăbliţa inimii tale! 
Atunci vei găsi bunăvoinţă şi un bun renume înaintea lui Dumnezeu şi înaintea oamenilor “

Este perioada cea mai buna din an sa ne gandim la bunatate si la darnicie, 
pentru ca ce avem fara sa fi primit de la Dumnezeu? Si pentru ca toate le primim de la El , sa daruim este si o buna ocazie de multumire. 

Daca esti crestin si inca stai pe ganduri daca sa dai sau sa nu dai de acest Craciun, oare dai in locul potrivit, oare merita, oare nu-i prea mult, …, citeste te rog poezia de mai jos:

Drag prieten care canti vesel in credinta,
Fii prieten cu Isus si la suferinta!
Daca-n ceasul de temut vrei sa fii la dreapta,
Cand Isus da iar tribut, mangaie-L cu fapta.

Da-I acum din painea ta foamea sa-Si destrame,
Caci in cer, in veci de veci, nu-I va mai fi foame!
Da-I acum sa bea din vas cand e ars ca vrejul,
Caci, in veci de veci, in cer nu mai ai prilejul.

Da-I acuma haina ta cat ii rupt vesmantul,
Caci in cer nu-I va fi frig, nu-L va bate vantul!
Da-I acum cand e bolnav, grija-nduiosata,
Caci bolnav nu va mai fi Domnul niciodata!

Ia-L in casa ta acum sa-L aline somnul,
Azi e un sarac in drum, maine va fi Domnul!
Azi Isus e-n mii de frati, azi iti vrea El fapta;
Maine toti vom fi chemati; tu vei fi la dreapta?

Si un glas peste genuni va striga spre stele:
“Il cunosc…si din ani buni si din zile grele!”
Iata, anii trec, s-au dus. Zilele-s ca spuma,
Fii prieten cu Isus, nu uita: acuma!

Leave a Comment

21 signs of BAD MANAGERS I met in my career as a software manager

21 signs of BAD MANAGERS I met in my career as a software manager

  1. Bias against action or against planning, simply waiting or postponing for ever; embrace the status-quo
  2. Secrecy, not willing to share information. giving the feeling that having access to information is a privilege reserved to managers
  3. Working very long hours to prove hard work or hide incompetence
  4. Over-sensitivity, someone that reacts immediately but the reaction is not a real response but mostly an emotional fact
  5. Brain washed by procedures and processes; favor a process instead of getting things done
  6. Expect the people to read they minds; hand in hand with secrecy –  i keep the info for me and then blame people for not acting
  7. Preference for weak employees or candidates, feeling threatened by the super-competent employees or candidates
  8. Focus on small tasks, missing the big picture and favoring details  on a specific task where he is competent
  9. Inability to hire former employees: none of his former colleagues were convinced to join him in his new company or he is simply someone that never mentored anyone or never took time to inspire anyone that can trust him
  10. Not setting  deadlines, the work is done when is done …why bother with time boxed iterations
  11. Favoring consultants instead of growing his staff
  12. Letting his employees feel like an anonym and irrelevant person that does not make any difference if stay or go
  13. Not measuring and not giving feedback based on real metrics and expectations previously communicated and clarified (not on feelings and emotions)
  14. Not telling people what he is expecting from them
  15. Micromanaging
  16. Sneaky boss – someone that is continuously acting or talking behind his employees’ backs so they are never sure where they stand
  17. Managing his boss more than growing his staff , and this is sometimes ok, but in general only to protect his staff or the company from bad decisions coming from superior management
  18. Divide and Conquer – strong believer in internal competition more than in the internal collaboration
  19. Ignoring non-performers – usually we are tempted to build on strengths and recognize top performers, but at the end “A chain is only as strong as its weakest link”
  20. Stealing credit – if we win I will stick my name at the top, if we loose it is definitely because the team is not mature enough or understaffed or ….simply “acted without my knowledge, they need some control”
  21. Not believing that  HIS JOB IS TO BUILD THE TEAM AND THE ORG, AND THE TEAM AND THE ORG WILL FIGURE OUT HOW TO BUILD THE PRODUCT !!!
    My product as a development manager is the TEAM (the ORG when applicable).

Yes, I do recognize myself in some of these points … and I am working on some of them. Stay tuned !

Leave a Comment

Great management advice

“It’s extremely important to move responsibility very low in the organization. Your goal is not to be working on a project where you can’t sleep at night. Your goal isn’t to have it so that the project leads can’t sleep at night.
Your goal is so that NOBODY sleeps at night. And when nobody is sleeping at night, you have pushed responsibility to the proper level.” 

Chris Peters, Microsoft veteran , ex VP of MS Office

 

Leave a Comment

Older Posts »