Product Features & Requirements
Measured by the number of its features
A grossly obese set of requirements
Requirements proliferation
Features and complexity
It's not the features that matter
I'm sorry, I love engineers
Content as value
Intramural brownie points
We optimize what we measure
Chesterton’s Fence
When users never use the features they asked for
Minimum Awesome Product
An Article by Carlos BeneytoUsers are accustomed to a minimum of quality, and they expect that of all new products.
If our product does not [meet basic expectations of quality], people will automatically believe that it is a bad product and they will not take it seriously. It is not what they expect.
Hence my suggestion that the MVP has died and the MAP: Minimum Awesome Product was born.
Time-based analytics
An Article by Ryan SingerAnalytics apps don't tell you much about usage behavior. You might be able to see how many users performed an event, or how many times they did it. But none of the analytics packages out there are good at showing you how often people do things. Are they using to-dos once a week? Every day? Only signing into the app once a month but happily paying for years?
Time matters. You can't understand usage without time.
What happens to user experience in a minimum viable product?
An Article by Ryan Singer"Feature complexity is like surface area and quality of execution is like height. I want a base level of quality execution across all features. Whenever I commit to building or expanding a feature, I'm committing to a baseline of effort on the user experience."
There’s a distinction to make: The set of features you choose to build is one thing. The level you choose to execute at is another. You can decide whether or not to include a feature like ‘reset password’. But if you decide to do it, you should live up to a basic standard of execution on the experience side.
Features can be different sizes with more or less complexity, but quality of experience should be constant across all features. That constant quality of experience is what gives your customers trust. It demonstrates to them that whatever you build, you build well.
August short No. 2: Glass
An Article by Riccardo MoriGlass looks and feels perfectly tailored to my photo sharing needs and expectations. For me it’s even better than pre-Facebook Instagram in the sense that it pushes me to select and share what I think are good photos (same as it happens with Flickr), rather than making me obsess with getting ‘the Instagram shot’ at all costs every day or multiple times in a day. It doesn’t cheapen photography like Instagram has done for years.
That’s why I hope Glass’s founders/developers will resist feature creep. Resist user objections like: I don’t think Glass is offering that much for the subscription price they’re asking. There are a lot of people who will gladly pay for having a cleaner, simpler, focused experience.
Feature parity
An ArticleWhilst Feature Parity often sounds like a reasonable proposition, we have learnt the hard way that people greatly underestimate the effort required, and thus misjudge the choice between this and the other alternatives. For example even just defining the 'as is' scope can be a huge effort, especially for legacy systems that have become core to the business.
Most legacy systems have 'bloated' over time, with many features unused by users (50% according to a 2014 Standish Group report) as new features have been added without the old ones being removed. Workarounds for past bugs and limitations have become 'must have' requirements for current business processes, with the way users work defined as much by the limitations of legacy as anything else. Rebuilding these features is not only waste it also represents a missed opportunity to build what is actually needed today. These systems were often defined 10 or 20 years ago within the constraints of previous generations of technology, it very rarely makes sense to replicate them 'as is'.
Software that nobody wants
An Article by Gandalf HudlowFinding value is the result of enabling individual and group-level discovery attempts. It's not the result of everyone following one leader's gut.
What just happened is a new software product/feature was created that no customer wanted. This happens way too often. In fact, most hyper important software projects that must be done by date certain or else, have deep flaws that cause some variation of this phenomenon, flaws that include:
- Not wanted - Company specified a solution to a problem that customers don't actually have
- No Rarity - Company is pursuing an iKnockoff of existing products. The market already has two scaled competitors with working solutions, customers naturally spend budget on products that are already successful to avoid risk
- Incorrect Packaging - Customers need a website, but the company created an iOS app instead
- Incorrect Pricing - Customers need SaaS pricing, but the company created a shrink wrapped, on-premise solution with CapEx and maintenance agreements instead
Adding is favoured over subtracting in problem solving
A Research PaperHow would you change this structure so that you could put a masonry brick on top of it without crushing the figurine, bearing in mind that each block added costs 10 cents? If you are like most participants in a study reported by Adams et al. in Nature, you would add pillars to better support the roof. But a simpler (and cheaper) solution would be to remove the existing pillar, and let the roof simply rest on the base.
A series of problem-solving experiments reveal that people are more likely to consider solutions that add features than solutions that remove them, even when removing features is more efficient.
Not Just a New Feature; a New Compact
A Fragment by Jorge ArangoMy sense is that Slack’s teams think of themselves as adding ‘features’ to a ‘product,’ instead of as stewards of a place where people work.
Understanding the Kano Model
An Article by Jared SpoolThe horizontal axis represents the investment the organization makes. As investment increases, the organization spends more resources on improving the quality (remember, Noriaka was a quality guy at heart) or adding new capabilities.
The vertical dimension represents the satisfaction of the user, moving from an extreme negative of frustration to an extreme positive of delight. (Neutral satisfaction being neither frustrated nor delighted is in the middle of the axis.)
It’s against the backdrop of these two axes that we see how the Kano Model works. It shows us there are three forces at work, which we can use to predict our users’ satisfaction with the investment we make.
Doing It Right
An Article by Brad FrostDoing it right requires a different pace of working and a much broader thought process than “ok, let’s get this thing out the door.” Which is super tough because most workplaces place a huge emphasis on getting things out the door, and fast. Little agile tickets that are expected to be completed in micro sprints to me seem to be antithetical to doing it right.
The Web is Industrialized and I Helped Industrialize It
An Article by Dave RupertIn our cultural obsession with billionaire entrepreneurs we laud new features more than the maintenance and incrementalism work of making old features better and more accessible. Maintenance looks like red minus signs in the spreadsheet. New features look like green plus signs. New features look better on our LinkedIn profiles. New features have that pizzazz, baby.
When gardening, the building of planters and initial planting is a very short process. The majority of your time is spent nurturing and monitoring growth. I personally feel the struggle between maintainer work and new shiny feature work. I enjoy that new feature smell but I know that my day-to-day is more like a janitor on a boat mopping up someone else’s barf. In terms of metaphors, the gardening metaphor is certainly better, and it acknowledges that design and development still tend to be more creative endeavors.
Yagni
A Definition by Martin FowlerYagni originally is an acronym that stands for "You Aren't Gonna Need It". It is a mantra from Extreme Programming that's often used generally in agile software teams. It's a statement that some capability we presume our software needs in the future should not be built now because "you aren't gonna need it".
Product vs. Feature Teams
An Article by Marty CaganThis article is certain to upset many people.
A City Is Not a Tree
- Strands of life
- Impending destruction
- The right overlap
- The difficulty of designing complexity
- Political chains of influence
Strands of life
For the human mind, the tree is the easiest vehicle for complex thoughts. But the city is not, cannot, and must not be a tree. The city is a receptacle for life. If the receptacle severs the overlap of the strands of life within it, because it is a tree, it will be like a bowl full of razor blades on edge, ready to cut up whatever is entrusted to it. In such a receptacle life will be cut to pieces. If we make cities which are trees, they will cut our life within to pieces.
Impending destruction
In any organized object, extreme compartmentalization and the dissociation of internal elements are the first signs of coming destruction.
The right overlap
Overlap alone does not give structure. It can also give chaos. A garbage can is full of overlap. To have structure, you must have the right overlap.
The difficulty of designing complexity
Designers, limited as they must be by the capacity of the mind to form intuitively accessible structures, cannot achieve the complexity of the semilattice in a single mental act. The mind has an overwhelming predisposition to see trees wherever it looks and cannot escape the tree conception.
Experiments suggest strongly that people have an underlying tendency, when faced by a complex organization, to reorganize it mentally in terms of non-overlapping units. The complexity of the semilattice is replaced by the simpler and more easily grasped tree form.
Political chains of influence
In Chicago, formal chains of influence and authority are entirely overshadowed by the ad hoc lines of control which arise naturally as each new city problem presents itself. These ad hoc lines depend on who is interested in the matter, who has what at stake, who has what favors to trade to whom.
This structure, which is informal, working within the framework of the first, is what really controls public action. It varies from week to week, even from hour to hour, as one problem replaces another. Nobody’s sphere of influence is entirely under the control of any one superior; each person is under different influences as the problems change. Although the organization chart in the Mayor’s office is a tree, the actual control and exercise of authority is semilattice-like.
Same name in the same basket
Does a concert hall ask to be next to an opera house? Can the two feed on one another? Will anybody ever visit them both, gluttonously, in a single evening, or even buy tickets from one after going to a performance in the other?
In Vienna, London, Paris, each of the performing arts has found its own place, because all are not mixed randomly. The only reason that these functions have all been brought together in Lincoln Center is that the concept of performing art links them to one another. The organization is born of the mania every simple-minded person has for putting things with the same name into the same basket.
Separation of concerns
Another favorite concept of the CIAM theorists and others is the separation of recreation from everything else. This has crystallized in our real cities in the form of playgrounds. The playground, asphalted and fenced in, is nothing but a pictorial acknowledgment of the fact that ‘play’ exists as an isolated concept in our minds. It has nothing to do with the life of play itself. Few self-respecting children will even play in a playground.
Play itself, the play that children practice, goes on somewhere different every day. In a natural city this is what happens.
Structural complexity
The idea of overlap, ambiguity, multiplicity of aspect, and the semilattice are not less orderly than the right tree, but more so. They represent a thicker, tougher, more subtle and more complex view of structure.
Neighborhoods
We cannot get an adequate picture of what Middlesborough is, or of what it ought to be, in terms of neighborhoods. When we describe the city in terms of neighborhoods, we implicitly assume that the smaller elements within any one of these neighborhoods belong together so tightly that they only interact with elements in other neighborhoods through the medium of the neighborhoods to which they themselves belong. Ruth Glass herself shows clearly that this is not the case.
Cities which are trees
Columbia, Maryland
Greenbelt, Maryland
Greater London Plan
Mesa City, Paolo Soleri
Tokyo Plan, Kenzo Tange
Chandigarh (Le Corbusier)
Brasilia, Lucia Costa
Communitas (Percival and Paul Goodman)
Roman town evolved from military campsIn the worst cases, the units of which these cities are composed fail to correspond to any living reality; and the real systems, whose existence actually makes the city live, have been provided with no physical receptacle.
In a tree structure, it means that within this structure no piece of any unit is ever connected to other units, except through the medium of that unit as a whole.
Sets and systems
When the elements of a set belong together because they cooperate or work together somehow, we call the set of elements a system.
From a designer’s point of view, the physically unchanging part of this system is of special interest. I define this fixed part as a unit of the city.
Whatever picture of the city someone has is defined precisely by the subsets he sees as units.
Natural and artificial cities
I want to call those cities which have arisen more or less spontaneously over many, many years natural cities. And I shall call those cities and parts of cities which have been spontaneously created by designers and planners artificial cities. Siena, Liverpool, Kyoto, and Manhattan are examples of natural cities. Levittown, Chandigarh, and the British New Towns are examples of artificial cities.
It is more and more widely recognized today that there is some essential ingredient missing from artificial cities.
Trees and semilattices
The tree of my title is not a green tree with leaves. It is the name of an abstract structure. I shall contrast it with another, more complex abstract structure called a semilattice.
Both the tree and semilattice are ways of thinking about how a large collection of many small systems goes to make up a large and complex system.
A collection of sets forms a semilattice if, and only if, when two overlapping sets belong to the collection, the set of elements common to both also belongs to the collection. That is, if [234] and [345] belong to the collection, then [34] belongs to the collection.
A collection of sets forms a tree if, and only if, for any two sets that belong to the collection either one is wholly contained in the other, or they are wholly disjoint. Every tree is trivially a simple semilattice.
We are concerned with the difference between structures in which no overlap occurs, and those structures in which overlap does occur.
The semilattice is potentially a much more complex and subtle structure than a tree. It is this lack of structural complexity, characteristic of trees, which is crippling our conceptions of the city.