Marko Anastasov wrote this on October 18, 2011

Making change

From Individuals and Interactions: An Agile Guide :

When building a new system, the software developers' livelihood is based on creating change. At the same time, the world of many users of the new software may resist having to learn new tools.

While we, hackers, are all proud to be makers, it’s easy to forget that in the end anything we make is a change for everyone who’s exposed to our work. It is probably an underestimated reason why most software projects fail - they simply fail to negotiate enough attention with users.

Every time you decide to use a piece of software, you enter an unwritten contract, where the application promises to be useful for certain tasks that are important to you, while you promise to give it your time, attention, and a spot in your living habits.

It is no wonder that everyone sooner or later optimizes to work with less software. That is actually the starting point for most people outside the technology world - and they never move from it. We often need a number of years to enter that zone, and we may even glorify that realization, as shown by the popularity of software blogs that talk about “minimalism”, “simplicity” and “zen”.

Similarly, on the web, “tools” are replaced with “web sites” and the concept remains. We have just enough space in our brain to visit a few sites when we’re online, and it why most people get most of their information via recommendations off very few social web sites.

That would mean that most web sites should be optimized for casual, short interaction and a short attention span. Be useful, and provide for quick exit. For a user it’s a happy loop, and it’s a promise for an eventual return.

comments powered by Disqus

About Marko Anastasov

Marko co-founded Rendered Text. He’s a programmer with a passion of creating something for other people, coupled with interests in how things work in the society and nature. He is having a great time working across many areas in the company, including product design, helping the engineering teams, empowering users and marketing. He likes to counterbalance it all with running, cycling or a day in the woods.

Suggested Reads

Inject is a fundamental building block

Inject is one of the fundamental, and most versatile constructs available in functional languages. It can be used to implement map, select, max, all? and a bunch of other iteration related methods. Unfortunately, many programmers are not aware of its awesome powers. This article is here to improve this fact.


Rendered Text is a software company. For questions regarding Semaphore, please visit Otherwise, feel free to get in touch any time by sending us an email.

Rendered Text
Svetozara Miletica 10
21000 Novi Sad