Blog.wingman-sw.com is a subdomain of wingman-sw.com, which was created on 2013-01-03,making it 11 years ago.
Discover blog.wingman-sw.com website stats, rating, details and status online.Use our online tools to find owner and admin contact info. Find out where is server located.Read and write reviews or vote to improve it ranking. Check alliedvsaxis duplicates with related css, domain relations, most used words, social networks references. Go to regular site
HomePage size: 109.785 KB |
Page Load Time: 0.518048 Seconds |
Website IP Address: 34.174.26.195 |
Especially Yours | Our Blog blog.especiallyyours.com |
Blogging On The Knob - Advice on how to get started with blogging (and avoiding some common webstore blogging.ontheknob.com |
Achieving Business Agility and Agile Planning | Scaled Agile staging.scaledagile.com |
Embedded Software Development Services - Developex - Embedded Software Development Company embedded.developex.com |
Alex Devero Blog - Learn about development, and programming, especially in JavaScript, TypeScript an blog.alexdevero.com |
Agile India 2018 – Asia's largest Agile and Lean Conference 2018.agileindia.org |
Twitter Fiction on Thaumatrope: The Twitter Fiction E-zine of Science Fiction, Fantasy, & Horror thaumatrope.greententacles.com |
Top 11 Sports News Sites & Twitter Accounts to Follow in 2023 fantasy-basketball.alltop.com |
Twitter for Business | Twitter tips, tools, and best practices business.twitter.com |
Twitter Feed : feed your blog to twitter help.twitterfeed.com |
BioTuring's Blog - Data analysis made easy. For biologists, especially. blog.bioturing.com |
Automated Digital Follow Up by LinkU - The Ultimate Follow photos.linkurealty.com |
Jeff Reifman's Twitter Archive - Tweets from @reifman Jeff Reifman's Twitter Archive twitter.jeffreifman.com |
Agile Modeling Home - The Agile Modeling (AM) mail.agilemodeling.com |
James Grenning's Blog | Blogging about Agile Development, … https://blog.wingman-sw.com/ |
Physics of Test Driven Development | James Grenning's Blog http://blog.wingman-sw.com/physics-of-test-driven-development |
Thoughts on TDD (After almost 20 years) | James Grenning's Blog http://blog.wingman-sw.com/thoughts-on-tdd |
Self-Paced Training: TDD for Embedded C/C++ | James … http://blog.wingman-sw.com/self-paced-training-tdd-for-embedded-c-cpp |
Planning Poker Party (The Companion Games) | James … http://blog.wingman-sw.com/archives/36 |
Deep Agile Panel Questions – Change | James Grenning's Blog https://blog.wingman-sw.com/archives/43 |
James Grenning's Blog https://blog.wingman-sw.com/page/2 |
Code Coverage’s Mixed Message | James Grenning's Blog https://blog.wingman-sw.com/archives/273 |
James Grenning's Blog https://blog.wingman-sw.com/page/3 |
Engineers and Programmers, Stop Writing So Much Firmware https://blog.wingman-sw.com/archives/458 |
automation | James Grenning's Blog https://blog.wingman-sw.com/archives/category/automation |
Is Software like Building? | James Grenning's Blog https://blog.wingman-sw.com/archives/487 |
Story Weight Reduction Toolkit | James Grenning's Blog http://blog.wingman-sw.com/archives/48 |
TDD and the Real-World | James Grenning's Blog https://blog.wingman-sw.com/archives/330 |
January | 2020 | James Grenning's Blog https://blog.wingman-sw.com/archives/date/2020/01 |
Server: nginx |
Date: Sun, 12 May 2024 01:43:51 GMT |
Content-Type: text/html; charset=UTF-8 |
Transfer-Encoding: chunked |
Connection: keep-alive |
Vary: Accept-Encoding |
Expires: Thu, 19 Nov 1981 08:52:00 GMT |
Cache-Control: no-store, no-cache, must-revalidate |
Pragma: no-cache |
Link: http://blog.wingman-sw.com/wp-json/; rel="https://api.w.org/", https://wp.me/7KFOs; rel=shortlink |
Set-Cookie: PHPSESSID=bc7ebf6b1bff6eeda284623d8bdea0c1; path=/, wassup745d65abd6e2aab6b2e7c6d8f540c5ce=MGJfNzBlNDUwNDU5NTc5NzA2NGNmOTBjOWM0NDdiMzNhNmYjIzE3MTU0ODA5MzEjIyMjNzQuNDguMTYwLjE2MyMjOTkuMjE5LjE3OC4xNzAtZGVkaWNhdGVkLm11bHRhY29tLmNvbSMj; path=/ |
X-Httpd: 1 |
Host-Header: 6b7412fb82ca5edfd0917e3957f05d89 |
X-Proxy-Cache: MISS |
X-Proxy-Cache-Info: 0 NC:000000 UP:SKIP_CACHE_SET_COOKIE |
charset="utf-8"/ |
content="width=device-width" name="viewport"/ |
content="max-image-preview:large" name="robots"/ |
content="WordPress 6.5.3" name="generator"/ |
content="website" property="og:type"/ |
content="James Grenning's Blog" property="og:title"/ |
content="Blogging about Agile Development, especially embedded. Follow me on twitter: jwgrenning" name="og:description"/ |
content="http://blog.wingman-sw.com/" property="og:url"/ |
content="James Grenning's Blog" property="og:site_name"/ |
content="https://s0.wp.com/i/blank.jpg" property="og:image"/ |
content="en_US" property="og:locale"/ |
Ip Country: United States |
City Name: Dallas |
Latitude: 32.7797 |
Longitude: -96.8022 |
: jwgrenning James Grenning’s Blog Blogging about Agile Development, especially embedded. Follow me on twitter: jwgrenning SearchHome Post navigation ← Older posts Fake News: Test-Driven Development has no Design! Posted on January 16, 2024 by jwgrenning Reply Even if this was true, Test-Driven Development would be useful for realizing an up-front design. Humans make so many mistakes coding, the feedback loop of TDD helps you find those mistakes in the most efficient way I’ve ever seen (but I’ve only seen what I have seen). Certainly Test-First Programming (TFP) more effective than predominant programming practice, Debug Later Programming. TDD is much more than TFP. Let me debunk this fake news. My First 2 decades of development For about the first twenty years of my programing career, I pursued big design up-front (BDUF). Teams I led got pretty good with with BDUF. We would collect requirements for months on end. Get customers approval, then hide and do our design work, implement the system and go to the lab. We had specs, diagrams, text, pseudo code, and reviewed it all. It was an improvement over the chaos approach before BDUF. Our cycle time was an impressive 6 to 12 months (ahem). Sometimes we even made the deadline. I worked mostly in embedded systems. When we finally got hardware, with anticipation we fired up the system somehow expecting it to work. Guess what? The system crashed. Now, late in the development cycle we had to deal with the mistakes, wrong requirements, untried hardware, unconfirmed design ideas and assumptions made to get to this point. With reality setting in, we were forced to the iterative and incremental process we all know too well, debugging. A Chage of Course in 1999 Thankfully my path changed in 1999. I attended the first Extreme Programming Immersion in the suburbs of Chicago at Object Mentor, my employer at the time. Kent and the crew described problems with development that I was all too familiar with: Late delivery, no warning of coming problems, defects delivered to customers, deteriorating design, and on top of that the burned out developers suffering through a death-march. Kents 12 practices of XP seemed to address many of the problems. The techniques did not require a long explanations and a long time to payback. The logic-chain from problem to solution was made of only a few links. The discrete practices supported each other. We could try the ideas pretty easily and find out for ourselves. I’d say at the time, XP was light on design advice. That was OK, because many of us early learners had already invested a lot in learning design. Robert Martin’s Object Mentor taught design and coined the term SOLID. We knew our way around upfront design. XP does not prescribe how much design upfront is needed because each system has different needs. A small team needs less formal design than someone on a large multi-team effort. It is easy and ego building to over-engineer and design up-front. It is harder to do just enough design, just in time. We have to take a more humble attitude, we can’t get it all right up-front. Iterate to good design was a major insight by Kent, Ward, Ron, Martin and others that I am grateful to have heard about in 1999. TDD Ecosystem What experienced Test-Driven Developers simply call TDD today is more of an ecosystem than simply the application of one XP practice with a new name (the old name was TFP). Kent Beck originally used the term metaphor to describe design. It was confusing to me, but included having a system of names and conventions to navigate the design. Recalling what Ron Jeffries told me back in 1999… design is so important, we do it everyday. When we discover something new about the need, the environment, or the existing system, consider the design impact. Design is not an isolated activity we can do once. Do design every day. Little things matter, and they scale. Ron said Modularity works!”. TDD encourages modularity. TDD provides subtle pressure on a design to improve cohesion and coupling. These responsibility assignment choices happen at many levels everyday. For me, design is creating a vision of the overall structure of the system. Design is never done, at least not until you stop supporting the system. Imagine a map of the United States, it’s made up of individual states connected through an interstate highway system. The states are also grouped into regions with different cultures, like Midwest, New England, the Southeast…. The country is sliced north to south into timezones. To navigate this system, diagrams, patterns and naming conventions really help. I want that help. The TDD ecosystem includes applying design principles and having a vision of how the pieces are connected, how they are grouped and how they interact with each other. How formal does the design need to be? That depends on your situation. Considering the needs continue to evolve, it is silly to think design happens only in the beginning. Nothing new here. We discovered this while we tried to do BDUF/waterfall in the late 80s. Did we give up on BDUF and waterfall? No. We started a number of little waterfalls. This helped, but we never would have had the insight to get to something like TDD and XP’s iterative and incremental engineering techniques. Design is hard, learn from those before us To be good at software development you need a lot of design insight and tools at your disposal. TDD is one of those tools. TDD helps you see your poor design decisions. Added complexity in tests, hard to use interfaces, complex initializations are some of the early warnings. What are some of the other design principles and concepts the test-driven developer needs to understand and apply: Principle of Least Knowledge. Separation of Concerns (SoC) SOLID DRY DAMP GRASP ZOMBIES FIRST DDD BDD Design Patterns Hexagonal architecture (ports and adaptors) Recognizing code smells Envisioning a better design Refactorings and incremental improvement Law of Demeter (LoD) Conclusion There is plenty of design in the TDD ecosystem. Design is so important, do it all the time. BTW: you don’t have to learn TDD. Find another fast-feedback way to work. I would love to hear about it. Here are a couple of other articles, from 2012 ,on the topic of TDD has no design. TDD ignores the design” No it doesn’t” Yes it does” – Part 1 TDD ignores the design” No it doesn’t” Yes it does” – Part 2 Posted in Uncategorized | Leave a reply Self-Paced Training: TDD for Embedded C/C++ Posted on January 2, 2020 by jwgrenning 2 Hello Friends I am developing a series of self-paced training modules for Test-Driven Development for Embedded C and C++. The training modules will have exercises to cement the learning. I’ll offer them individually or in a couple bundles. Each module will take six or more hours to complete. The modules follow the flow of my on-site and live-via-the-web formats found on wingman-sw . Continue reading → Posted in Agile Embedded , Embedded TDD , Legacy C , Refactoring C , SOLID , TDD , TDD C , Test Driven Development | 2 Replies Wrestle Legacy C and C++ into a Test Harness – Linker Errors Posted on September 11, 2019 by jwgrenning Reply Getting started with TDD in C and C++ is challenging. On top of that, you have your whole product’s code base to start adding tests to. You don’t have time to stop all development and add tests to your code, so you need a pragmatic approach. As you drag your legacy code, kicking and screaming into a test harness, take your time and solve one problem at a time. It is the fast way. This article is about getting past a boat-load of C and C++ linker errors. I’ve got a method and a tool to help get through that challenging step. You can find the tool, gen-xfakes , here on my GitHub account. Continue reading → Posted in Embedded TDD , Legacy C , TDD , TDD C , Test Driven Development , Unit Testing | Leave a reply Responsibilities of the...
Domain Name: WINGMAN-SW.COM Registry Domain ID: 1770740772_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.fastdomain.com Registrar URL: http://www.fastdomain.com Updated Date: 2023-12-19T16:20:05Z Creation Date: 2013-01-03T15:19:08Z Registry Expiry Date: 2025-01-03T15:19:08Z Registrar: FastDomain Inc. Registrar IANA ID: 1154 Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited Name Server: NS-1190.AWSDNS-20.ORG Name Server: NS-1934.AWSDNS-49.CO.UK Name Server: NS-351.AWSDNS-43.COM Name Server: NS-591.AWSDNS-09.NET DNSSEC: unsigned >>> Last update of whois database: 2024-05-17T14:37:18Z <<<