Friday, May 30, 2008

Scrum

I have been working for RealNetworks, Inc. since May 19, 2008. I work in a development wing. They follow scrum. This is my quick effort to clear my understanding about scrum.

What is scrum
  • Part of Agile
  • An iterative process
  • Management of SW Development Process
Why? The vocabularies
  • 'Sequential approach' was predominant. It's like 'relay-race', handing over the baton to the next person.
  • It's better to have 'rugby', where team works as an unit, passes the ball back and forth, and achieves the result.
  • The term 'Scrum' came from a term in rugby.
  • Each iteration is called 'sprint'. Can be 15-30 days' cycle.
  • 'potential shippable'
  • 'product backlog'
  • 'sprint planning meeting'
Roles
  • 'Pig' roles - fully dedicated
  • --- There is a 'ScrumMaster' role who plays the PM role, and maintains the process.
  • --- There is a 'Product Owner' role who represents the stakeholders.
  • --- There is a 'Team' role who represents the developers.
  • 'Chicken' roles - outside scrum team
  • --- Users
  • --- Managers
  • - Stakeholders
Reference
  • TBD

Thursday, May 29, 2008

Java Externalizable

Background
  • Interface: java.io.Externalizable
  • Super Interface: Serializable
  • Used to control how you want to do serialization (read/write)
  • Scenario: Some of the fields may not worthy of writing, or the format needs to be changed etc.
  • transient keyword simply instructs JVM not to read/write a variable, one at a time.
  • With Externalization, you can control all variables in one place.
  • During de-externalization, the default constructor will be called. Then readExternal(...) will be called.
Java Methods
  • readExternal(ObjectInput in)
  • writeExternal(ObjectOutput output)
Link
  1. http://articles.techrepublic.com.com/5100-10878_11-6159276.html

Java Prefernece

Java Preference
  • Introduced in JDK1.4
  • Acts like Windows Registry
  • Stores objects in a tree-like structure; items reside on nodes as key-value pair
  • Can be exported/imported to/from XML
  • A replacement option for JNDI/LDAP; but you don't need a server
  • A replacement for properties files also
Links
  1. http://www.javapractices.com/topic/TopicAction.do?Id=155
  2. http://www.ibm.com/developerworks/java/library/j-prefapi.html
  3. http://www.javaworld.com/javaworld/jw-08-2001/jw-0831-preferences.html?page=1