Unconference2010EvolutionaryDevelopment
From Open Source Bridge wiki
Hey John and All, here is a dmp of the notes I took for the session yesterday. John, you might want to bash them into shape a bit more and perhaps draw some conclusions. Everyone, if you feel a bit mis-quoted or there are mistakes then it's a wiki so please go ahead and fill in the gaps. Great to meet you all and thanks for an awesome discussion!
Cheers
David
Topics of session : systemic issues in organizations, evolutionary methods, human dynamics, agile, software and human patterns, open space, scapegoating in organizations, useful open source tools and physical and non physical, development communication techniques.
Session Attendees : John Abbey Session Leader - software designer on wagon, originally commodore pet developer, agile.
Chris - Foster Python programmer from state of oregon, polished mercurial user, ruby
Mark - observer
David Herring - exOracle Openbravo eBusiness, education, working remotely, Java, JEE, Model Driven Dev, SOA - david@petrinet.com, twitter = reincorporation
Grace - technical recruiting, cloud computing, python meetup groups
James - programmer backend westuff, freelancing remotely
Eric - rackspace, drizzle, c, c++
Paul - undergraduate, robotics clubs, robot control code, logistics of managing a team mecurial
Seth - 2 people company
John Fitzpatrick - basic, assembly language, c++ java, federal gig with c++, structure of source code,
John F : Interested in summaries and abstractions of source code. equivalent of google maps but for code....zoom in zoom out. With chunks of code. Idea on google type code, perl could not figure out what a comment was what tools we are using and what tool we would like to use visual basic.
labview diagramming way aggregate some of the logic into larger chunks.
Grace : Illustration of something along these lines can be found at zoomingtextviewer, 3dpython debugger on utube http://www.youtube.com/watch?v=lZLzmNvRI1w http://github.com/hugs
Every body likes to work in levels of abstraction.
David : Parc forum on code reuse introduces "blueprint." Something Stanford are working on as a tools to search for large blocks of reusable code that just work. http://www.parc.com/event/1109/for-example.html Mostly used for scripting languages.
James : code reuse has been talked about for over a decade but still has not really delivered (James want to expand on this...I do not think I've really caught the gist of your meaning here)
Seth : Do you work better with process v people. There are a lot of problems that are people oriented and less process oriented.
James : Appeal of programming is solving problems. every hour you see yourself making progress.
David : What are some opinions or experiences on agile?
Seth : Agile is sometimes a bit "meet the new boss the same as the old boss." a b c weeks, hash out what they are going to be. The important thing is the spirit. The xp guys you have to do it all the same way. The difficulty is establishing ground rules and mentors. A starting point to rebel against
John F : Agile v Waterfall 2 different promises
W starting with a a set of requirements we wil deliver this on a certain date to a certain standard Definitive
A does not make that promise. Can not say when the deliverables will be delivered. More sane environment. develop something but the development is iterative,
Seth : In the long run the management will be happier with agile if they are involved in the the process.
Grace : Agile talk not accepted because not thought of as agile in a business setting. (Grace, I did not quite get the gist of this story please fill in this section)
Seth : If your working at NASA you do not want to do anything agile. With this scenario waterfall would be the preferred development methodology because the tasks and deliverables need to be formalized in the analysis stage.
John A : Patterns, xP conversations on the wiki
John A: iterative and interactive.
John A: patterns just falls out in some languages but more complex when working with people
John A : Christopher Alexander pattern develop a series of patterns that make up a pattern language.
John F : reincorporation of original idea of John F's abstraction of code. (aggregate some of the logic into larger chunks discussed at the beginning of the session) The need for some king of x-ray machine.
Some patterns are dependent on others to be in place and if these dependencies are treated like building block a language of patterns might evolve.
Having a tools and notations like this will be able to provide the vocabulary to crystallize and modularize thoughts and ideas.
John F : Christopher Alexander - how much experience did he need to have to gain the necessary insight to be fluent in the language of patterns.
Seth (I think) : Example in Japan of developing/improvising a pattern language that works for a specific group. Personal approach tailored not only to the development problem but for the people involved. Develops patterns based on human dynamics and culture instead of forcing pre-existing out of the box pattern
Developing coherent teams and groups. What are some ideas of tools that work
* Shared ownership of code - common artifacts. * Transparency into code. * leveraging the community build some howtos published on the wiki for everyone to add and update. * paste problems in github, social coding
James (I think) : Scaling is a problem and no-one can be an expert in everything.
David : The stubborn developer in me does not really know when to throw in the towel and ask the community for help. Even though I'm aware someone in the open source community is usually quite willing to offer advise. linus' law : The more eyeballs on the problem the more chance of solving it.
Seth, John F : Group process don't dive in stay back and see what happens. Learning experience you have to struggle for a while to learn. So the previous example is a good way to learn.
David : I think this is a difference between working in a closed shop and and open source community. There is more acceptance of willingness to try and perhaps fail and asking questions is not seen as a weakness but a form of networking. My experience in closed shops is that often ego and reputation are more often on the line. An Open Source is the perfect environment to learn.
Trolls out there waiting to pounce. (I can not remember who said this but I agree David)
James : How many times have you solved something by explaining it.
Eric : Sometimes you have to realize the answers are bogus.
Grace : Example where someone returning from an interview posted an interview question and their answer for python code forum to analyze and work on.