Know how you work.

The "Art" of Computer Programming. The "Art" of Software Engineering.

Hmmmm.

|c|C++|rtos|tmn/cmise/snmp/..|lpr/print|emacs|vi|IMAP|unix|sockets|tcl/tk|expect|NIS|corba|cde|perl|html|javascript|java|netscape|ascii|Quality

Great example of Quality system ... and how to push for Quality: Zen of Palm Programming

Extreme programming

Pair Programming: Often on previous projects reviews were often done well but cannot compare to the amount of review we are acheiving by using pair programming. Contrary to appearances (two people working on same thing) it is also a very efficient way of coding as well as reviewing. It is difficult to spot real problems by simply reading code as with more common review techniques. With pair programming code is actively reviewed as it is written. This results in a review of high quality with awareness of how the code interfaces with the rest of the system.

For coding alone, two heads are certainly better than one. Either person can spot immediate difficulties and if one mind gets a bit stuck the other often knows immediately how to progress. Less reworking of the code is needed later as it has been designed (and reviewed, and agreed upon) by two heads.

As well as facilitating the coding process to go forward at a fast pace system knowledge is spread throughout the team. If we had two people from our team to ask about a particular area of the code it is certain one or other would have some experience there.

With pair programming you are pushed or pulled up the learning curve by your partner. It is quite an excellent tool and the best method I have found for getting up to speed on any area of the project. Whether just starting on the project or in different areas as the project progresses. Within one week of any of us joining the project we were all sitting down pairing on tasks. Within one more week we had tasks of our own.

Other most useful part of XP? The test system. Full suite of automated unit tests that must all be passing before any checkin. 100% code coverage. Use of peer pressure to enforce project conventions.

Other XP practices we implement are as vital: Short iterations, iteration planning meetings, detailed design/iteration planning done by smaller teams. I think it could be useful if we did keep design documentation (iteration planning emails/stories). Some iterations it is not that easy to break tasks down small enough.

xp gentle intro wiki?ExtremeProgramming New Methodologies Software Engineering, from Nothing, to Monumental, to Agile.
eXoftware xp
xp and cmm

Back to Basics, Shlemiel the painter, XML, malloc, .... About the effect implementation has on performance. Relates to DontCreateGarbage. Also very important: FirstRuleOfOptimisation, we definately needed this on MyrIAD. We had fun merging today. Probably there's a simple way to express something like this: ExtremeProgramming leads to ContinuousIntegration and CollectiveCodeOwnership so RelentlessTesting is needed.

What's this guy Larry talking about?

Reputedly the most common pattern of design of Systems: Big Ball of Mud
Architecture/Design of Systems will often reflect the architecture of the development teams. e.g. multiple site locations, good/bad communication So architecture of end system depends alot on process used. OpenSource/Bazaar vs Cathedral, Agile processes vs Strict Methodologies. So really important design decisions are driven not by requirements but by what happens during development. How do you define software architecture anyway?

Get Stoned!

Reciprocality M0 Usefulness The Programmers Stone

The Programmers Stone "Software Engineering is distributed Programming" The Hacker FAQ

TUNES Reflection OS/Programming Language Why a New OS? 1 2
Fractint, open source contributions and Stone Soup.
Open Source model ESR writings: The Cathedral and the Bazaar, Homesteading the Noosphere, The Magic Cauldron.
wiki wiki web Lazy/Minimalist Programming QualityPlateau ExtremeProgramming LazyProgrammer EinsteinPrinciple DoTheSimplestThingThatCouldPossiblyWork >;) KISS? MinimalMethodologies

Carnegie Mellon Software Engineering Institute: The PSP Strategic Initiative, CMM v1.1
From Omaha SPIN, The Capability ImMaturity Model The Immaturity of CMM

Critical Path: Applying the Capability Maturity Model



Who has got CMM 5. Design patterns: Big ball of mud

Individual stuff

Personality/team analysis info.

Jung MTBI - ENXP (E6 I4, S6 N14, T10 F10, J7 P13)


An Investigation of Learning Styles in General Chemistry Students (ch5: Discussion)
netcom.com search for Jung xmbti test google search for xmbti xmbti-1.0 cache hpux.cs.utah.edu/hppd/auto/summary_all comp.sys.hp.hpux FAQ
TCG's Jung page fiocco unfurls Myers-Briggs personality survey taken down by the evil Keirsey's offspring who seems to have stolen the form himself. Nyahh. nasty closed-source info-territorial .

Thomas Jefferson: ``he who knows best knows how little he knows.''
Incompetent People Really Have No Clue, Studies Find. They're blind to own failings, others' skills.
Pity the clueless, try and educate them. Hmmmm.

The Telecommuter's Toolkit

|c|C++|rtos|tmn/cmise/snmp/..|lpr/print|emacs|vi|IMAP|unix|sockets|tcl/tk|expect|NIS|corba|cde|perl|html|javascript|java|netscape|ascii|Quality