Technical Health For the New Year

Technical Health For the New Year

agile, Agile testing, Technical debt, Technical health
This is from an earlier blog. I received several positive reviews so I thought I would share again as I have new followers and since we are about to begin a new year. Technical health is a better term than technical debt when describing the principle of keeping software "clean". Most of us care and understand the consequences of not maintaining good personal health.  However, many of us today have run up large debt from school loans, home mortgages, auto loans, etc. Countries generally have huge national debts which continue to explode. It has become an accepted and normal part of life.  So why should management care about preventing"technical debt" from growing bigger? It becomes easier to explain that it is essential to maintain our "technical health." One student suggested calling…
Read More
How Fixing Defects Is Like Finding Your Lost Car Keys

How Fixing Defects Is Like Finding Your Lost Car Keys

agile, Agile testing, Kanban, Scrum, sprint
The next time your manager asks for an estimate for fixing software defects, say "I'll get right on it, as soon as I can find my lost car keys." Estimating the time to find and fix a defect can be difficult. It can be a short time, a very long time, or maybe even never. So how do we respond when asked to forecast in a Scrum sprint planning meeting which defects we can fix in the upcoming sprint? One recommendation is to consider switching from Scrum to Kanban for later phases of software maintenance when defect fixing and creating estimates are difficult. Kanban provides transparency into the backlog and the work flow as defects are fixed without having to forecast the work for an upcoming time boxed sprint. It is always best not to create…
Read More
Do A Few Things Insanely Great

Do A Few Things Insanely Great

agile, Agile testing, Scrum, sprint, Technical debt
Want to do more. Consider doing less. Limit your work in progress (WIP). Value completeness over an abundance of work in progress. Let's examine how this strategy can actually make your teams more productive. "Do a few things insanely great" reflects a quote from an executive at a previous company where I worked.  What is interesting, the company developed software using traditional project management with long development cycles and large number of features planned upfront.  Schedules were commonly delayed in order to ensure quality levels and handle complex code integrations from the large number of changes.  The executive was suggesting a different approach for working. I use the quote in my Scrum and Kanban training to emphasize the importance of limiting WIP.   In Kanban, the WIP constraints are part of…
Read More
Technical Health Over Technical Debt

Technical Health Over Technical Debt

agile, Agile testing, Scrum, Technical debt, Technical health
Technical health is a better term than technical debt to describe the concept of keeping software code "clean". The original blog, which explains and compares these terms, was updated and re-posted under Technical Health for the New Year. Please take time to follow the link to view. And make your resolutions to regularly adopt and improve your practices to maintain your "technical health!"  
Read More
Agile Testing – A Different Type of Feeling

Agile Testing – A Different Type of Feeling

agile, Agile testing, Scrum
Agile testing differs from testing within the traditional software development environment.  In Agile, testers are team members working closely with developers and are partners in delivering quality.  Traditional testing generally is performed by a separate test group from the developers.  I emphasize the testing differences by looking at two scenarios and focus on two different types of "feelings" which result. Many of my Agile and Scrum classes are to train organizations who are migrating from traditional software development processes. Typically, these organizations have Development groups which are separate from the Quality Assurance (QA) groups.  In most cases, the groups even report upward through different management chains.  The traditional process is for development to write and unit test the code (maybe other automated or regression tests) and then submit it to QA for further enhanced…
Read More