Search
Close this search box.
Search
Close this search box.
Search
Close this search box.

Blog

Engineering Practices

A Beautiful Day For Unit Tests

Writing unit tests on Legacy Code is an adventure. Today I spent several hours doing that with two developers, Mark and Yelena.

The system has a flow you are used to and when you write code you fit it into this flow. Then you test the entire system.

With unit tests, it works differently. You are required to start the flow from the middle and stop it when your deed was done.

This requires a different level of system understanding. When we started off in the morning we looked at the code and thought “how are we going to harness this?”

Read More »
Agile

5 steps to get unit tests going

Once you start unit testing, you will find significant benefits to your design, throughput, quality, and peace of mind. However, it is not easy to start in an organization that’s not used to it. Here are a number of practical tips:

Read More »
Agile Tools

Three tools that can help you become a better web developer

TL;DR
Use git, use eslint, and write unit tests.
Want to know the reasoning behind each tool? Keep reading!
Introduction

Whether you are starting out as a developer or already have some experience, improving your coding skills is an ongoing endeavor. But what does it mean to be a better coder?
While there are many ways to solve a problem with code, some of them are better than others. As Robert Martin wrote:
Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees.

Read More »
Agile Leadership

3 steps towards better team work

Working with teams I sometimes feel that teamwork is similar to the weather: everybody talks about it but not much is done. When I talk about teamwork I mean doing the work together, as a team. Advising with each other is good, planning together is necessary, going to lunch as a group is fun and like the other activities, is probably a good way to get nearer to team work. However , as said above, I’m talking about doing the work together. And here are 3 steps that will help you get nearer to that worthy cause.

Read More »
Engineering Practices

Peer Code Review – Benefits and Statistics

Benefits and statistics of embedding peer code review into your software development process.

As a Lean-Agile coach, I regularly talk with software development groups about the benefits of adding code review to their development process. Some easily embrace it and some require a little bit of persuasion, but usually, I find enough internal allies to initiate the change. Lately, I encountered a whole group that completely rejected this essential practice as a luxury they can not afford. Explaining that they will see immediate ROI within a sprint or two was not enough to convince them. So, I sat to compose the following list and sent it to the group. Luckily I had a sympathetic ear with the general manager of the business unit who embraced it and made it easier for the team to experiment with the practice. All’s well that ends well… here is the list, shared with you too.

Read More »
Engineering Practices

Legacy Code: Extract-FirstUT-Cover-Refactor-TDD

Recently, I had the opportunity to work on legacy code with several teams from various organizations. I would like to share my experience.

We usually start by choosing a piece of code that is “painful”: changing frequently and “scary” to touch because of its complexity. We explain that our purpose is to make the code simpler, readable, and easy to change. Establishing the motivation for what we do is important!

Read More »
Agile Mindset

The Professional Developer

Last week I called a technician to repair an electrical shutter that was broken. The technician did a good job in general, but there was one particular thing he did that made me think of him as a true professional. Was it the tools he was using? No. Was it the technique? He was working fast, but no, it wasn’t that. It was the moment he asked me for a broom to clean up after him. That was when I realized he was a pro.

Read More »
Engineering Practices

Amusement Park Methods

Sometimes you stumble upon amusement park methods.

Remember the feeling when first going through the gates of a big amusement park? When you get a first glimpse of how vast it is? you see some rides close by and in the distance, you see the tall roller coasters. That’s the feeling I’m talking about.

You start scrolling through the method. Just to understand what’s before you, you want to see how long it gets. You scroll and scroll and it goes on and on, and you start to go faster but it never ends. As Louis and Clark tried to find a path through the Rockies to get to the Pacific, you are making your way through this monstrous method, this fantastic creation.

Read More »
Engineering Practices

Time To Reorg – An Intro to Refactoring

Organizations reorg all the time. And again. Why do they do that? Setting cynicism aside, organizations reorg to adapt to new realities, to new demands. A team of 5 people that grew to 20 people needs to split to smaller teams. A business group dealing with a fast-growing market needs to come up with a new strategy to cope with the demand. A startup of 20 people will need a different structure than that of a company of 100 people. As business demands change there is a need to adapt the organization’s structure.

Reorg is an expensive venture, yet organizations do it again and again. Because they have to do it – they have no choice.

Read More »
Subscribe for Email Updates:

Most New:

Categories:

Tags:

Nexus Integration Team
Agile Assembly Architecture
ATDD vs. BDD
SAFe Release Planning
Value Streams
Artificial Intelligence
Hybrid Work
Agile and DevOps Journey
Lean Budgeting
Agile Product Ownership
Scrum
Agile
Rovo
Jira
Slides
Nexus vs SAFe
WIP
Sprint Iteration
SPC
AI Artificial Intelligence
GanttBan
Scrum Primer
Agile Israel Events
Agile Techniques
RTE Role
Built-In Quality
Scrum With Kanban
Tips
Systems Thinking
ROI
What Is Kanban
Kaizen
Agile Marketing
IT Operations
System Team
Engineering Practices
Agile Project
Reading List
Scrum Guide
Continuous Planning
Scrum.org
Process Improvement
Keith Sawyer
Kaizen Workshop
Acceptance Test-Driven Development
Legacy Code
Self-organization
Agile Project Management
Legacy Enterprise
Agile in the Enterprise
speed at scale
Portfolio for Jira
Applying Agile Methodology
Advanced Roadmaps
Lean and Agile Techniques
Agile Development
Manage Budget Creation
Enterprise DevOps
Iterative Incremental Development
Software Development Estimation
Scrum Master Role
Planning
Achieve Business Agility
Lean Agile Leadership
Retrospectives
Professional Scrum with Kanban
Frameworks
Quality Assurance
Covid19
Agile Contracts Best Practices
Agile for Embedded Systems
Scrum and XP
Lean Startup
Implementing SAFe
Lean Agile
SAFe
Daily Scrum
Professional Scrum Master
predictability
Continuous Deployment
Atlassian
Operational Value Stream
Sprint Planning
AI
Nexus and Kanban
Risk Management in Kanban
Lean Software Development
Agile Program
ScrumMaster Tales
Code
Kanban Basics
Risk-aware Product Development
Rapid RTC
DevOps
Nexus and SAFe
Lean and Agile Principles and Practices
LAB
Jira Cloud
Certified SAFe
System Archetypes
Continuous Improvement
System Integration Environments
Kanban 101
Games and Exercises
The Kanban Method
Team Flow
Nexus
Agile India
Managing Projects
PI Planning
Lean-Agile Budgeting
Kanban
Continuous Delivery
Agile Mindset
Tools
Confluence
LPM
Sprint Retrospectives
Risk Management on Agile Projects
Agile Exercises
Program Increment
POPM
agileisrael
lean agile change management
Continuous Integration
Presentation
An Appreciative Retrospective
ART Success
The Agile Coach
Lean Risk Management
Coaching Agile Teams
Agile Testing Practices
Kanban Kickstart Example
Webinar
Amdocs
Video
Effective Agile Retrospectives
Lean Agile Management
Product Management
TDD
User stories
ATDD
Agile Games
Software Development
EOS®
Scrum Master
Scaled Agile Framework
Implementation of Lean and Agile
Elastic Leadership
Accelerate Value Delivery At Scale
Kanban Game
ALM Tools
Atlaassian
Lean Agile Basics
Large Scale Scrum
Agile Community
Agility
AgileSparks
Jira admin
LeSS
QA
chatgpt
Release Train Engineer
RSA
Agile Product Development
Spotify
Releases Using Lean
ARTs
Pomodoro Technique
Product Ownership
SA
PI Objectives
Lean-Agile Software Development
Introduction to ATDD
speed @ scale
Entrepreneurial Operating System®
Test Driven Development
Change Management
Managing Risk on Agile Projects
Agile Risk Management
Principles of Lean-Agile Leadership
Professional Scrum Product Owner
Certification
Story Slicing
Development Value Streams
Agile Outsourcing
Lean Agile Organization
SAFe DevOps
Agile Games and Exercises
Jira Plans
transformation
Agile Release Planning
Agile Delivery
BDD
NIT
RTE
Agile Israel
Business Agility
Agile Release Management
Introduction to Test Driven Development
Limiting Work in Progress
Scrum Values
A Kanban System for Software Engineering
Perfection Game
AgileSparks
Logo
Enable registration in settings - general

Contact Us

Request for additional information and prices

This website uses Cookies to provide a better experience
Shopping cart