valnet / valuenetwork

Resource Planning and Value Accounting for Value Networks
http://mikorizal.org
GNU Affero General Public License v3.0
99 stars 25 forks source link

Finding existing objects (resources, resource types, processes, etc.) #128

Open fosterlynn opened 10 years ago

fosterlynn commented 10 years ago

Couldn't find an existing issue, although there may be one....

From Tibi: Another thing is finding resources. We can filter the inventory, but there is no search... As we add more and more resources filtering becomes ineffective, imagine we have 10 00000 designs in the database and filter by design... If resources are not found people will create duplicates. In the past I created an issue to make it possible to merge resources and resource types. I think this is a time bomb that will blow up in our face sooner or later...

From Bob: Re searches for resource types: we talked once about having something when you go to create a resource type that would be like "are you sure this does not already exist? Here are some similar ones." Another way to start on that is to think about what such a search should look for, and look at? For example, you can now use the filters on the resource types page and then ctrl-f to search for various strings. How would a better search work?

fosterlynn commented 10 years ago

Making this into a more general issue (was Finding Existing Resource Types). Plan to observe carefully to get more insight into the difficulties finding things, and develop some further ideas.

From Tibi: The difficulty arises when someone wants to log something into the system. Suppose I am continuing work on the Mosquito. There are a few processes already created around the Mosquito. The first question of the user is: "is there a process already into the system that I can log this work into?" That requires a view of all processes about the Mosquito. A visual map (perhaps a view of a portion of the data related to the Mosquito resource, by applying a filter to the entire data) would help a lot. At this moment we can use the Work page, choose 2 dates, filter by project and get a list of processes. I did that for the Mosquito and I got a bunch of processes in a listview. What this doesn't show is a general view of the relations between these processes. It takes a lot of time to find out the proper process to attach to. Looking at this list you can immediately see another problem, which arises from the first one. The easiest thing for people to do when they cannot easily find the proper process to log their contribution it to create a new process. This is not good practice, because processes are created in a non-coherent way, without proper relations between them. I think that if we take these Mosquito processes from the list and look at them as a network-view of processes we'll not be able to easily extract from that picture meaningful relations, because these relations are not in the system. These processes are created separately within the context of a project. There might also be duplicates, which is a more serious problem, since we don't have a way to merge duplicates yet. This will make it very hard to build value streams for the value equation to function properly. so in the end we'll end up with a list of processes that we will need to link manually in the future in order to be able to apply a value equation to them and redistribute revenue.

From Bob: As a starter for thinking, here are some relationships that exist in the system, that are shown in a UI page, but probably not in a way that is findable enough:

Each project page has a list of all unfinished processes: http://valnet.webfactional.com/accounting/project-wip/8/

Each process page also shows its previous and next related processes. Those are also shown next to each process on the All Work page.

Each resource type page shows existing resources, requirements from processes that want it, and scheduled receipts from processes that create it. http://valnet.webfactional.com/accounting/resource-type/98/

Each resource shows the process that created it, the processes that want it, and the value flows that it has gone into. http://valnet.webfactional.com/accounting/resource/148/

Resources also know their whole incoming value flow: http://valnet.webfactional.com/accounting/incoming-value-flows/145/

fosterlynn commented 10 years ago

From Tibi: I am going to illustrate a problem that is also related to visibility into the value system (the network mapping tools that you're working on will solve a part of that) but also to the fact that Resource Types are still very easy to create (just a reminder, I proposed a 2 layer process, where the first one is for normal users and the second one is for more expert users, which allows creation of resource types).

Here's the problem: Search the Inventory for "Piezo". Search the Resource Types page for "Piezo". You'll notice that the Resource Types page contains a lot more items for Piezo than you can find on the Inventory page (I am only referring to the Resource Types you can see on the Inventory page).

One might say that some resources are in the making and this is why they don't appear in the Inventory. But if you look carefully at the names of these resource types you'll understand that the ones in Resource Types that do not appear also in the Inventory page are kind of random... This lack of structure emerges when the user doesn't have a clear picture of the resource structure. We create structural elements (Resource Types in this case) in a random manner, based on the needs of the moment.

This creates duplicates and all sorts of other inconsistencies. Here's one example: Tube for Piezo found in Resource Types and which doesn't appear on Inventory, and Piezo Actuator - Parts that you can find on Inventory and Resource Types page, and contains the resource Piezo tube from BPO as well as other parts, which has been maintained by me.

So we have a problem...

Proposed solution:

Better guide creation of process and resource by channeling the user it in such way to produce uniform results. My practice for creating processes or resources starts with a search of inventory.

If the resource is found I look for its processes and evaluate if I need to create another one.
If resource is not found, I create a new process to create the resource. This might require creation of a new resource type, if there is none that satisfy me. 

It might not be the best, but I've maintained the structure that appears on the Inventory page quite well. It's not a bad idea to start from what we already have and expand that if we don't find it. Already looking at what we have gives the user an idea about how to create the new thing, where to put it. It's not easy when we look at a list of things, so a network map would help a lot.

I don't know how this will help with other things we do in VA

fosterlynn commented 10 years ago

Notes from meeting:

Finding stuff Tibi starts the search from Inventory - search by resource Francois starts search in Work process - a process search Francois takes old processes and extends the date and/or reopens processes. Francois thinks of a pocess as a contineous thing. Lynn thinks of processes as more short-term Tibi goes to Inventory and asks does the resource exist If not, he creates a process for it he first creates a design process and logs design after he creates process for prototype

fosterlynn commented 10 years ago

From Tibi: Another solution would be to create a new process for process creation. Let's take for example creating a new R&D process. If the end of this is about creating a new prototype, the user looks into the Inventory to see if something similar exists. If so, the user can chose to expand on an existing process. If not, he is directed to create a new process. As the user creates a new process, the system creates in fact a couple of processes: Design and prototype. The design process is created first, and the user creates a design resource. This can also be a place holder. The second process is to create a prototype, which automatically cites the previous design. I noticed that I am doing that manually anyway. The Process form remains the same as the one we have now and the use can cite more designs, consumables, equipment/tools and work.

From Bob: This looks like a mini recipe.

fosterlynn commented 10 years ago

We discussed one scenario with Francois and Tibi. Francois gets his bearings from the All Work page. He actually planned processes by changing the end dates of previous processes that were not completely logged, and were scheduled to output the same resource type as he wanted. Tibi gets his bearings by looking for an existing resource, then an existing resource type, and creating one if there is not one. This method missed that Francois had already planned Christopher's process, so Tibi planned it in duplicate. Part of the problem is that there are existing duplicate resource types, so if you look at the wrong one, you don't see existing processes planned for it.

Some ideas for intermediate fixes, pending more total overhaul of the navigation:

  1. Copy process. (We used to have that would need to revive it.) This would make it easier to plan a new process rather than bumping out the end date of an existing one.
  2. Add Plan work and Plan work from recipe to the resource type page. The resource type page now shows processes scheduled to create resources of that type. So the user could check that, then schedule right there if it doesn't exist. User wouldn't have to pick the resource type as in the regular planning.
  3. Merge resource types. And Merge resources. To clean up existing duplicates and maintain the integrity of the connections in the data.