Showing posts with label Agile. Show all posts
Showing posts with label Agile. Show all posts

2026-07-13

2026-07-13 Monday - On The Importance of a Backlog of Ideas

[image credit: izhar-ahamed on pixabay dot com]


Allen Hollub's LinkedIn post:

"""
...
Frankly, I'd dump the backlog entirely. It is not helping you. Instead, do the most valuable, smallest thing. Get feedback. Decide what to do next based on that feedback. ...
...
""" 
My commentary:
  1. Doing the "smallest thing" – may not necessarily be the smartest thing. 
  2. To eliminate unknowns, risks – or to determine whether something will meet a particular Non-Functional Requirement (NFR) – the smallest thing may not be the correct choice. 
    • This is especially true when a critical cusp is reached. 
    • "He grokked that this was one of the critical cusps in the growth of a being wherein contemplation must bring forth right action in order to permit further growth." [source]
    • Often, when establishing an architecture runway, experiments are required – especially with new technologies. 
    • See "Knowledge Acquisition" (re: "... you gather information to accomplish future tasks. When you identify a feature that needs further research, you create a knowledge-acquisition task, such as a prototype, experiment, or proof-of-concept, to gather the information you need.")
  


Michael Switzer's LinnkedIn comment:

"""
Backlogs are a waste … so are most roadmaps

Are you working on the most important thing? That’s the only thing that matters … ideas are cheap, it’s easy to find things to work on .. stop creating noise with backlogs and roadmaps

If it’s actually important it will come back up…
""" 
 
 
 
My LinkedIn comment:
"""
Consider, as a counterargument...

As a writer, I know that good ideas can be fleeting – and are precious – and must be captured.

Many well-known successful writers have mentioned that it is critical to capture those flashes of inspiration of an idea - and why many keep a notepad by their bedside, and carry one with them, everywhere they go.

Thus they recognize the importance of having a backlog of writing ideas.

I keep a separate professional journal for every client engagement - and also have a small spiral-bound notebook that I carry with me everywhere, and keep by my bedside. 
""" 
[image source: Staples.com, Staples Record Book, 300 pages]

 
Great writers understand that inspiration is fleeting and that the mind is a terrible filing cabinet. 
 
The consensus among authors is clear: if you do not write down an idea the moment it strikes, it is gone forever.
 
Some Attributed Habits and Quotes from Writers
 
"Ideas are like rabbits. You get a couple and learn how to handle them, and pretty soon you have a dozen." 
— John Steinbeck

 

"Always carry a notebook. And I mean always. The short-term memory only retains information for three minutes; unless it is written down, you have lost it forever." 
— Will Self

 

"...combining new ideas with your previous ones will produce something completely different." 
— Steven Johnson


"Guillermo del Toro is famous for compiling books full of notes and drawings about his ideas before turning them into films, something he regards as essential to the process. ..."
– Trivia for “El Laberinto del Fauno” (2006) on imdb.com

 

“Sometimes I have a good idea, something I wish I could remember, and instead of writing it down, commit it to my memory only to disappear when I needed it. Write your ideas as they come, if you wait it will be too long and you may not recover it. It may get destroyed as it is to seed to and fro in the ever rushing river of our thoughts”
― Bangambiki Habyarimana, Pearls Of Eternity 

 

“Write down the thoughts of the moment. Those that come unsought for are commonly the most valuable.” 
– Francis Bacon 

 

“Keep a notebook. Travel with it, eat with it, sleep with it. Slap into it every stray thought that flutters up into your brain. Cheap paper is less perishable than gray matter, and lead pencil markings endure longer than memory.”  
– Jack London

 

“Well you know, for my experience, your head's for having ideas, not for holding them.”
– David Allen


“Get your ideas on paper and study them. Do not let them go to waste!”
– Les Brown

 

“Remember, my friend, that knowledge is stronger than memory, and we should not trust the weaker.”
– Bram Stoker

 “I take notes like some people take drugs. There is an eight-foot stretch of shelves in my house containing nothing but full notebooks. Some would call this hypergraphia (Dostoevsky was a member of this club), but I trust the weakest pen more than the strongest memory, and note taking is—in my experience—one of the most important skills for converting excessive information into precise action and follow-up.” 
– Tim Ferris

 

More quotes:

 

Considering some variations in Product Backlog Definitions:  

André Bernardo offered this definition of a Product Backlog: 

"A product backlog is a problem space for solving user friction, bugs, and technical tasks" 

 

However, many organizations use very different definitions of a Product Backlog [wikipedia.org]: 

  • "... is a list of the new features, changes to existing features, bug fixes, infrastructure changes, or other activities that a team may deliver in order to achieve a specific outcome." [source]

  

  • "... contains a prioritized list of work items, including user stories, features, bug fixes, technical tasks, and research activities needed to improve the product." [source] 

 

  • "...  is a comprehensive, evolving list of all desired work on the product, while the sprint backlog is a subset of items selected for completion during a specific sprint." [source]

 

  • "... represents the long-term, prioritized list of desired work, including features, enhancements, bugs, and technical debt." [source]

 

  • "... is an emergent, ordered list of what is needed to improve the product." [source] 

 

  • "...  a prioritized features list, containing short descriptions of all functionality desired in the product." [source]

 

  • "... Option Pool: Lean" [source]
    • "... work with stakeholders to select the highest value work when they have the capacity to perform the corresponding work. In effect prioritization is done on a just in time (JIT) with the team’s stakeholders." 


Although there may be strongly held opinions about different definitions, adopted by different people, I think we likely agree on some very common ground, more than they may think ("focus on the next most valuable thing" ) - which does not conflict with allowing the Product Backlog to include possible future ideas for improvement, or future features - which may fall out over time, if they are not prioritized for inclusion in future sprints. 
 

There is nothing inherently static about a Product Backlog, based on any of these definitions. It is important that it be maintained on a continuous basis. If someone projects an idea onto the concept of a Product Backlog as a static list - that is an aberration, and likely a projection of a very skewed understanding of how it has historically been defined.   

 

 

2020-05-07

2020-05-07 Book Suggestion: Practical Guide to Agile Strategy Execution

If you are facing resistance to the idea of Digital Transformation within your organization - I suspect this recently published book, by Daniel Lambert, may be of some benefit - if it were to be broadly read across your organization:

Practical Guide to Agile Strategy Execution: Design, Architect, Prioritize, and Deliver your Corporate Future Successfully
https://www.amazon.com/Practical-Guide-Agile-Strategy-Execution/dp/B084P856HY




You may also be interested in some of Daniel's other business architecture and thought leadership writing - which I've mentioned here.

2018-06-22

2018-06-22 Friday - Advice to a Development Team Struggling with Delivery & Defects

Recently I had a discussion with the CEO of a  .NET focused software development company - who was concerned with recurring delays in his development organization's ability to consistently meet agile sprint delivery schedules - and an attendant problem of unexpected defect rates in the code that was delivered.  

After our brief discussion, I suggested that - based on the symptoms he  described - my initial suggestion would be to ensure that the following three areas were not contributors  - and were well understood by the development teams . 

Possible Root Causes To Investigate (in the near-term):

1) Developers may not be adequately trained in agile practices and the language/tools they are using
  • Defects will tend to cluster around either specific persons and/or  specific code modules.  Root-cause analysis is essential to properly determine the appropriate mitigation actions, such as...
  • Use the 5-Whys of Six Sigma to determine the root cause for defects - often it may come down to a lack of knowledge/training - being tasked to do something outside their area of expertise - lack of awareness of good code design principles, etc.
  • For example (from my 2015 Seattle Code Camp talk, Diagnosing The Patient):
    • 1st: Why is the system slow?
      • The DB is slow
    • 2nd: Why is the database slow?
      • The app executes a lot of queries to load a page
    • 3rd: Why is the app designed to be so chatty?
      • DB was designed in an inefficient manner by [X]
    • 4th: Why didn’t [X] use an efficient DB design?
      • [X] was never trained on database design
    • 5th: Why didn’t [X] get any DB design training?
      • There is no budget for training
2) Developers may not be following Test Driven Design/Development (TDD) practices
  • This can be due to a number of possible causative factors:
    • Developers may be overwhelmed with unrealistic workloads squeezed into sprints
    • Developers may not be adequately trained/experienced to properly estimate Epics/Stories/Tasks - and therefore are simply racing as fast as they can to crank out the code for a given sprint
    • Developers may be writing trivial tests - and not focusing on the 20% that represents the `critical section` - first. 
3) Continuous Integration may not be in place (or taking advantage of all of its capabilities)


Uncle Bob Martin's book, Clean Code - is the foundation knowledge that is necessary for every developer to be successful:
https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882



He also teaches a 3-day workshop


2018-06-22 Friday - Scaled Agile Framework (SAFe) for Lean Enterprises


I'm researching the pros/cons of SAFe - and this posting will be a placeholder for articles that I find that may be of interest to others.

Background Reading:

  • Chrysler Comprehensive Compensation (C3) project  
    • https://www.martinfowler.com/bliki/C3.html
      • "The software went live in 1997 paying around ten thousand people. The project continued, intending to take on a larger proportion of the payroll but new development was stopped in 1999. Later on the existing live system was reverted back to the COBOL"
      • "C3's cancellation, however, also proves that XP is no guarantee of success."
  • https://en.wikipedia.org/wiki/Agile_software_development
  • http://agilemanifesto.org/
    • Four Values:
      1. Individuals and interactions over processes and tools
      2. Working software over comprehensive documentation
      3. Customer collaboration over contract negotiation
      4. Responding to change over following a plan
  • http://agilemanifesto.org/principles.html
    • 12 Principles:
        1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 
        2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 
        3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.  
        4. Business people and developers must work together daily throughout the project.
        5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.  
        6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 
        7. Working software is the primary measure of progress.  
        8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.  
        9. Continuous attention to technical excellence and good design enhances agility.  
        10. Simplicity--the art of maximizing the amount of work not done--is essential.  
        11. The best architectures, requirements, and designs emerge from self-organizing teams.  
        12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. 
    • https://www.agilealliance.org/agile101/subway-map-to-agile-practices/ 


    SAFe References:

    Case Studies:

    Counterpoints: Some SAFe counterpoints articles to consider...



    There are some people who have misread or misinterpreted the SAFe documentation - and concluded that all technology and architecture decisions are made by the individual delivery teams.  That is not only factually incorrect - it is a gross distortion - and has the probability of severe consequences, over time.

      • O course, not all decisions should be decentralized. Some decisions are strategic, have far-reaching impact, and are outside the scope, knowledge, or responsibilities of the teams. In addition, leaders are still accountable for outcomes. They also have the market knowledge, longer-range perspectives, and understanding of the business and financial landscape necessary to steer the enterprise.

        © Scaled Agile, Inc.
        Include this copyright notice with the copied content.

        Read the FAQs on how to use SAFe content and trademarks here:
        https://www.scaledagile.com/about/about-us/permissions-faq/
        Explore Training at:
        https://www.scaledagile.com/training/calendar/
        Of course, not all decisions should be decentralized. Some decisions are strategic, have far-reaching impact, and are outside the scope, knowledge, or responsibilities of the teams. In addition, leaders are still accountable for outcomes. They also have the market knowledge, longer-range perspectives, and understanding of the business and financial landscape necessary to steer the enterprise.

        © Scaled Agile, Inc.
        Include this copyright notice with the copied content.

        Read the FAQs on how to use SAFe content and trademarks here:
        https://www.scaledagile.com/about/about-us/permissions-faq/
        Explore Training at:
        https://www.scaledagile.com/training/calendar/
        Of course, not all decisions should be decentralized. Some decisions are strategic, have far-reaching impact, and are outside the scope, knowledge, or responsibilities of the teams. In addition, leaders are still accountable for outcomes. They also have the market knowledge, longer-range perspectives, and understanding of the business and financial landscape necessary to steer the enterprise.

        © Scaled Agile, Inc.
        Include this copyright notice with the copied content.

        Read the FAQs on how to use SAFe content and trademarks here:
        https://www.scaledagile.com/about/about-us/permissions-faq/
        Explore Training at:
        https://www.scaledagile.com/training/calendar/
        Of course, not all decisions should be decentralized. Some decisions are strategic, have far-reaching impact, and are outside the scope, knowledge, or responsibilities of the teams. In addition, leaders are still accountable for outcomes. They also have the market knowledge, longer-range perspectives, and understanding of the business and financial landscape necessary to steer the enterprise.

        © Scaled Agile, Inc.
        Include this copyright notice with the copied content.

        Read the FAQs on how to use SAFe content and trademarks here:
        https://www.scaledagile.com/about/about-us/permissions-faq/
        Explore Training at:
        https://www.scaledagile.com/training/calendar/
        Of course, not all decisions should be decentralized. Some decisions are strategic, have far-reaching impact, and are outside the scope, knowledge, or responsibilities of the teams. In addition, leaders are still accountable for outcomes. They also have the market knowledge, longer-range perspectives, and understanding of the business and financial landscape necessary to steer the enterprise.

        © Scaled Agile, Inc.
        Include this copyright notice with the copied content.

        Read the FAQs on how to use SAFe content and trademarks here:
        https://www.scaledagile.com/about/about-us/permissions-faq/
        Explore Training at:
        https://www.scaledagile.com/training/calendar/
        "Of course, not all decisions should be decentralized. Some decisions are strategic, have far-reaching impact, and are outside the scope, knowledge, or responsibilities of the teams. In addition, leaders are still accountable for outcomes. They also have the market knowledge, longer-range perspectives, and understanding of the business and financial landscape necessary to steer the enterprise."


    2018-06-20

    2018-06-20 Wednesday - Some Reading on Lightweight Architecture Decision Records (ADRs)

    An interesting article to read first:
    Sustainable Architectural Design Decisions
    https://www.infoq.com/articles/sustainable-architectural-design-decisions


    https://www.thoughtworks.com/radar
    Volume 18, May 2018  - Item #1 in the Techniques section of the current ThoughtWorks Radar report recommends adopting "Lightweight Architecture Decision Records"
    [note: This is the only Adopt recommendation in the Techniques section, so that is noteworthy in itself]


    A historical perspective on the evolution of this ThoughtWorks recommendation:
    https://www.thoughtworks.com/radar/techniques/lightweight-architecture-decision-records

    ...and the associated concept of Evolutionary Architecture
    https://www.thoughtworks.com/radar/techniques/evolutionary-architecture

    Michael Nygard's thoughts on Lightweight Architecture Decision Records (2011):
    http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions
    "An architecture decision record is a short text file in a format similar to an Alexandrian pattern that describes a set of forces and a single decision in response to those forces.”


    Increasing Software Transparency with Lightweight Architectural Decision Records (2017)
    https://dev9.com/blog-posts/2017/5/increasing-software-transparency-with-lightweight-architectural-decision-records
    (KM: I prefer the naming convention suggested in this article: "YYYYMMDD-NN-Short-Description.md" vs. Nygards simple sequential numbering scheme)


    Architecture Decision Records in Action (experience of part of the IBM Watson team adopting ADRs, starting on slide #26, see interesting graphs of ADR growth over time)
    https://resources.sei.cmu.edu/asset_files/Presentation/2017_017_001_497746.pdf
    *** see their observations, slide #33
    *** see likes/dislikes, slide #36


    Homepage of the ADR GitHub organization
    https://adr.github.io/

    Command-line tools for working with Architecture Decision Records
    https://github.com/npryce/adr-tools

    See this article too:
    https://kevinjalbert.com/start-now-architecture-decision-records/
    Interesting: the command line tool also supports being able to generate graphviz output for diagram generation (to visualize linked ADRs)
    example:
    adr generate graph | dot -Tjpg > graph.jpg


    Architecture decision record (ADR) examples
    https://github.com/joelparkerhenderson/architecture_decision_record


    Links to some info on the Alexandrian form (that Michael Nygard references in his article):
    http://wiki.c2.com/?AlexandrianForm
    https://www.martinfowler.com/articles/writingPatterns.html

    A deeper look at Alexandrian form....
    https://www.slideshare.net/JoshuaKerievsky/a-timeless-way-of-communicating-alexandrian-pattern-languages
    "the masterpiece, "A Pattern Language", by Christopher Alexander"
    Note: Christopher Alexander's A Pattern Language (APL) as an important influence in the patterns world.



    Also Interesting: 
    A Decision Modelling Language plugin for Sparx Enterprise Architect
    https://github.com/IFS-HSR/ADMentor
    https://github.com/IFS-HSR/ADMentor/releases

     

    2020 Addendums


    2021 Addendums

    2024 Addendums

     

    2018-04-12

    2018-04-12 Thursday - The Role of Architecture in a Scaled Agile Organization - A Case Study in the Insurance Industry, by Christina Schimpfle

    A very good read...

    Master’s Thesis The Role of Architecture in a Scaled Agile Organization - A Case Study in the Insurance Industry, by Christina Schimpfle, August 10,  2017
    TUM School of Management of the Technische Universit¨at M¨unchen

    WordCount

    Copyright

    © 2001-2026 International Technology Ventures, Inc., All Rights Reserved.