Eppur Si Muove

 
 
Im currently working on a personal coding project which is a developing into a project management tool / personal work management tool.  One of the difficulties I am having with this tool is deciding what philosophy of work it will support and what type of organisation it would be appropriate for.  In business speak this would be called the vision.  The coincident problem I have, beyond the vision, is realising function ins the software that supports that vision.  All together these issues come down to the problem of design and combined with the technical challenges, the project has turned out to be a good learning experience.
The ideas are still forming as I go along but, for now here are a directions that I am or am not heading in:
Traditional project management tools are really technology to ensure compliance and ease supervision.  I dont want to go down that road.  This is a tool for self responsible teams in self responsible organisations.  The tool has to support autonomy while at the same time not promoting enough individual discipline to avoid chaos.  Im not sure exactly how to achieve this goal but my general direction is have the tool enable project level decisions to be made as a combination of the opinions of the concerned individuals on the team.  At a higher level though I want team results to be visible organisation wide through visuals that allow everyone to see what is working and what is not working.  For these types of visuals I will probably experiment with some multivariate statistical techniques and see how promising various displays are for providing insight.
I also want the software to have a social aspect that promotes the cross fertilization of ideas.  This is important because the primary way that individuals / organisations learn is by exposure to better ideas from the people around us and the better practices they use.  My thoughts on how to do that are by allowing differences between teams to be visible, to provide ways for teams to publish ideas and practices they have found helpful.  That alone is probably not enough so this has to be fleshed out more.
As a developer one of the things that has always annoyed me is that I have to waste time filling out forms and dates and times for management tools that provide no benefit to me.  For this tool I want the primary benefit to be to the developer.  I want it to provide feedback to the individual on his tasks, how relative to his peers is his development speed, how many bugs, how successful was the deployment of his work.  I want the tool to provide feedback, in private, with a focus on providing data for improvement if the developer is inclined in that direction.  This will probably require some integration with bug tracking, source control systems.  Its a lot of work and I have been thinking of starting with a git interoperability functionality...because well the code is on github and so I can test ideas out easily there.
Lastly, Im developing the software for teams that are using some form of continuous deployment.  Continuous deployment forces development to eliminate transaction costs across the organisation -- these would be the qa organisation , build organisation , and deploy organisation.  The analysis end of the organization is these types of organisations is then subsummed into A/B testing and direct customer - developer feedback.  The only coordination costs that remain are then between the developers themselves.   The downside of all this is that developers are then tasked with doing customer service, getting requirements, maintaining the build system and deploy and we loose gains from specialization.  So the question is - can software eliminate the coordination costs associated with more people and more organisations while mitigating the loss of specialisation.  Maybe maybe not.  Again the ideas are still being fleshed out....