Tuesday, September 14, 2010

10 Suggestions for Architect of an Agile Team

Nice speech given by Tom Hollander from Microsoft Australia and he is making 10 suggesion for agile team architect to be sticked to. According to the tom, Agile team is employing number roles itself...
  • PjM – is the Project Manager, similar to a Scrum Master, making sure the team is following the process.
  • PdM – is the Product Manager, also known as the Customer or the Product Owner, determining what the product is supposed to be
  • Architect – a solution/application architect
  • Dev – the development team
  • Test – the test team
  • UX – the User Experience team
  • Release – the Build and Release role taking care of the building process ( In our environment we used to called this role as Build Manager)
And the Suggestions are..
  1. "Just Enough" Up front design
  2. Start with a Vertical Slice - Mean start the development with a small module which cuts all the architectural and designs decisions made.
  3. Just in time design each Iteration
  4. trust your team.. be there for them
  5. Write code
  6. Be involved in everything related to the project
  7. Drive a culture quality
  8. Know when changes are required
  9. Shield the team from external randomization
  10. Write docs... but only is some to read them

Have a watch all video from MSTechEd or you can read speech summery from InfoQ

Regards

Lakmal

Path way to better coding...

I’m a big fan of Joel Spolsky’s writings and last weekend I checked his article archive for some useful to read. One interesting article I found there, which is about how we can steer our development process to achieve better coding. Even though he has written this in year of 2000, it's almost valid yet.

He was discussing about 12 steps we can follow up for better coding and he named it as Joels Test

The Joel Test

  1. Do you use source control?
  2. Can you make a build in one step?
  3. Do you make daily builds?
  4. Do you have a bug database?
  5. Do you fix bugs before writing new code?
  6. Do you have an up-to-date schedule?
  7. Do you have a spec?
  8. Do programmers have quiet working conditions?
  9. Do you use the best tools money can buy?
  10. Do you have testers?
  11. Do new candidates write code during their interview?
  12. Do you do hallway usability testing?

Questions are about two options you take as answer; Yes or No.

Have a read all the article…

Monday, September 13, 2010

Software Usability...

Usability is a big thing to be bothered about in the current industry. Even though we have delivered all the functionalities well worked, how we are going to assure that customer is reaching all the functionalities and features we developed over nights to make them happy.

Found nice definitions for usability from the few articles I read…

Put User at the center of the Process
The term usability in the context of creating software represents an approach that puts the user , rather than the system, at the center of the process.

Usability And Likability
Usability is a measure of how easy it is to use a product to perform prescribed tasks. This is distinct from the related concepts of utility and Likability.

Regards

Lakmal Kankanamge