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.
Outline/structure of the Session
1. Hands-on Demo to demonstrate what isn't TDD.
2. Hands-on Demo to demonstrate what is TDD.
3. Hands-on Demo to demonstrate, how not to measure the effectiveness of TDD.
4. Discuss best practices and suggest how to measure the effectiveness of TDD.
5. Discuss common mistakes and how to avoid them
Participants will learn,
1. What is TDD?
2. Bad & Ugly part of TDD
3. Good Practices in TDD
Program Managers, Project Managers, Project Leads, QA Leads, QA Engineers, Product Owner, Scrum Masters & Developers
schedule Submitted 1 year ago
People who liked this proposal, also liked:
Lean Scrum - The need of the hour
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 craft scrum events towards value generation. How to draw "AS-IS" and "TO-BE" Value stream management maps for two scrum events.
- 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.
This is where Lean-scrum could prove to be powerful...
Upgrade your project gears with Apache Maven and Jenkins (CI)Jeganathan Swaminathan
schedule 1 year agoSold Out!
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.
Building Cross functional teams by example.
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.
Ineffective release planning makes teams oscillate instead of iterate
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
- 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.
Gamification –an essential element for vibrant retrospectives.Madhavi Ledalla
schedule 1 year agoSold Out!
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.