Economics, Agile and .Net Rocks

I was commuting to work last week a couple of weeks ago a couple of months ago (it took me a long time to get this article finished :-)) across the South Dakota plains so I had some extra time. I enjoy only seeing a few cars every mile. This is another reason I enjoy SD and do not desire to move to a large city.

I-29 Commute [Screen shot from Bing Maps]

Better yet, from the bike trail on my 4 or 8.5 mile (depending where I work for that day) ride in February. Bike Commute in February

I enjoyed listening to DotNetRocks - The Economics, Psychology and Science of Agile with Matthew Renze. Matthew had a lot of insights into why agile works, how to propose and defend the idea using data and analogies, and the importance of information and learning. I’ve been thinking about this a lot lately and I listened to it again to take notes on it. I highly recommend listening to this. Below are notes from the show, I’ve also added some organization and my thoughts on some of these points. I’ll also try to sum it up and add some insight from other sources I’ve read in the past month.

tldr;

Here are notes from the show with some of my thoughts and sources mixed in. In short, listen to the DotNetRocks podcast!

Notes from the show

Agile inverts the iron triangle of classic project management (fix scope & resources, estimate schedule or scope and budget fixed and quality can get sacrificed). In Agile, we “fix resources and schedule and estimate scope” to solve problems such as the Mythical Man Month and scope creep. Technical Debt lets the team push back if quality is suffering. Empirical evidence helps us to sell management on the ideas of Agile and that we are in a new world. Matthew mentioned Eddie Obeng's TED talk "Smart Failure for a Fast Changing World" and even shows it to people. The “old world no longer exists”. Agile helps us navigate the rapidly changing world and technologies.

Side note: Smart Failure for a Fast Changing World

Mr. Obeng’s talk is well worth watching. It’s a new world and it “changed at midnight” about 15 years ago and most of haven’t realized it. The rational approaches of the past, no longer work. Let’s go for smart failure - reward risk that creates new information (experiment). Buy someone pizza instead of punishment for a failed experiment. We learn something and that is very valuable.

Back to the show notes

Communication

Agile isn’t always communicated well and is a complex thing. Big "A" Agile is being sold as a one size fits all tool by some consultants. Most of the time you need to adopt little “a” agile and find processes that work well for you. Remember the Agile Manifesto, “Individuals and interactions over processes and tools”.

Agile increases visibility and communication. Matthew mentioned having an “Information Radiator” such as a KanBan or Scrum board that everyone can easily see.

side note: I’ve found that it is hard for people to change, so I start with suggestions and small things when I see areas that can be improved. This will help build engagement and buy in. Matthew uses data and metaphors before changing, convince them first. Use economics and that the agile/iterative approach will save money and time. Use the 80/20 rule. Reduce the cost by eliminating features that aren’t really needed and will never be used.

Value: Maximize your return on investments (ROI), use this to prioritize your backlog. Getting features out sooner will get the value sooner with usage. Use 1 to 3 relative scale works in most cases. A bank account type with only so many points available to help people prioritize (especially those who think everything they want is the top priority). The “wisdom of the crowds” can help determine value and quantity estimations. I’ve used planning poker in the past (there are several options available online).

Importance of Feedback

Minute 36:45 – Get business people committed to the project by getting them involved early. Their involvement will also improve the system. (note: get the QA people and Operations people involved as well!)

Complex Adaptive Systems helps explain why Agile teams are able to respond very rapidly. An inversion of control of the system, bottom up self-organizing is like a school of fish that communicate and share information to create a large looking mass to scare off bigger fish. The teams can respond quickly and share information and more effectively than management. The teams must use feedback, but also give feedback to the management.

Everything is changing as you are developing, so we must adapt as we go. (“Responding to change over following a plan” from the Agile Manifesto).

Side note: The key first step for successful organizational change from Gojko Adzi

I just got a relevant Article emailed to me about change in in organizations. Here are a few good quotes:

  • "feedback loops and visualizations to help change get started."
  • "The next time you feel the organization around you is ignoring a brilliant idea, instead of selling a solution, try selling the problem first. More practically, visualize the problem so it can sell itself, allowing people to see and feel the issue. For the best results, try visualizing the problem in a way that closes a feedback loop. Create a way for people to influence the results and see how your visualization changes."

Minute 42:

Estimation is hard. There is a cone of uncertainty: estimation is up to 4x worse at the beginning.

side note: My quick estimation of a task from start to "done" idea equation: Depth of requirements * (((uncertainty) * (hours to code including unit tests * 3.14)) + hours to qualify + build/automation/delivery) + (complexity) + (complexity and amount of pre-planning with QA that would help avoid QA kick backs).

complexity should somehow help estimate time it takes to finish digging for requirements, clarifying, discussing edge cases. These can be better estimated if Product Owner and QA and dev meet together to discuss the feature before the sprint starts.

I should make these thoughts into an article....

end side note

Feedback loops help reduce risk. TDD to demos and Retrospective, smart failure and testing hypotheses.

Minute 43:

Instrumentation is needed in the app to validate hypotheses.

A hypothesis is just an assumption until it is validated by data.

Selling to Business

ROI Technical Debt Feedback reduces risk Smart failures, testing hypotheses

Minute 46: “Newer breed of agile” Failure, smart failures needed. small failures, small successes build to large success, learning and innovation. “information is a strategic asset to the company”

Other sources that I was reading that related to the ideas in this podcast.

Some quotes from an article on about Charitable giving

http://imprimis.hillsdale.edu/charitable-giving-and-the-fabric-of-america/

“how private philanthropy compares to government funding. The former is superior in its ability to be individualized and pluralistic”

“Government programs, by necessity, focus on the crowd”

“By creating personal transactions, they use the power of relationships to change behavior. As Mother Teresa used to say, “I never think in terms of a crowd, but of individual persons.””

“Which leads us to a fancy word that every American ought to know: polyarchy—referring to a society in which there are many independent sources of power (the opposite of monarchy)”

“Think about what happens every autumn weekend at hundreds of stadiums around our country. What is involved when you move a crowd of 50,000 from the stadium to their cars to their homes? If you tried to plan or direct that from a central perch, it would be a mess.” “There’s no agency in charge of making sure that Fort Worth doesn’t run out of milk, but it never does. That’s what happens in a free society. Lack of uniformity and coordination is more often than not a blessing.”

Disruptive Innovation – “A disruptive innovation is an innovation that creates a new market and value network and eventually disrupts an existing market and value network, displacing established market leaders and alliances.”

The world of business is changing

http://www.microsoft.com/en-us/server-cloud/data-driven.aspx – in the last 20 minutes, Judson Althoff President of Microsoft showed this graph that 75% of the current S&P 500 companies won’t be there in 10 years.

Microsoft Data Driven screenshot

George Gilder author

I heard about George Gilder's information theory that information is extremely important to our economy. I haven't read this book yet. http://www.amazon.com/Knowledge-Power-Information-Capitalism-Revolutionizing/dp/1621570274

Here are some notes from (Wealth and Poverty)[http://www.amazon.com/Wealth-Poverty-George-Gilder/dp/0786100109] that I was reading at the time and a book the President Reagan quoted often.

xv Far from a system of greed, capitalism depends on a golden rule of enterprise: The good fortune of others is also your own.

"capitalism is inherently favorable to altruism, an orientation towards the needs of others."

xxi There are two ways to reduce uncertainty. One is to replace uncertainty with information, creating productivity knowledge." Alternatively I can figure the statistical likelihood of the wolf threat (3 pigs analogy), turn uncertainty into a measure probability, and then purchase insurance. ~ 2008 crash, modern finance opted decisively for insurance.

xxii The key issue in economics is not aligning incentives with some putative public good but aligning knowledge with power.

xxv The great divorce of knowledge and power, information and finance, entrepreneurial realities on the ground and cantilevered paper towers in the sky was complete and cataclysmic.

xxvi Regulation is an effort to replace knowledge with power.

xxxv The wealth of America is not an inventory of goods; it is an organic living entity, a fragile pulsing fabric of idea, expectations, loyalties, moral commitments, and visions.

xl Capitalism is a system that begins not with taking but with giving to others.

354 "The concept of information theory in economics similarly misses the necessary bound of surprise in all radical innovation..... It is the leap, not the look, that generates the crucial information; the leap through time and space, beyond the swarm of observable fact, that opens up the vista of discovery."

355 Imagination precedes knowledge. Creative thought is not an inductive process in which a scientist accumulates evidence in a neutral and "objective" way until a theory becomes visible in it. Rather the theory comes first and determines what evidence can be seen.

358 But a final facet of the law of mind - perhaps the most crucial of all in our current impasse - is the role of problems. Problems, dilemmas, and paradoxes are not sources of discouragement and frustration but the necessary spurs of new knowledge and creativity.

The crucial rules of creative thought can be summed up as faith, love, openness, conflict and falsifiability. The crucial rules of economic innovation and progress are faith, altruism, investment, competition, and bankruptcy, which are also the rules of capitalism.

Capitalism accumulates the capital gains not only of its successes but also of it failures, capitalized in new knowledge.

https://answersingenesis.org/genetics/information-theory/ - this was interesting about the information involved in life and DNA.

Conclusion

The DotNetRocks - The Economics, Psychology and Science of Agile with Matthew Renze really got me thinking. Big ideas like Agile need to be adapted to each of our situations. Communication, humility, and relationships are the lynch pin to being successful in life and programming projects. Data and experience are extremely useful tools to break through cultural barriers, to know and touse to lead to a path of more productivity for your team.

The world is changing and we need all the information and tools to be able to continue to adapt to deliver the best Return on Investment that we can for our product owners. This will enable the business to be successful.