The North Star of Software Development: Decoding Priorities
Analyzing the "North Star" of software development proposed by Loris Cro, which places user utility as the highest priority, with accuracy and maintainability serving as means to that end.
In the field of software development, countless decisions must be made daily. “Should we fix this bug now?” “Should we delay this refactoring to the next sprint?” “Should we incorporate this new language feature?” Developer Loris Cro has clearly outlined a “North Star” for guiding such decisions in a blog post. His proposed prioritization framework places “usefulness to the user” as the highest priority, declaring that all other considerations are merely means to achieve that end.
The Hierarchy of Priorities
Cro’s framework consists of three levels of prioritization.
First, software must be useful to the end user, aiming to create software that users can love. This is the most critical guideline. No matter how technically advanced a piece of software is, it is meaningless if users do not want to use it.
Second, software must be accurate. Malfunctioning software undermines the usefulness it can provide to users. While bug-free software is the ideal, the pursuit of usefulness takes precedence over absolute perfection.
Third, software must be maintainable and efficient. To maximize usefulness while avoiding the waste of human and computational resources, it is essential for the software to be practical in terms of maintenance and performance. It is considered more important for code to be maintainable and functional than to be aesthetically pleasing.
A Warning Against Technical “Misdirection”
One of Cro’s most intriguing observations is his critique of the industry’s common tendency to “misplace priorities.” He identifies three typical errors:
“Even if a blockchain has no bugs, it means nothing if it facilitates rug-pulls (scams that defraud investors).” — Cro warns against confusing technical accuracy with usefulness to users.
“Even if a programming language promises memory safety, it’s meaningless if it doesn’t support correct design.” — He criticizes cases where the use of a safe language becomes an end in itself. Cro points out that without a process to ultimately fix all bugs, the language’s safety promises are hollow.
“Even if you stack layers of elegant abstractions, it’s pointless if the software runs too slowly or becomes unmaintainable.” — He delivers a scathing critique of prioritizing aesthetic design over practicality and usability.
Developer Experience Is a Means, Not the Goal
In his blog, Cro also draws a clear line regarding the role of “developer experience (DX).” According to him, developer experience is merely a means to “deliver more software that users can love and that developers, including oneself, can enjoy building.”
“Sometimes we run out of energy, take wrong turns, or even intentionally deviate from the path. But no one can deceive me into mistaking an inferior star for the true destination,” Cro states.
This philosophy is closely tied to the rise of AI-powered code generation tools and the proliferation of autonomous development environments, such as Microsoft’s newly announced AI Agent OS “Solara.” While these tools enhance developer experience, they can also lead to a loss of focus on the fundamental question: “What is development for?”
Reexamining the Essence of Software Development
Cro’s framework might seem like common sense at first glance. However, in real-world development, interest in cutting-edge technologies and architectural patterns often overshadows understanding what users truly need.
Cro asserts that “the ultimate goal is to maximize usefulness for the end user. Everything else exists to serve that purpose.” This straightforward message serves as a compass for engineers and product managers to share a common standard in the increasingly complex world of software development.
Editorial Perspective
Short-term Impact: With the proliferation of AI code generation tools and autonomous agents, the balance between the “usefulness” and “accuracy” of code is expected to come under renewed scrutiny. While the focus often shifts toward improving developer productivity, prioritization that doesn’t compromise end-user experience will become increasingly critical in the next 3–6 months. Cro’s framework offers practical guidance as a quality benchmark for AI-generated code.
Long-term Perspective: Over the next 1–3 years, the evaluation criteria for software development may shift from “how quickly can it be built” to “how effectively does it serve its purpose.” Cro’s framework could become a key reference point for human developers in a world increasingly dependent on AI for code generation. Additionally, in rapidly evolving fields like blockchain and AI agents, this framework could serve as a critical thinking tool to avoid losing sight of the user perspective.
A Question from the Editors: Can this prioritization truly be applied to all kinds of software? For instance, in the domain of entertainment, such as gaming, “fun” might take precedence over “accuracy.” Also, what exactly defines “software that users can love,” and how can it be measured? Readers, what is your “North Star” for your projects? Do you habitually reflect on whether your technical and design decisions genuinely benefit your users?
References:
- My Software North Star - Loris Cro’s Blog — Published June 3, 2026
Frequently Asked Questions
- Who is the intended audience for Loris Cro's "North Star" prioritization framework?
- It is aimed at software developers, product managers, technical leaders, and anyone involved in system design and feature prioritization in their daily work.
- What does "software that users can love" specifically mean?
- It refers to software that is not only functionally correct but also provides an experience that users find engaging, fulfilling, and worth recommending to others.
- Does this prioritization conflict with Scrum or Agile development methodologies?
- Not at all. It aligns well with Agile principles like "working software" and "customer collaboration," and can serve as a valuable guideline for prioritizing tasks and decisions.
Comments