We normally post about community training and presentations that Kaleidocode is hosting or supporting. But a lot of knowledge sharing happens behind the scenes inside Kaleidocode as well. So, it being the season for sharing, we thought we would peel back the veil and let you know a little about what learning and knowledge sharing happens between Kaleidocoders.
As you may suspect a lot of knowledge sharing happens within the company, and one of those initiatives is our monthly knowledge sharing sessions. This year we expanded these monthly events to incorporate everybody in the company. Whether technical or business, developer or finance we invited everyone to come, listen, present and share on areas they are passionate about. This has been very successful and attendance has been phenomenal!
So how do we go about it? Well, everyone is invited to suggest topics, offer to present topics and to vote on which topics resonate the most. Then folks attend the sessions that appeal to them and come prepared with their thoughts and opinions.
As you can imagine that has lead to a wide variety of subjects and formats of sharing throughout the year. But here are a few that stood out and made us all think and learn:
1. Running better projects (how do we improve how we run our projects?).
In this early 2019 session we uncovered elements like risk mitigation, improved client communications, and showing visual project progress earlier and more often.
2. More effective Scrums & Sprint Planning sessions (how can we improve and make them more effective?).
This sharing session focused on Story Points, Design Sprints and how we run Retros. It was such an awesome session, that included so many ideas that we ran out of time and had to make our next session a Part 2 ….
3. More effective Scrums & Sprint Planning sessions Part 2.
In this follow up to the first efficacy session we focused on Scrum in general. This was a big topic for everyone in the room! Lots of discussion, sharing and debate around issues we have with scrum and what ideas we had to improve it.
4. Mid-year Retrospective.
We held a general session that reflected on all the topics we had shared on thus far in 2019. We wanted to promote the most important learnings, whilst also introducing these concepts to staff who had missed some of the sessions. We decided that this meeting would be facilitated in a unique and fresh way. We used a format called the “Fishbowl”. It turned out to be very popular, and really got people talking and sharing. The Fishbowl activity is great for keeping a focused conversation, while having a large group of people. At any time, only a few people have a conversation (the fish in the fishbowl). The remaining people are listeners (the ones watching the fishbowl). The caveat is that the listeners can join the discussion at any moment. Lots of fun.
5. What is an Agile Consultant?
The Fishbowl method was used again for this session. We discussed what it means to be a consultant, and whether or not we are leaning hard enough into being agile. This spawned many conversations about what it means to be truly agile. This took us back to the original agile manifesto with particular focus on the core 4 values and 12 principles of agile.
6. What is the purpose of UAT?
This was a robust team discussion on user acceptance testing, what it is, why we do it, and as always …how we could be more agile and effective in how we approach it. We covered live events, handovers, tester/user sessions and so much more. Who knew how heated we could get on one topic.
7. Changing the mindset of Agile Teams.
Agile is not about practicing Scrum, XP or Kanban. It is a mindset that one needs to cultivate. Agile can so easily become theoretical, a series of steps. This session challenged us to revisit why we need to think openly, focus on continuous improvement and remain aware of reflecting on how we have performed and how we can remove waste from our processes.
8. Story Points.
As much as estimation can be a thorny issues, agile estimation is a core part of measuring our traction. Drawing off excellent resources such as Matt Cohn's agile estimation thesis, we got to the core of how we measure complexity, what are story points, and what is their purpose in terms of driving team communication and functional decomposition. Not an easy session, but certainly thought provoking and likely to be revisited.
Suffice it to say monthly company wide knowledge sharing sessions have become a popular vehicle for safely sharing and learning for everyone in the company in 2019. We are excited about what 2020 will bring in this space. More sharing and more learning? Definitely!
Kaleidocoders dressed up in their finery to celebrate 2019 and to bestow awards on their peers, then formalities over, they entered into the spirit of the day with gusto! A fantastic day was had by all, a big thank you to this year’s Social committee who pulled off yet another wonderful event!
The venue was quintessentially Durban taking in views of the harbour. Part of the festivities required some fancy footwork allowing folks to display their hidden talents in a lip sync battle team. We really appreciate our teams and their spirit of getting involved!
Thank you Durban! What a great Instruct event well supported by the local community this week. Software Architect and speaker, Chris Tite, delivered a challenging expose of his journey into applying agile techniques to mentoring employees at Kaleidocode's training centre on November, 20th 2019.
As Chris explains it, we manage the outcome of our software projects using Agile principles and techniques like time boxed cycles, shorter feedback cycles and small defined outcomes… so why don’t we apply these techniques to staff growth?
Staff grow at different rates, they have unique needs and differing circumstances, so why do we impose a one-size-fits-all approach to staff development? Furthermore, why do we subject our teams to a sterile and delayed feedback KPO / KPI approach in the tech industry, an industry that is growing and experiencing rapid change?
These are all questions that puzzled him.
Five years ago Chris started mentoring team members using an agile approach which was refined over time and with each iteration, it is now an accepted and valued practice on all my teams. This is his story.
During his talk he unpacked:
He shared his thoughts on a fresh approach to mentoring team members which ultimately results in;
The catering was top notch and the attendees had a fantastic time.
The popular Lets Test conference is being held this year in Cape Town. There is an amazing line up of local and international speakers this year; covering tools, workshops, and straight presentations. The keynote is being delivered by Leo Hepis on "Its context-driven, not cult driven testing" which is going to be an explosive start to the event.
If you are not familiar with Lets Test, here is a short description about what makes the conference tick, straight from the organisers mouth:
"When we say ”for testers, by testers” we mean that our main goal for these conferences is to make them a valuable experience for all participants, not to maximize profit. We are ourselves part of a team made up of serious, passionate and professional testers that back in 2011 decided that it was time to set up a context-driven testing conference in Europe. Since the inaugural Let’s Test conference in 2012, some team members have left and others have been added, and the conference has expanded to been organized in Australia as well as in Europe, and South Africa. We’re happy to see the Let’s Test family grow, but regardless of where you visit a Let’s Test conference, you can be sure that we’ll never compromise on the “for testers, by testers” principle."
Our own director, Chris Tite will be attending the 2019 SA edition, fresh off hosting this week's Instruct event, sharing on agile people development. Chris is being joined by Charne Dall our resident test guru and Nathan Van Wyk our test lead from our sister skills company Pivot.
The event runs from Sunday, 24th to 26th November. See the full program here. If you are in Cape Town then drop by and catch up with us there.
We are delighted to host the 10th anniversary of the Global day of coderetreat at our offices in Durban on the 16th November 2019. Meetup details can be found here.
Coderetreat is a day-long, intensive practice event, focusing on the fundamentals of software development and design. By providing developers the opportunity to take part in focused practice, away from the pressures of 'getting things done', the coderetreat format has proven itself to be a highly effective means of skill improvement. Practicing the basic principles of modular and object-oriented design, developers can improve their ability to write code that minimizes the cost of change over time. Learn more about coderetreat on the official website.
!We are representing South Africa in the Durban region, and have opened invitations to all how want to learn how to improve their skills. We are grateful to have Brendon Page hanging out with to help facilitate the day along with Kaleidocoders, Divan Visagie and Steven Dall. Currently we have 26 folks booked to come join in the day, which is a fantastic turnout - well done Durban.
The problem being solved will be Conway's game of life, an old favourite of coderetreats that challenges newcomers and returning attendees alike. To get a sense of the problem take a look as John Conway gives an overview below:
If you have ever considered attending a coderetreat or perhaps just want to know if its something that you would get value from attending then take some time to read Michal Gutman's article which describes what to expect and what you could learn brilliantly. Happy reading.
Kaleidocode is delighted to host the Durban Agile and Developer User Group for a Distributed Systems Architecture afternoon on Friday, September 13, 2019 2:00 PM to 4:30 PM.
We have been presented with the opportunity to host some incredible international speakers at the User Group meetup. They have spoken at conferences such as NCD Oslo, NDC Syndey, O'Reilly Software Architecture Conference London, Explore DDD and many other world-class events. They are in Durban for a few days and have kindly offered up their afternoon to share their experiences with us.
We will be having an afternoon focused on Distributed System Architecture comprising of a talk on the topic by Szymon Pobiega, followed by a panel discussion with Bob Langley, Daniel Marbach, Hadi Eskandari, Mike Minutillo, Szymon Pobiega and William Brander.
Talk: Messages on the Outside, Messages on the Inside
by Szymon Pobiega
In the classic paper Data on the Outside versus Data on the Inside, Pat Helland argued that data within a service boundary should be treated differently than data residing outside of it.
Here, I shall argue that the same applies to messages. Inside a service boundary, messages are tightly coupled to the corresponding data manipulations. Sometimes it is even possible to enforce total order of messages.
The moment the message crosses the service boundary, it enters the no man's land where bad things happen. Messages get reordered, duplicated or even lost.
Join me in this talk to learn about some patterns you can use to get your messages safely to the other side.
Panel Discussion on Distributed Architectures
Details of the panelists:
Bob Langley is a Solutions Architect with Particular Software. An experienced developer of distributed systems using messaging and Azure, he now uses his knowledge for good to help others. When he isn't helping customers he can usually be found gaming with his friends and family.
Daniel Marbach has suffered through Azure Service Bus, Azure Storage Queues, AWS SQS, and many more queueing technologies. When he is not aching from messaging and distributed systems, he likes to induce more pain to himself by deep diving into asynchronous programming with C# and .NET/Core.
Hadi Eskandari is a polyglot programmer, open-source contributor, speaker, blogger, and one of the top 3% StackOverflow users contributing to C# and .NET. He even implemented the first version of the Persian Calendar on .NET before Microsoft did. When not programming or helping other developers, he's either playing his Flamenco guitar or trying to capture the moment with his mirrorless camera. http://www.seesharpsoftware.com.au/blog Twitter: @hadi_es
Mike Minutillo has been developing and monitoring complex systems, human and software, for two decades. When he's not rearranging 1's on an endless field of 0's, you'll find him behind the nearest GM screen running a tabletop role-playing game.
Szymon Pobiega used to work on various business software for almost a decade. Of all the ideas and patterns he learned along the way, messaging had the most profound impact. He built his first microservice system with MSMQ and NServiceBus 1.9 some 9 years ago and this was a life-changing experience. Szymon is focused, in Particular (pun intended), on message routing patterns and handling of failures. Besides that, he enjoys building remotely controlled vehicles with Lego.
When not behind his laptop hacking away, this amateur beer enthusiast can often be found playing board games or drinking cold-brew coffee.
Kaleidocode's Chris Tite is speaking at SUGSA 2019 on 'Mentoring and growing stronger teams using agile techniques'.
He will be covering elements like; motivations for mentoring, the agile mentoring process, mentoring patterns and anti-patterns.
Chris is a software architect with 20 years experience. He is passionate about quality software and great architecture, while forging the growth of this generation of software developers.
SUGSA this year is being held from October 17-18, 2019 in Cape Town, South Africa. Find out more here to register and attend.
The regional scrum gathering is happening on October 17-18, 2019 in Cape Town, South Africa this year. There is an exciting line up of speakers, the theme is Nurturing Curiousity. Consider getting down there, last year's event was great with tonnes of collaboration and opportunity to meet folks doing amazing work.
Skylar Watson shared ideas on outcomes metrics leading to valuable practices. Skylar framed output of an agile team in terms of the outcomes that the business desires. Practices lead to outputs and finally to outcomes. By thinking first about what the business value in the form of desired outcomes are, one can distill the outputs and ultimately the practices that are correlated.
Kaleidocoders enjoying some downtime between sessions.
This session was recorded at Instruct on 1 August 2018 at Kaleidocode's offices in Durban.
Log files hold a vault of useful information for operations as well as business. Processing your log files could reveal a host of useful information:
Processing application and server log files used to be such a chore. Getting a unified view of all logs required wizard-like skills! But over the past few years simple and easy solutions have emerged. Best of all, they’re free. That’s right, they’re all open source!
Join Chris for a hands-on presentation, where we’ll pull some useful open source Docker containers and set to work making them weave some magic on our log files.
Chris covers some Docker Compose basics to get you started with a simple ELK stack (Elastic Search, Log Stash and Kibana), configure some endpoints and setup log shipping (for Linux and Windows) so that we can process log files.
He will have you processing logs, and then looking at ways to transform and embellish your log data to add IT operational, as well as business value. Using your transformed data, he also covers visualising the data using Kibana.
To close out he will have you considering alternative technologies such as Prometheus and Grafana, and discuss the pros and cons of the different technologies. Mining log files has never been so simple. Watch this session to see how easy it is to get started.
Instruct and Chris Tite are delighted to announce another event providing technical training in Durban to the local community, Mining your Log files with the ELK Stack to be held on 1 August 2018 at Kaleidocode's office in Durban.
Log files hold a vault of useful information for operations as well as business.
Processing your log files could reveal a host of useful information.
Register your place here.
We’ll cover some Docker Compose basics to get you started with a simple ELK stack (Elastic Search, Log Stash and Kibana), configure some endpoints and setup log shipping (for Linux and Windows) so that we can process log files.
Once we’re processing logs, we’ll look at ways to transform and embellish our log data to add IT operational, as well as business value. Using our transformed data, we’ll also cover visualising the data using Kibana.
To close out we’ll also consider alternative technologies such as Prometheus and Grafana, and discuss the pros and cons of the different technologies.
Mining log files has never been so simple. Join me to see how easy it is to get started.
For more information about the presenter, Chris Tite, please visit christite.net. For more information or for additional invitations please contact Lara Sueltz on 031 303 2299.
A Kaleidocode team attended AWS Summit 2018 last week in Cape Town. It was a very well supported event, with delegates from around the country and Africa making it to the convention centre.
There was a broad array of international and local speakers covering best practice and the latest advances on the AWS platform.
Some of the areas that were covered were; Aurora Serverless, EKS for managing Kubernetes on AWS, and AWS Pinpoint for mobile.
There was a large number of breakout sessions that covered Containers, Security, IOT, and Advanced Architecture. One interesting session detailed how to build scalable and resilient applications in the cloud by applying practices such as event driven and server less architectures coupled with database sharding and read write separation.
All in all a valuable and instructive event. Consider getting down to the 2019 edition if you can spare the time, well worth the flight.
The complete talk from 'A developers introduction to Docker' was recorded on 13 June 2018 and uploaded for streaming.
Chris Tite presented the session and covered:
The session was well attended by many different companies from the local Durban area.
This session sets up the foundation for follow on talks to be delivered this year covering the ELK stack and Kubernetes.
Join us for a free coffee and muffin presentation by Chris Tite, entrepreneur, architect and speaker on Getting Started with Docker. The event will be held at Kaleidocode's offices on 13th June at 8.30am in the morning.
Docker is a container technology that is creating a lot of buzz in the industry. Unlike virtual machines, containers do not have the high overhead and hence enable more efficient usage of the underlying system and resources. As a software developer, if you are not playing with Docker and realising the power of containers you need to be. Docker is changing the way we work and the way we develop and architect applications. It is also adds an interesting dimension the way we host applications.
Join Chris as he introduces the basic concepts around Docker.
This talk is a building block for future talks which will cover the ELK Stack and Kubernetes.
Don't miss out! Please register on Eventbrite to secure your place. Seats are limited.
For more information about the presenter, Chris Tite, please visit christite.net.
For more information or for additional invitations please contact Lara Sueltz on 031 303 2299.
To catch up with all past events go to https://www.youtube.com/user/instructchannel
Great turnout for the first Durban Agile User Group (DAUG) meetup of the year.
Sander Staps and Mark Dand shared a presentation on the subject of Agile implementation in an infrastructure environment.
Mark Dand and Sander Staps have gained experience in fast developing IT-organisations. Sander has worked in the banking-industry (The Netherlands) in different IT management-roles, but specialised in cloud. Mark is working as DevOps Manager at SA Home Loans.
They shared their experiences in implementing and applying agile and cloud-technologies in their organisations and gave some excellent lessons from what they have learned.
Kaleidocode hosted the Durban Spring Code Retreat 2017 on 2 September 2017.
Thanks to Brendon Page for facilitating the session, assisted ably by Steven Dall. It was a great event with a number of new folks joining for their first ever code retreat. After the craziness of setting up development environments and getting test runners installed, everyone settled down to tackle various coding challenges, such as Conways Game of Life or Mars Rover.
Some folks had never written a test case (unit test) before and so there was much scratching of heads and warming up to do. The usual complaints of how long TDD takes to write code were heard, but by the end of the session there were some new converts to proper test driven thinking.
Thanks to Chillisoft and Kaleidocode for sponsoring the eats and venue.
Women-In-Tech KZN joined together to raise money for Kerr house, a local shelter for women in crisis. It was an amazing event that was well attended by movers and shakers in the IT industry and made for an interesting and fun morning whilst supporting a needy cause.
Several attendees shared anecdotes on lessons learned and experiences they have had in the career. The founders of WIT KZN also shared on the vision of WIT and what they want to accomplish to support girls and women as they develop their careers in IT.
Kerr House is a place of hope, healing and new beginnings. Kerr House is the Durban Hospice for Women. Kerr House provides a safe haven for abused and destitute women. This shelter for women in crisis was launched in 1951 and is registered as a Non-Profit Organisation under the auspices of the Rectors of St Paul's and Cyprian Anglican parishes. To learn more how to support Kerr House visit the website.
KC Pivot and Kaleidocode are proud to support and sponsor WIT-KZN.
Chillisoft and Kaleidocode are co-hosting a code retreat. Come and join us for a day of fun, practice and learning. Numbers are limited so please follow the instructions below to secure your spot.
RSVP and register here: www.meetup.com/coderetreat/events/242058457/
Unit G1, 35 Intersite Avenue,
Umgeni Business Park, Durban
To secure your seat we require you to pay a R100 deposit within 48 hours of your RSVP. The deposit will be refunded to you at the event. If you've attended a code retreat in the past, please note that our banking details have changed! See below for updated details:
Bank Details for the Deposit:
First National Bank
Acc. Name: Chillisoft Solution Services (Pty) Ltd
Account Number: 6 - 2 - 0 - 7 - 6 - 8 - 8 - 8 - 3 - 7 - 3
Branch No.: 2 - 2 - 1 - 3 - 2 - 5
(excuse the funny spaces between the account and branch numbers)
Please make your "surname, first name" the reference on the payment so we can assign it correctly. (No Sql Injection!)
What you need to bring:
- Laptop (if you have one) with IDE / Programming Language Setup
- Read up on TDD (Test Driven Development)
- An open mind, willingness to learn & share
Whatever you are comfortable in, as long you can't get arrested for public indecency.
Full lunch and snacks will be provided for. If you have specific dietary requirements please email the organizers.
The event should be ending roughly between 4 and 5 PM.
Divan Visagie and Chris Tite shared at the recent Agile User Group session in June, hosted at Kaleidocode.
Divan Visagie discussed the challenges facing all of us when we need to make technology decisions on our projects. We face a constant barrage of new ideas that promise to help us do our job better, but it can be easy to get overwhelmed or even misled by the news cycle. In this video Divan points out some of the traps one may fall into and how to come to less biased conclusions about our technology choices.
Chris Tite shared on refactoring databases in an agile methodology.
Do you have dark places in your database where only the knowledgeable few fear to tread? Shouldn’t you try to change this? Treating your database as code and refactoring it as your software evolves is a good first step. Chris introduces Agile Database Techniques, looking at tools and techniques which can be used to manage your database in an Agile fashion, so that your database evolves as your software changes.
Architects, those that design buildings, study architecture from the past to the present to best understand their craft.
As software developers we aren’t easily afforded this opportunity, this has always frustrated me, and has thus lead me to always want to share with my fellow craftsmen.
In this talk I lift the veil on two of my enterprise projects implemented using a message based architecture.
I walk through the architecture of the projects highlighting the SOA patterns used.
The first architecture focuses on patterns employed for performance and scalability and the second focuses on big data principles for data visualization using projections .
This presentation also focuses on the do’s and don’ts when designing a scalable message based architecture, as well as potential technology you may consider such as NServiceBus.
Kind thanks to SA Home Loans who sponsored and hosted the event.
Hirt and Carter, a part of the Times Media Group, is a major mover and shaker in the digital and print media industry. They offer a full spectrum from e-commerce product photography for online retailers to standout fashion & life style for advertising brands.
It has been fantastic to work with this creative team to assist with one of their ground breaking software workflow solutions. Off the bat, H&C was looking for a local high quality software team in Durban.
We are proud to have been given the contract to jump in with them to develop a first phase with them. We are excited about the following phases that are planned and look forward to a long and valuable relationship.
inStruct event recorded at SA Home Loans, 26 March 2015.
Managing and working with knowledge workers can be a real challenge, the old adage applies “Managing developers is like herding cats”. Seven years ago Chris picked up a book which changed his outlook on team dynamics and working with knowledge workers.
“Adrenaline Junkies and Template Zombies” compiles 150 years of software team experience into simple easy to understand patterns. In this talk Chris shares his experiences and observations after applying some of these patterns to his working environment.
inStruct event recorded at SA Home Loans, 26 March 2015.
Iterative flexibility is the core tenant of agile software development - it’s well known, accepted and by now mainstream. But, how does this stack up against real world fixed deadlines, fixed budgets, and fixed contracts? In this session follow along as we explore project management caught in the tension between agile process and business delivery constraints, covering war stories and strategies along the way.
inStruct event recorded at Riverside Hotel, 10 March 2015.
KitKat, Jelly Bean, iOS, Windows Mobile … where on earth do you start when you get into mobile development.
Mobile applications development is an ever shifting space, and transitioning into this environment means a steep learning curve. Differing operating platforms and the various development environments add layers of complexity.
The Kaleidocode team faced a mountain of questions when we started mobile development on a large enterprise driven application. In an attempt to modify the extremity of learning required and accommodate the myriad of operating platforms, we reached for Xamarin Studio.
In this session we look at;
What is happening at Kaleidocode?