TDD - the good, bad and ugly part

Being an Agile Coach & TDD Consultant, I have helped many product companies during their Agile transformation journey. I have observed many interesting good, bad and ugly practices followed in industry in the name of TDD. I would like to share my experience with the audience and guide them towards the correct direction and help them extract the true benefit of TDD.

To give a simple example, using code-coverage as a metrics to measure the effectiveness of the Unit Test Cases is one of the common mistakes committed by many companies.

In my presentation, I would like to demonstrate hands-on and discuss, how to effectively follow TDD and what to watch out and avoid bad practices in TDD.

Comments

Could you please provide more details in your submission. For example, you mention you are going to demonstrate 'how to measure the effectiveness of TDD'. That sounds great, but I don't know what you mean and if your method is really new / interesting / practical. Please elaborate on your learning outcomes - in particular what are some fo the good and bad practices people will walk away understanding.

Lastly - 90 minutes is a long time to watch some one code - could you deliver the same quality / impact in less time or through different means?

When you say you are doing a hands-on demo, are you planning on having the audience follow along on their laptops, or are you thinking more of showing examples for them to watch? I mention this because as Joel points out, 90 minutes is a long time to watch someone code. I wonder if conference attendees would find this more compelling if the agenda were "Discuss what TDD is and isn't, with concrete examples", or something similar.

People who liked this proposal, also liked:

keyboard_arrow_down

Krishnamurty VG Pammi - Lean Scrum - The need of the hour

schedule 2 years ago

Sold Out!

45 Mins

Talk

Intermediate

The 2015 state of scrum report published by Scrum Alliance states that the outlook of scrum is highly favourable. Virtually all consider it likely that their organization will use scrum in future. While this is good, the survey also noted one of the key challenges observed by survey respondents as “Product owners and teams were just not willing and/or enthusiastic about Scrum best practices”. Thus, although scrum methodologies have greatly increased productivity, scrum is not without its problems. We need to quickly address this gap.

Keeping scrum values at the core, scrum methodology is mostly visible to teams on the ground in terms of three pillars (1) Scrum roles (2) Scrum artifacts and (3) Scrum events. While Scrum has kept scrum roles and scrum artifacts lean, it has empowered teams on the ground to learn the art of performing scrum. Scrum prescribed guidance on scrum events with clear purpose, frequency, maximum duration and recommended attendees. It recommends teams to learn the art of performing scrum events through their experience stating “scrum is easy to understand and difficult to implement”

While some scrum teams mastered this art, I find most of the scrum teams are still struggling in this process. I come across situations where teams are not finding scrum events interesting primarily because they find these events unproductive. The result is that we see less interactions and cooperation from the teams during scrum events. This is impacting basic agile manifesto “Individuals and interactions over processes and tools". In net, there is no surprise when product owners and teams were just not willing and/or enthusiastic about Scrum best practices.

Lean Scrum is the need of the hour. As part of lean scrum, we will adopt scrum methodology at the core and we implement lean framework to address the pain areas witnessed by teams

As part of this talk, I will share my experiential insights on

Outlook of scrum is highly favourable. Although scrum methodologies have greatly increased productivity, scrum is not without its problems. We need to quickly address these gaps

While scrum has kept scrum roles and scrum artifacts lean, it has empowered teams on the ground to learn the art of performing scrum events. Are we keeping these events lean and Valuable?

Lean scrum – The need of the hour

What is Lean Scrum

Anti-Patterns/Most frequently faced challenges/ wastes experienced by scrum teams in each of the scrum events (case findings based on my experience)

Where do the scrum teams stand on "expected scrum patterns" in each of the scrum events (case findings based on my experience)

Leverage "Lean framework" to help scrum teams to learn the art of performing scrum events through realizing value and enhancing their reach on "expected scrum patterns".

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software” The term value is increasingly becoming starting point of what we do. We need to keep questioning everything we do using customer value generation as the yard stick

Unless, we drive scrum events towards value generation by continuously eliminating waste/ anti patterns, there is no surprise that “Product owners and teams were just not willing and/or enthusiastic about Scrum best practices” as observed by "The 2015 state of scrum" report.

schedule 2 years ago

Sold Out!

90 Mins

Workshop

Intermediate

The main focus of this workshop is to encourage companies that believe in Agile to make use of Apache Maven as a build tool to compile and integrate their projects with the Continuous Integration (CI) ecosystem.

This will be an hands-on workshop, where I'll demonstrate how a Maven, based Java and C/C++ project can be written from scratch and enable CI with Unit-test cases.

Krishnamurty VG Pammi - Building Cross functional teams by example.

schedule 2 years ago

Sold Out!

45 Mins

Talk

Intermediate

Cross functional team (CFT) as a whole has all the skills needed to build the product, and that each team member is willing to do more than just their own thing. Agile methodologies recommend long lived CFTs to implement agile manifesto and principles effectively. CFTs have become more popular in recent years for many reasons that include but not limited to:

They improve coordination and integration

They are flexible to adapt to changing market needs

They develop innovative products more quickly

They span across organization boundaries

They improve problem solving and lead to more thorough decision making

To be precise, we are not fully agile if we do not nurture CFTs. Not far from now, you will see digital enterprises trying to compete with each other in developing and releasing their apps every 5 days. CFTs will become one of the fundamental pillars for agile methodologies to adapt to such aggressive future needs

Building CFTs is an art and nurturing collaboration among CFTs is even more challenging. In this talk, I will explain about

(1) Building Cross Functional Teams by Example

(2) Nurturing Cross-functional Team Collaboration

(3) Imperative elements that need to be considered for succeeding with cross functional teams. Without proper attention to these elements, any cross-functional team will be fighting an uphill battle to succeed.

schedule 2 years ago

Sold Out!

45 Mins

Talk

Intermediate

Although agile methodologies have greatly increased productivity, Agile is not without its problems. Agile recommends adaptive planning through its multi-level planning events. Agile planning is expected to remain relevant in guiding teams till their destination as it incorporates the then risks, issues, assumptions and constraints into consideration while planning at last responsible moments.

While it appears good on paper, I find challenges involved in this approach. Scrum teams on the ground may mostly focus their efforts on their team specific daily and sprint targets. They lack common understanding of team expectations on what is probable product that they think is possible at the moment with the list of the then risks, assumptions, constraints and dependencies. To be precise, teams on the ground lack this bottom up view of the integrated probable product in next 2 to 4 months

On the other hand, enterprises spend efforts and money for their strategy, portfolio and product planning exercises. The result is that these planning events tell the top down view of “Where Product owner want to take the product to be?”

When top down view and bottom up view are not properly balanced with proper discussion among stakeholders during release planning exercise, we see teams oscillating instead of iterating witnessing below symptoms.

Teams slips on their release forecast

Cross team dependencies are detected towards end of the release and there was not much time available to resolve those dependencies within the release

Key decisions that were supposed to be taken during release planning exercise, would be taken up towards final sprints.

Risks are identified towards the end and this gives less room to mitigate the risks

When these symptoms recur periodically, as an enterprise, we would not be in position to provide the expected functionality to the end users. This may ultimately hit team’s morale and enterprise brand. Part of this chaotic pattern may be attributed to agile planning events.

This can be overcome if we perform release planning exercise effectively. But surprisingly, not much literature is available on how to perform release planning exercise even though everybody underlines its importance. In result, we see anti patterns keep creeping and they derail release planning objectives.

In this talk, I will be listing potential probable anti patterns that can derail teams from achieving their expected outcomes. I will introduce each pattern in the format

Anti-Pattern

Potential Impact

How to address this anti-pattern

If performed well, release planning exercise makes stakeholders meet together and discuss the challenges involved in unifying the top down understanding of “What the product Owner wants the product to be” with the bottom up understanding of “what the development teams thinks as the possible product scope that can be accomplished”. This inturn will be input to upcoming product planning events. Release planning thus acts as a guide post to baseline current understanding of team expectations on what is probable product that they think is possible at the moment with the list of the then risks, assumptions, constraints and dependencies.

schedule 2 years ago

Sold Out!

90 Mins

Workshop

Intermediate

High performance agile teams are always striving to achieve an effective retrospective that enables the team to discuss the success criteria, and define the areas of improvement further. This is an important aspect for cross functional teams – the development, operations, database administrators, systems administrators, QA testers, product managers - to focus on excellent communication and collaboration.

Over the years, my experience has been that retrospectives can get monotonous with time, and hence tend to become ineffective. The more I engaged with the process, the more I felt the need to revolutionize the process, bring out something new, fun, and exciting to make the retrospectives vibrant. The other interesting aspect I came across during my research into the subject was the theory of gamification and the universality of its application.

During this session the audience will understand how the concept of gamification brings in a completely different dimension of thinking while maintaining the element of fun as we try and apply it to a few everyday situations!

I have leveraged Luke Hohmann’s Innovation Games, The Conteneo Collaboration Could platform for this concept of gamification so that distributed teams can benefit by this.