TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Understand, Design, Build: A Framework for Problem-Solving

209 pointsby harryzhangabout 6 years ago

12 comments

thinkingkongabout 6 years ago
Reminds me of this incredible chart &#x2F; graph which you can use to apply to a lot of situations. I actively refer to this and show it to teams constantly. The gist of it is that you require many skills and capabilities to create alignment. Without that, you have different outcomes which we may initially experience as frustration &#x2F; failure.<p><a href="https:&#x2F;&#x2F;intenseminimalism.com&#x2F;2015&#x2F;a-framework-for-thinking-about-systems-change&#x2F;" rel="nofollow">https:&#x2F;&#x2F;intenseminimalism.com&#x2F;2015&#x2F;a-framework-for-thinking-...</a>
评论 #19307666 未加载
heathermillerabout 6 years ago
There&#x27;s a methodology of teaching programming focused on understanding and designing programs.<p>It&#x27;s in the book (available online for free) called How to Design Programs: <a href="https:&#x2F;&#x2F;www.htdp.org" rel="nofollow">https:&#x2F;&#x2F;www.htdp.org</a><p>It introduces the notion of a &quot;design recipe&quot; for structuring thinking and problem-solving for programming.
Spearchuckerabout 6 years ago
This framework is good. And like the other frameworks in other comments here, it&#x27;s a good enough start in a small company, start up, or small department within a larger organisation.<p>A better framework might be cobbled together from various disciplines. For instance, &quot;Understand&quot;. This part is huge. Well, bigger than those three questions the author lists.<p>&quot;Understanding&quot; begins by stepping back to look at the environment as a whole. Bound the situation. Assess organisational culture, the environment (immutable aspects of a transformation&#x2F;process), the organisation&#x27;s technology landscape (Active Directory?), regulatory requirements, competition, suppliers and customers.<p>There&#x27;s also the social system (roles, norms, values), and the political landscape.<p>Then you define your objective. But before you can do that you need to know who your client is. Sure, in SV that&#x27;s often easy. Outside that bubble not so much. Identify the client by asking some questions - whom do you need to satisfy? Who will judge the success of the project? Who will fail if the project fails? Who has authority for the project? Who pays for the project? Whom do you report to?<p>After all that you&#x27;re ready to set an objective. Vision&#x2F;scope stuff. Specific, measurable, attainable, realistic and time-boxed. Cliche&#x27;d, but when a project goes wrong the specification is the only version of the truth a team has to fall back on.<p>Setting project objectives is much bigger than I can do justice to here. However once you have that you can start with the fun stuff. Design, build, deploy, repeat until done.<p>However while you&#x27;re doing the fun stuff you still have to do the unfun stuff too - risk management, and stakeholder management. And it&#x27;s stupefyingly incredible how many people think they know how to do these things but can&#x27;t readily explain the difference between mitigation and contingency, exposure and impact, or why you have to be nice to the CIO for your project to succeed, even though the CTO and CEO are on your side.<p>I&#x27;ve written about all this stuff. <a href="https:&#x2F;&#x2F;www.wittenburg.co.uk&#x2F;Entry.aspx?id=8ec91ced-b3a4-4b07-bf91-17f0efda1718" rel="nofollow">https:&#x2F;&#x2F;www.wittenburg.co.uk&#x2F;Entry.aspx?id=8ec91ced-b3a4-4b0...</a>
评论 #19309726 未加载
评论 #19308531 未加载
Geeeabout 6 years ago
Yeah, usually the hardest problem is to define the problem, or even know that there exists a problem that could be solved. Once you have discovered, understood and defined your problem, solving it becomes easy.
评论 #19308546 未加载
评论 #19307505 未加载
WoodenChairabout 6 years ago
A more thorough framework to solve problems might come from being familiar with all of the available problem solving techniques in your domain. For instance, if your job is software development, you may want to know all of the problem solving techniques in computer science. Now is the point that I will be a shill for my own book: <a href="https:&#x2F;&#x2F;www.manning.com&#x2F;books&#x2F;classic-computer-science-problems-in-python" rel="nofollow">https:&#x2F;&#x2F;www.manning.com&#x2F;books&#x2F;classic-computer-science-probl...</a>
评论 #19305811 未加载
blaze33about 6 years ago
&gt; common misconception among new software professionals that the best engineers are the best at writing code<p>&gt; Our job is to find and solve problems that move the business forward.<p>Couldn&#x27;t agree more. Would also add that this &quot;best dev==best at coding&quot; ain&#x27;t only restricted to the young ones. Never stop asking theses &quot;why&quot; questions that sometimes show us that crappy and cheap systems may work wonders ;)
badfrogabout 6 years ago
These are very important steps to creating something, but there&#x27;s not really anything new here.<p>This is basically a simplified version of the design thinking framework with the implied &quot;build&quot; step at the end made explicit.<p>For example, the process that has been taught at Stanford for years is: empathize, define, ideate, prototype, test. The first two steps could map to &quot;understand&quot; here with the last three falling among &quot;design&quot; and &quot;build&quot; depending on the fidelity of your prototype.<p>PDF link to an overview from Stanford: <a href="https:&#x2F;&#x2F;dschool-old.stanford.edu&#x2F;sandbox&#x2F;groups&#x2F;designresources&#x2F;wiki&#x2F;36873&#x2F;attachments&#x2F;74b3d&#x2F;ModeGuideBOOTCAMP2010L.pdf" rel="nofollow">https:&#x2F;&#x2F;dschool-old.stanford.edu&#x2F;sandbox&#x2F;groups&#x2F;designresour...</a>
Aegaeus10111about 6 years ago
This is an adaptation of Design Thinking which designers have used for years. It&#x27;s found in Human centered Design, Design Sprints, Jobs To Be Done... and others.<p>I&#x27;ve seen lots of projects fail, cost way over budget, take years longer than projected (personal recorded: I paid a developer to write me - his estimate - a 6 week project. 8 years later he returned my money), and&#x2F;or completely miss the target because Dev jumps right in and starts coding - not being concerned with the &quot;soft&quot; stuff like business, usability, experience design, etc...<p>If this helps dev teams join the holistic effort to success, I&#x27;m all for it. I entirely agree that coders need to be problem solvers but also solvers of <i>relevant</i> problems.
wa1987about 6 years ago
Good talk on this subject:<p>Hammock Driven Development <a href="https:&#x2F;&#x2F;youtu.be&#x2F;f84n5oFoZBc" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;f84n5oFoZBc</a>
chiefalchemistabout 6 years ago
&quot;But our job isn’t to write code. Our job is to find and solve problems that move the business forward. Writing great code is a necessary but insufficient skill for doing that job.&quot;<p>If only more &#x2F; most people understood this. Coding has a finite use. Problem solving (and critical thinking) are universal and possible uses approach infinity. They are the equivalent of the proverbial &quot;learning to fish.&quot;
JunaidBhaiabout 6 years ago
Well written content. However, I am not sure if thoroughly complete. The whole article covers areas of shortcomings related to understanding the problem, designing the structure and building it. But fails to address &quot;upgrading current solution&quot; or &quot;optimizing the current solutions&quot; that suits the current market needs.
评论 #19305893 未加载
shay_kerabout 6 years ago
Is... is this waterfall?
评论 #19305851 未加载
评论 #19309705 未加载
评论 #19305554 未加载