Archive for the ‘work management’ Category
Teamwork’s philosophy: a short story
There were once two brothers and a sister, and they were managers at three companies.
The first brother was called Micro Manager, and he picked the most complex and integrated management tools, which were entrenched in the technical staff IDEs and into all their network activity, so that not a single line of code could be written without it being carefully logged. Not an hour could pass without justifying time spent; not a file could be opened without explaining why. Not a project could be created without designing a 100 leafed Gantt. And after a week everybody hated the system, and then they hated Micro Manager, and everybody was unhappy.
The second brother was called Over Simplify, and he didn’t want any kind of management apart from to-do lists. And everybody just had to-do lists, and for the first week everybody was happy. Then many started having long to-do lists, and some started worshipping them, and instead of working, they were compiling longer and longer personal to-do list. And every list was different from any other, and nobody knew what, when, how, and why, and everything was in a mess. And then they hated Over Simplify, and everybody was unhappy.
Their sister was called Reasonable Modesty, and she had minimal goals, had always clear that what matters is how people work and interact, and that software is always secondary, and should be flexible, not do too much, and not get in the way. She started evaluating Teamwork.
Doing better than the usual project management software?
How can we improve Teamwork, and more in general, how can we help people and teams manage their work better and better?
Teamwork today is a stable, well known and widely used application – its sales getting better every month. We are always improving it and searching for new ways to make it better. The feedback given by users through the feedback service and the answers Q&A gives us a lot of ideas.
But people’s way of work change evolve all the time. With software we should try to foresee changes, and in the case of structuring work, be compatible with new ways of working. Now, project and work management is a field where there is a lot of competing software, and new solutions are created quite often. So in the last weeks I checked competitors for new ideas and evolution that would cover the recent trends in ways of working, like for example having the browser as the “operating system” where more and more applications operate, and so in many organizations a considerable amount of activity is on applications in the browser. Yes, of course Teamwork is web based, but one can do much more than that today. New ways of working need new ideas, sometimes radically new ones. Is anyone proposing different models, or reacting to new working ways?
Well, to my surprise, no. The same mistakes are simply repeated, again and again, like trying to “trap” user communication flows and other user usages in the project / work management software; development is done under wrong beliefs like “using e-mail is wrong, and users should be ‘educated’ to centralized communication systems”. Such tasks are destined to fail: it is simply assumed that users will happily and daily spend a considerable and growing amount of time on your specialized project / work management application because of their stakanovistic dedication to organization, which is the opposite of what is happening: people use more and more different, specialized applications for their tasks, and dislike and refuse single, centralized “monster apps” which attempt to replace all others.
In my review of “solutions” I’ve even seen a specific content manager connected to a popular issue tracking system that offers users a blogging platform. Now, how likely is that? How happy will employees be of being forced to blog in that corner of the bizarre issue tracking software instead of using their preferred blogging platform? This kind of ideas just don’t make sense: you have to improve work management without directly impacting software usage, and without trying to replace high quality specialized solutions with centralized (low quality) ones.
We have learned a minimalistic, relational approach and deposited it in Teamwork years ago. Now what about going beyond that? Well, no concept evolution is happening in direct competitors.
So in my search, I ended looking at personal productivity software, after seeing this nice presentation by Scott Hanselman, and there indeed there are some original ideas; consider for example Evernote ©.
The high level of interactivity, openness to devices and compatibility with user habits of this application is striking. The aim of Evernote seems not as much managing work, as simply collecting notes for personal usage. But there is a lot of stuff to look and learn. And many users will start work management from a personal perspective, and then will try to propose it as a shared approach: I believe this is a path that currently lacks appropriate tool support. There is a divide between project / work management tools and personal productivity ones that should not be there. On one side project / work management tools still pursue the centralized application option, on the other the sharing features of personal productivity tools are weak.
So we decided to open an experimental platform where to try and test different approaches to managing work, in particular starting from the personal / to-do point of view. In the meantime, Teamwork will keep evolving and improving, eventually getting new features and improvements from this experimental platform. We will blog about our experiments here in the coming months. If you any suggestion to make, post it on the feedback service: thanks!
P.S. Teamwork release 4.4 should be out in a couple of weeks (a free upgrade to all users of version 4), and will introduce the notion of “public” project – keep in touch.
Open Lab and Teamwork are not associated with Evernote in any form.
Teamwork webinars
We have just activated the possibility of delivering webinars to customers to remotely supply instruction from our instructors. This is at a fraction of the cost of a bootcamp, and may be all you need. Details can be found here:
“Adding a wiki” to Teamwork
The meaning of “adding a Wiki”
The most voted request on our feedback service is “Integrate a wiki in the dashboards”:
I think that what actually users mean is “integrate Wiki functionalities in Teamwork”, but this is one of the requests that can be interpreted in several different ways: it probably implies a feature set, and some of such features make sense for the Teamwork context, and some may not.
Some example features:
- Let any user have a portlet on her home page that is actually the home of a company Wiki
- Let people edit any Teamwork page layout of in a Wiki way
- Have for any object a history of changes on that object
- Use Wiki syntax for any content
- Pages are created by just creating links to them
A different, more radical interpretation could be “change completely the management philosophy and let there be no user rights and pages and contents be just contributed by users”. In fact there are even applications for issue management that actually are just a wiki. Well now, I think that it may be useful to try to clarify what is the usefulness of work management software. It must be something that makes you work better; it’s quick to insert the essential work data, and that done, it does a lot of work for you. Inserting work data in a Wiki just doesn’t give any specific support. A Wiki is meant as a tool to manage a documentation body contributed by several people; that is just not what work management is about; and using the wrong software for the just, will just increase confusion in your company, make people frustrated and make them waste more time. Wrong software, sorry.
Implementing a Wiki engine
This does not mean that the Wiki’s logic can’t inspire some really good ideas that can be included in any kind of software. This is the perspective that we’ve taken on the “Wiki integration” subject, and there are many subtle problems involved, like:
- If you want to write contents with links to objects, it would be nice to have a RESTful API in Teamwork in order to write links simply
- Should we use the TinyMCE editing which we started using in some places (and users are pushing for more), or switch to Wiki syntax in contents?
- Up to today documents are typically linked in Teamwork, but contents lives outside (and this is generally a wise choice), but with this extension it should become really nice to write contents in Teamwork for specific projects
Given the deep integration of the Wiki features and Teamwork’s, we are building our own Wiki engine; its persistence is Hibernate based, and there is none available that does that, so this may become of general interest.
One of the considerations that convinced us to write it from scratch is that several Wiki applications functionalities are already available in Teamwork, often more refined than those built in Wikis. Like full text search, subscriptions and e-mail integrations and recent pages.
If you’d like to suggest some particular feature of the Wiki integration, you can post it on the feedback service (yes, we do check it out).
Simplistic cost/benefit evaluations of organizational tools adoption
I’ve recently received yet another request of a cost-benefit analysis given by the adoption of Teamwork, in general, of project and groupware management software. Not always in those exact terms, but we do periodically receive such requests. One may rephrase the question as “what is the exact economical gain given by adopting Teamwork”?
Very superficially, this looks like a clear question, which requires an exact answer. Let’s take a closer look.
What does it mean “adopting Teamwork”? If one takes even a cursory look at Teamwork user guide, one should quickly realize that for a tool that can integrate at so many different levels with IT infrastructure, this may mean all sorts of different things: one may be handling just high level projects, sharing them on the web, or one may have integrated it from intranet authentication and certification forms, following every little action in the company.
One may be using the exchange function with Subversion, Google calendars and Twitter, so even the boundaries between what is done in the company by Teamwork and what is done by other applications is blurred. So “adopting Teamwork” has different meanings for each adoption process.
But there is an even bigger conceptual mistake that is lingering here, given by the first part of the question, “exact economical gain”: i.e. that taking steps in improving quality of work, by implementing software aided organizational procedures, is a purely economical gain that can be accounted for say is a year after the reorganization. Anybody that has experience in reorganization and working on quality of work and communication knows that consequences cannot be evaluated so simplistically, though they can be great, and span an entire work life.
This said, the benefit that one will have basically depends on the plan and determination of the leader that is introducing innovation, by her/his culture, open mindedness and experience in the field and in human relationship, and the respect that she gets from the team; and we believe that in some cases (not all), Teamwork can be of help for such individuals, more structured help than just a to-do list shared online. But don’t ask us to fool you with numbers thrown at random; you should probably be very suspicious of vendors that promise X% “gains in efficiency” by doing this or that. Our customer list is partly public, the best way is to ask them, and everybody will give a different answer. Just my two cents.
Pietro Polsinelli
How (not) to evaluate project management software
Evaluating Project Management software is a delicate matter, as it potentially involves changing deeply rooted companies’ habits; in general, this holds for all work management software. Being the subjects of such scrutiny, we experience that most companies fortunately take the right way right from the start, which is, trying the software, inserting in it some real project and people data, and seeing whether it works. In the case of Teamwork, this can be done quickly, and there is both a demo online and an easily installable version, and considerable support readily available online to all.
But unfortunately not all companies take this “hands on” approach: some take the path of putting together list of requirements, and instead of testing the software against those, ask the software producers “whether their software meets these requirements”.
Now imagine that this was the way you chose to buy a house: you went to the seller, with a list of features, and you never go to actually see the house. You buy it because the seller tells you that the house fills your requirements. Nobody would do anything so foolish, no?
Putting together requirements and testing the software against them is actually a good idea, if handled properly: testing will at times show that the requirements are contradictory, or need refinement, and that the software models problems actually better than how imagined in the requirements. This is not surprising, as widely used software includes a lot of experience in management, often more than the users have. So the initial requirements should be only a first indication, and not something that is the main criteria for the final choice, which should be led by the usability and coverage or real problems offered by the software at hand.
Unfortunately there are producers of PM software and consultants that encourage users along the foolish path: they give formal answers to formal requirements, do demos themselves instead of letting the customers do that, make phone calls to facilitate over-priced sales, and all the usual bad practices.
Well, we don’t do that. We concentrate all our energies in developing a better product, and in producing publicly accessible documentation; we want customers to have software that really works and is usable, not just to close formal deals.
One can make software that satisfies long lists of requirements, but is totally unusable, will be hated by users, and will lead to user rejection, and hence to a huge waste of company’s money and people time. We really hope never to take that path.
Silvia Chelazzi - Pietro Polsinelli
Oh no, not another Scrum tool!
When we came back to Teamwork version 4 after reviewing some literature on agile methods, and in particular re-considering the Scrum perspective, it became progressively clearer that mapping Scrum ideas to this or that functionality of a software is inevitably a simplification and maybe even a betrayal of the agile philosophy: as these methodologies concern the way you approach problems, and have great variations in detail when it comes to each particular case; see
Agile Project Management with Scrum by Ken Schwaber, Microsoft Press
which is filled of examples.
From this perspective, the main point is not and should not be the management software you are using. We’ll get back to this in the final considerations.
We’re assuming here familiarity with concepts from agile methodologies and Scrum. Also the examples are tuned to software development, but the line, if valid, is valid in general.
Mapping examples
If one does decide to use a management software to manage agile procedures, one should be careful not to take simplistic decisions.
Consider for example backlog: collecting a backlog is the most basic step; how do you collect the backlog? It may be say a shared Google document; so from the PM software point of view, your backlog is a non structured document that the software does not manage. It may be a set of separate entities, say issues? It may be made of tasks with detailed descriptions and work estimations; and so on.
In many examples of teaching Scrum we see cards sticking on boards, and some software just use that idea for the user interface. People seem simply to be missing the fact that a development project may simply have like 800 “cards”. How the heck am I gonna stick those on a board??? It can’t work. You need something more flexible and powerful than a concrete or digital board.
Stand-up meetings: why is backlogging the subject of management-by-software and meetings aren’t? This is a typical and mistaken hacker’s perspective, because some people focus their management more on their agenda than on their to-do list, if they have such a thing. And you will have projects with both kinds of people (and many more).
Why recording the activity on the assigned tasks has to be done by scaling down hours on the selected items of the backlog? Wouldn’t it be more practical if say one could record activity in the Subversion commits? Or in your Twitter feed? Here too, you need an open ended tool, which collects data from many sources in different ways.
An example: let’s see a sample project and assignment structure: suppose you have a customer, a lead developer, and a set of developers, D1, D2, D3; you want to collect the backlog, and basically your main aim is to let the developers work in quiet conditions and with a stable set of requirements for a month. Well to model that in Teamwork is no big deal, you can support this procedure in several ways; for example you may have a root project ROOT, on which everybody is assigned as “reader”, and lead developer as project manager; you have a child BACKLOG, where the customer is assigned as “worker”, so she can contribute inserting backlog; the backlog is inserted as issues on this BACKLOG task.
You then create a new ROOT’ child task called FIRST SPRINT, move the subset of issues which constitute its effort to it, and assign D1, D2 and D3 as “workers”, so they can edit and close the issues, but nobody externally will change the set of issues. That’s it.
On this structure, Teamwork gives you many, many, many tools to go on, work comfortably, connect this project with others differently structured; it may even be a child of a completely different structured project. You may structure the BACKLOG task itself as a tree; you may have several sprints going in parallel; you may have after the spring a workflow of approval, and again here Teamwork supports you with task as processes. More examples could be made.
Final considerations
A most important consideration is that particular methodologies, say Scrum, help solving some class of problems, but will never cover the totality of the working activity of a company, not even the totality of projects of a company. Actually, the original Scrum texts are written in full consciousness of this limitation.
So it would be extremely non-agile to have specific software to follow the “agile” projects, and another one for the “others”. And even the “agile” projects will have so many variations, that they will fit in the agile metaphors at different levels, and hardly fit in a single “Scrum software model”.
So in the end we realized that the mapping between the methodology and the software (or paper) requires great flexibility; agility is in the methodology, not in the software. If you want to use a software, it should be flexible enough to let you map projects, tasks, issues to people and customers, in infinitely many different ways, but so that all data from the different projects and methodologies ends up in the same place.
So no, Teamwork is not yet another Scrum tool, it is a management tool that can help also those that decided to use Scrum for some projects, if they don’t prefer to use paper cards
Effortless work logging

- The worklog day on my dashboard nicely filled.
Yesterday I was about to go home and before leaving on my Teamwork dashboard I noticed that my worklog was already all there without me having to insert it: I just opened and closed issues all day (one click for any of these) and.. the log was all already there!
I don’t love recording work logs, actually, I hate it and often just don’t do it; but since issues are just so easy to add/close, and they really help me “get things done”, I’m now getting work log recorded for free: nice!
In other words, with the effort of a to-do list I’m filling the requirements of a project-management app. What made a difference is that the in-line multi edit of issues is so fast to operate, and so easily linked to my different tasks, that it is my sole entry point in Teamwork, where I insert all my work. It was also important that even if issues come from different tasks, as long as I am focused on myself I can sort them, and give my chaotic day an order, with very very little effort. In this, Teamwork version 4 really solved the problem.

- Multi editing/ordering issues.
Smarter search and recent object functionality
Here we examine a technique to improve usability in complex applications by introducing smarter search and “recent objects” functionalities. As usability becomes more and more a crucial feature of applications, helping users with full-text search and recent object lists may still prove insufficient. You may need to go beyond these features, by having a way to keep track of “most used” objects, which will help to:
- guess what you are looking for
- find what you are searching for
The problem
Lets see an example.
In these weeks you are working on items A, B and C of your favorite web application. Friday, you actually briefly worked on X, Y and Z before going home, as you had these for quite a while in the bottom of your to-do list. Now, you get back to work on Monday, and what you have in your “recent objects” list? Well, X, Y,Z. Useless. But you have full-text search. You search for the name of A, which actually hundreds of other objects share, and which maybe there are far more occurrences than in A, even if nobody has been using them for quite a while, so they fill results on top of your A. Useless. There is no easy way to get back to A: something here is not working.
This is a usability problem; in order to make your application more helpful, you should somehow keep track of what is being used most often by the users. How to do that? A complete answer is not trivial: as often happens in usability problems, what looks simple from the point of view of the user, is actually complex to solve and render. In the end, all complexity should be hidden, but the solution is not trivial.

- Area of focused interest in time.
What is relevant to you is not just stuff that you occasionally visited, but say projects or documents to which you recently returned to again and again: you need to keep in focus a window of attention. See it in this way: you want the projects or documents to which you are frequently linking to. You need a sort of personal page rank.
Recording hits
Well, the way to go is record what are doing; you have to record it somehow as a parallel, probably de-normalized table of “hits”, keeping it very simple, as you will probably get quickly really a lot of records there.
|
In the picture you see an example “hit”, when a user looks and/or works on something. Notice that as you will collect a lot of data, you will need to filter out in function also of your security model: that is why we have the “areaId” field there. |
Now however you decide to collect hits, you will have to meet the problem of how to weigh them, that is, have a hit rank function defined on users, objects and time.
In our implementation, we created a function that for every Teamwork user and every entity (be it task, issue, diary entry, document, worklog action) computes the user hit rank for the entity; if the entity is relevant for the user, the hit rank will be high. Rank gets high by “hitting” i.e. visiting an entity.
As we said before, interest is assumed to fade in time, otherwise you’d end to have too many entities with high rank: so you have to define a sort of window of attention, with a degradation of relevance.
![]() |
![]() |
You need a way to compute degradation of relevance; we defined degradation with the rigth side of a Gaussian curve with the constants in the code.
Hit rank can be refined to group rank notion, if your application has a notion of workgroup, so that you could define the activity of the group. Another benefit of hit rank is that you can efficiently monitor your application usage, or “activity”, and could lead to introducing badges et cetera.
Example implementation
An example implementation is in Teamwork: as it includes project management, business processes and groupware, there are many objects around. Hit rank has proven useful in a number of ways to improve usability, without impoverishing the model.
“You mostly visited” is a portlet which you may have on your dashboards, and you also see search results ranked:
![]() Your highest ranked entities. |
![]() Configuration of rank portlet. |
![]() Search results ranked. |
In this way you should always have “at hand” what you’re really working on: you should be able to access your most relevant objects with one click.
References
Google’ page rank paper: The Anatomy of a Large-Scale Hypertextual Web Search Engine
A discussion on badges: http://stackoverflow.com/questions/135647/how-do-badges-work-in-stackoverflow
An introduction to full text search: http://www.javaworld.com/javaworld/jw-09-2006/jw-0925-lucene.html
Hibernate full-text search: http://www.hibernate.org/410.html
Our contribution to Hibernate full-text search: http://www.hibernate.org/432.html
See hit rank in action in the demo or by installing the web app.
Comments (1)



The field of “software aided project management”, which should by now more aptly named “web based work management” today can be divided by two basically different approaches to management: list based, and tree based. There are also other approaches, like “let’s just use a blog/a wiki”, or “e-mail is the way to go”, but I believe these to be simply a bit too naive.








