Tuesday, 30 July 2019

Tactics for maintaining quality under pressure

7 tactics to maintain quality under pressure

Yesterday, I had great time joining some of my friends at Endava and their guests for the presentation of “Tactics for maintaining quality under pressure” by Eoin Woods (CTO at Endava).
Liked Eion’s straightforward style and fast-speed-talk. The presented tactics are somewhat common-sense, and at the same time critical for successful delivery, so I decided to drop my 2 cents on each of those.

1. Understand the context
Context is the king... I would stress on understanding the business value and the underlying business needs and pain-points behind the technical requirements. Those needs could probably be satisfied in innovative and creative way, and in order to inspire those we need to present to the techies why do we have such requirements and what in the end we try to achieve ...and again: WHY?

2. Make implications clear
Any workarounds and cutting-edges approach costs should be clearly communicated. If in the future we need to refactor or even redesign and redevelop entirely services just because of today’s decisions – those should be clearly explained and agreed on with the product folks on client’s side. Those are even worse if the consequences are on architecture’s side.

3. Track and cost technical debt
Another great tactic… with my teams we regularly follow. Putting the technical debt as backlog items and roughly estimating them helps us backing up decisions to force any of the most critical items, prioritized and tackled in future iterations.

4. Make quality visible
Another important one. I would say even critical for iteration review. Visibility over functional and performance tests increases trust and shows everybody that quality matters!

5. Simplify
Simplicity is a favorite principle of mine. Less complexity often leads to better quality and maintainability. 

6. Automate everything
Another obvious one; I would only disagree that it depends on the project size and context. Sometimes the overhead could be too much, trying to automate everything possible. Also, we should not forget automation requires maintenance too. Do we want to spend a lot of our team’s time and effort in maintaining automation? Balance is the key.

7. Enforce valuable process, discard the rest
Processes, just for the sake of doing them, should be discarded. Nevertheless, I work mostly on creating and inspiring the healthy culture of delivery, respect and learning within everybody in the company. As we all are aware – 'healthy culture will handle broken processes'. Yes, it is more difficult and time-consuming to influence and change the company's culture, but in the end it’s more beneficial for everyone too.

--
Kudos to Eion for inspiring my thoughts on the topic.

Wednesday, 29 May 2019

The messy spaghetti challenge

Recently I’ve been involved into training enthusiasts, forming teams for one of the largest fin-tech companies in Sofia. The training involved iterative prototyping learning, and I prepared the usual – ‘marshmallow challenge, spaghetti tower’… Starting explaining the rules, the folks looked at me without a slight excitement in the eyes and murmured ‘no… not another tower - we will have to beat the record now’. It turned out – they have already played the game a couple of times.

It shouldn’t have been surprising to me, and I was like ‘Alright, let’s do something better then…’ – I was looking desperately around and thinking fast - what else they could possibly be able to build with 60 spaghetti sticks, some tape and string, and be challenged and excited… - ‘…You are going to build a bridge… and a big one … it needs to connect the two teams’ tables, and hold some weight to prove it is durable… Have you done this before?’ … They haven’t… and it was challenging as well (the distance was about a meter or so). I was used to experimenting in building spaghetti bridges in other training sessions, but never such a big one.

The guys were up to the challenge. Some of them started planning, only to find out their plans won’t work; others started experimenting fast… In the end all of them decided they will fail with the weights test if not invoking some magical force to hold the bridge tight in the middle. And the miracle of dropped ceiling installment came in handy, only to be used to hold the magical force :)

Enjoy the experience and the final result with the photos below. Well done everyone!

Agile training by Simeon Kisyov in Sofia, Bulgaria

Agile training by Simeon Kisyov in Sofia, Bulgaria

Agile training by Simeon Kisyov in Sofia, Bulgaria

Agile training by Simeon Kisyov in Sofia, Bulgaria

Monday, 28 January 2019

Agile trainings and coaching @EPAM Czech Republic

Agile trainings and coaching @EPAM Czech Republic


Prague, ‘the City of 100 Spires’. I and Bogi were invited to deliver Agile related trainings and coaching for EPAM Czech Republic. ‘Agile thinking’, ‘Self-organizing teams’ and ‘Product Owner basics’ trainings, along with coaching on different topics were requested. Unfortunately, our stay in Prague clashed with the coldest Jan days and the freezing wind, impeding any tourist-wanna-be attempts. Nevertheless, the experience with the Czech Agile enthusiasts was great enough to compensate for the impolite weather.

Agile trainings and coaching @EPAM Czech Republic by Simeon Kisyov(photos courtesy of EPAM)

Agile thinking

Our opening show was ‘Agile thinking’ delivered in two consecutive days. It covers all the stuff needed to adopt the mindset, the values and the principles. We went through all the advantages of being adaptable, nimble and improvements hungry. Covered the difference between vision and goal. Experienced setting a goal, understanding the context and delivering in iterations to get continuous feedback as soon as possible. In the end we briefly covered Scrum and the incorrect implementation when the thinking & beliefs (mindset and values) are missing or not adopted

Agile trainings and coaching @EPAM Czech Republic by Simeon Kisyov


Self-organizing teams

Designed as a half-a-day experience we let the audience self-organize and self-manage ‘in order to save the Earth’. It was a brilliant-gamified event in which the participants went through different stages, experiencing the depth and dynamics of self-organization, and created efficient and performing team(s). The journey, I am certain, none of the participants will ever forget - the common goal, the consistent endeavor, the stages, the challenges, the learning and the overall performance. The audience was mesmerized and totally engaged from the first minute until the very end.

Agile trainings and coaching @EPAM Czech Republic by Simeon Kisyov


Product Owner basics

It was the cherry on the cake. We concluded our ‘trainings sprint’, delivering for the current and future ‘business folks’, who would like to challenge themselves and become great product owners. Covering the role, the mindset, and the skill set, the participants took part in consistent gamified events, and practiced ‘gathering info from the stakeholders’, ‘creating artifacts’, ‘presenting to and refining the backlog items with the development team,’ and ‘reviewing the completed/incomplete work over a comprehensive review with multiple scenarios’.

During our visit, we were dragged into interesting conversations and coached the fellow colleagues into topics like ‘advanced Scrum-mastering’, ‘how to adopt Agile with Waterfall mindset clients’, ‘what is the role of the manager in Agile environment’, etc…

Exhausted, and happy we landed at SOF airport at the last day of our trip, recalling the amazing moments and feeling grateful for the whole experience. Thank you EPAM Prague!

Monday, 31 December 2018

'Agile thinking' training

It's been an amazing year. Myself and Bogi prepared, polished and delivered a great number of talks, trainings and events @EPAM. We ran sessions on Agile, Scrum, Public speaking, Creative thinking, Soft skills and more. Over December we ran a couple of sessions of the revamped 'Agile thinking' training. A group of young and motivated enthusiasts practiced their skills and learned about: setting up vision & goals, understanding the context, delivering in iterations, getting feedback, teams collaboration, reducing waste, kaizen, and Scrum. It was great, we had a lot of fun and enjoyed every minute of talking and doing with the awesome trainees.

Let me share the experience and spirit, using a couple of photos (courtesy of EPAM Bulgaria)


'Agile thinking' training @EPAM, by Simo & Bogi

'Agile thinking' training @EPAM, by Simo & Bogi

'Agile thinking' training @EPAM, by Simo & Bogi

'Agile thinking' training @EPAM, by Simo & Bogi

'Agile thinking' training @EPAM, by Simo & Bogi

'Agile thinking' training @EPAM, by Simo & Bogi
'Agile thinking' training @EPAM, by Simo & Bogi
'Agile thinking' training @EPAM, by Simo & Bogi

Thursday, 27 September 2018

Boxing - Scrum analogy

Box - Scrum analogy, analyzing Joshua - Povetkin fight

On 22 Sep Anthony Joshua (AJ) had to defend his heavyweight champion titles against Alexander Povetkin. I decided to watch the fight, and analyze it from Agile mindset and Scrum perspective, and the crazy analogy follows:

Pre-fight / Release planning
Joshua have planned to defend his titles and advance his career by defeating Povetkin. He adjusted the training by prolonging his sleep time, scrapped the early-morning runs and started doing coordination exercises (eyes and movement). The other side of his training was focusing on heavy sparring sessions, he did over 200 rounds in eight weeks.

Povetkin has also planned for victory. Together with his team he planned a couple of training camps. A released video footage captured him hitting the punch-bag barehanded and doing pull-ups in a sturdy and decisive manner.

Round one / Sprint one
Back to the fight, Joshua started cautiously, pacing himself and was more on the defensive to probe and study the opponent’s strategy.

Povetkin’s goal for the round was different. He started strong, trying to get into close fights as much as he could and by the end of the round managed to catch Joshua with a great uppercut-hook combo, shaking his opponent backwards with a bleeding nose.

The sprint one goal was achieved by Povetkin, while Joshua left the round damaged.

Round two / Sprint two
Joshua seemed uncomfortable starting round 2. His opponent proved dangerous and managed to hurt him. Joshua was up to a stabilization and not letting the opponent do more damage.

Povetkin, encouraged by the sight of his hurt opponent, was going forward with explosive attacks, looking to do more damage and finish the job.

Although Povetkin won the score in round two, his sprint goal failed, as he didn’t manage to establish significant supremacy and deliver more punishment. On the other side, Joshua managed to stabilize and adequately defended himself.

Round three / Sprint three
There was a slow but confident start by Joshua. He was still more on the defensive but looking to punish every mistake of his opponent. After the mid round/sprint he got more aggressive and attacked with speed and precision.

Povetkin seemed to be discouraged. He tried hard but couldn’t find a way to do more damage and establish leadership. He couldn’t dominate and seemed a little tired, also lost in score.

Joshua sprint’s goal to come back strong and decisive was completed.

Round four / Sprint four
Joshua damaged nose was in control, his speed and movement regained. He managed to inflict a cut over Povetkin’s eye.

Povetkin felt desperate by his initial strategy failing, although he did not give up on going forward and looking for a close fight.

Sprint goal to slowly establish control completed by Joshua.

Round five / Sprint five
Joshua was getting more and more confident, his jab was finding the target’s body more often, and as annoying it could be, it exhausted Povetkin.

Povetkin seemed to try again sneaking in for a close fight, but unsuccessfully.

Joshua’s sprint goal for range dominance achieved.

Round six / Sprint six
Joshua managed to establish the desired tempo. His straight punches find the opponent’s head and body more often.

Povetkin seemed to be out of gas and was just accepting his opponent’s rhythm and style, which was devastating for his game plan. His guard was down more often.

Sprint goal completed for Joshua leading the tempo and the rhythm.

Round seven / Sprint seven + demo
Joshua started strong, attacking and probing his opponent for closure. At the middle of the round/sprint his cross found Povetkin’s chin. The Russian has been staggered and with a quick combo Joshua put him down.

Povetkin was slow and exhausted by Joshua’s never-ending precise jabs. His guard slipped and a heavy cross got him staggered. And… it was just a matter of seconds for him to go down for good and lose.

Sprint and release goal completed successfully by Joshua.

Post-fight / Review and Retrospective
Joshua’s demonstrated his cheerful and relaxing attitude over the press-conference. Confident, humble, respectful and grateful to his team effort. He shared lessons learned and retrospected on his boxing journey so far. Joshua revealed his ambitions and plans of becoming a boxing legend.

Povetkin was devastated by the lost but remained humble and respectful to the opponent.

--
And just like in software development, the more sprint goals achieved the more of the ‘big picture’ is completed successfully. In this fight it was AJ who managed to inspect and adapt, after a slow and cautious start and achieve the ultimate victory.