Tuesday, October 14, 2008

UX Week with Peter Morville

Due to the incresing importance of the user experience and the way information is organized in a site, Fullsix invited Peter Morville to present a series of workshops about: User Experience, Information Architecture and Findability.


These workshops will happen in November in Lisbon:

- 3rd Nov - User Experience Strategy: Public Talk at Microsoft Portugal.

- 4,5th Nov - User Experience Workshop (2 days)
- 6th Nov - Information Architecture & Search Workshop (1 day)


More information can be found at http://www.fullsix.pt/uxweek/




Technorati :

Thursday, October 09, 2008

Classic Mistakes

Eight years ago I read the book Radid Development by Steve McConnell. In this book Steve presents the classic mistakes in software development and I found it "very funny" to notice that my company was doing exactly the same mistakes that Steve pointed out like: Feature Creep, Gold-Plating, Adding people to a late project, etc.

Today I came across a interesting whitepaper where Construx updates these classic mistakes after surveing 500 Software Practicioners. They introduce some new classic mistakes like Confusing estimates with targets or Excessive multi-tasking among others.

Thursday, August 28, 2008

Quick Start to Sprint Backlog template

I started using Mitch Lacey's Sprint Backlog Templates in our scrum projects. Here is a small guide to help someone new to it quickly start using it.




A. Preparing the ground ­ - The initial tasks you need to do to prepare the template for your project:


1. Fill in the team roster. The Alias will be used in the other sheets (Driver column in the Sprint Sheet). The alias should not changed after the other sheets are filled (unless you change sprint data - Column Sprint!$F).


Fill in any extra information about the team. All information besides the alias will be purely informational.


Also in this sheet, you should fill in the Sprint Vision (Team Roster!$C$4) so it is clear for all members of the team.



2. Set the sprint start date in Capacity!$E$3


If your dates are not in US format you need to manually change the week days in column D because formula for I6 expects English week days.



3. Specify your options for the project in the Analysis!E40:E47:


a. SkipWeekends (Analysis!E40) - (0=30 calendar days; 1=30 working days). Set to 1 to have dates skip over weekends (30 working day sprint, >30 calendar day sprint). Do not switch after Sprint has started or data will be stored under wrong days.


b. DailyScrumDateModifier (Analysis!E41) -Number of days added to or subtracted from today's date to ensure the highlighted date column in the sprint worksheet corresponds to the day of the current daily Scrum meeting. In the Spint worksheet, Today's day will be highlighted. This value adjusts the day that is highlighted. Negative number to go back from today's date; positive number to go forward from today's date.



Do not change the Workbook-Wide Constants These are constants for the formulas used elsewhere.



4. Define your functional areas in Project Specific Reports!A9:A24. If you need to change the number of columns you will need to adjust the Data validation of columns B of the Sprint Worksheet by going to Data, and then Data Validation menu.



5. Fill in the Sprint Backlog items


a. Worktype - select between Feature, Tax, Precondition or spike


i. Feature - describes functionality that will be valuable to either a user or purchaser of a system or software.


ii. Tax - A tax is the cost of doing business


iii. Precondition - Preconditions are items that must happen at the completion


iv. Spike - Brief experiment to learn more about an area of application. Timeboxed, which allows the spike to be estimated.


b. Deliverable Area - You can select from the functional areas of your project that you defined in step 4. This will allow you to get a report based on the functional areas.


c. Product Backlog Item or Group -


d. Work Item ID - The Id of the work item.


e. Sprint Work item Description - Description of the work to be done.


f. Driver - Who will be responsible to drive this work item.


g. Status - it is automatic set for "Complete";"In progress" and "pending". You can manually add "Postponed" and "Cancelled", so it shows up in the reports.


h. Pri - Priority of the Work item


i. Initial - The initial estimate for this work item.




B. Daily updates - The daily information to be updated on the template.


On the end of the day or the morning of the next day each person of the team needs to update the time spent with each work item and re-estimate the remaining time to complete the task.


Go to the correspondent Day of the iteration and fill :


1. Spent - Time spent during that day with that work item


2. Left - The remaining time to complete the work item. It can be higher then the previous Left value due to new knowledge you acquired during that day.



C. Analysis - Checking the flow of the sprint


On the Analysis worksheet you can see the burndown chart per items and hours and several other overall indicators that are self explanatory.




Tuesday, July 29, 2008

Week of Scrum / Agile events in Lisbon

A Fullsix is organizing one more series of scrum events in Portugal in September.

There will be another Certified Scrum Master and Agile Estimation and Planning workshop. The news is the "Agile Requirements Gathering" workshop and the first meeting of the Scrum Alliance Portuguese group.

Here is the list of events:

Certified Scrum Master - 15 / 16 September 2008

Agile Estimation and Planning - 17 September 2008

Agile Requirements Management -18 September 2008

First Annual Scrum Portuguese Users Group Meeting -19 September 2008

Tuesday, May 20, 2008

Moving the IT Infra-structure into the datacenter or the cloud !?

My company is growing considerably. We have a small room that we call our "datacenter" but it's just a room with minor adjustments in order to support our IT infra-structure. Since we are now just reaching the 100 employees mark, our "datacenter" needs to grow in order to accomodate our needs and also to provide the features that will avoid failures and the inevitable downtimes.

I started asking for quotations for revising our datacenter having these things in mind:

  • "Professional" Ar conditioning
  • Access control
  • easy passing of cables
  • "Professional" UPS with separated energy
  • Fire detection and prevention
  • wall layout change
  • etc

I started thinking if it made sense to make such an investment on a local "datacenter", and two alternatives came to mind:


  1. Moving the local infra-structure to a professional Datacenter

  2. Starting the shift to the so called "Software-as-a-Service" (SaaS)


I think any of these alternatives would provide a more professional service with less costs in hardware and people to administer it. It would obviously increase the communication costs and the dependency on communication links. Another benefit would be the ease whenever the company would need to change it's headquarters.


1. Moving the local infra-structure to a professional Datacenter


All servers and storage would move to a professional datacenter where we would be able to connect over a fibre optic channel. Only local communication hardware and some local high demanding storage would stay in the company premises. All else would be housed at the datacenter. Products like Riverbed could help on the bandwidth optimization of the link to the datacenter.

This option would provide professional services for housing your machines: cooling, ups, access control, 24x7 service, fire and temperature control, etc. It would also allow you to grow as you go, without the need to have major changes on your local office. Possibly we could use their backup robots and a NAS storage ... not having to invest in your private solution.


2. Starting the shift to the so called " Software-as-a-Service " (SaaS)

Forget about any investments on the local datacenter, and migrate services into the cloud.

If I sum the anual cost of delivering Microsoft Exchange to our employees: Anti Virus, The OS license, the Exchange License, the CAL's, The System Administration time, the cost of downtimes, etc, it will surely be higher then any of the SaaS options out there like Exchange Hosted Services or Google Apps. Besides, the SaaS model for email would provide some functionalities that I don't have on my current model, like the possibility to search the index of all email remotly (If I have local PST's they are not availble over Outlook Web Access ).

There is allways that fear of losing control and security concerns when moving to SaaS, but ... do you keep your money under the mattress or int the bank ? With time, confidence in the SaaS providers will for sure increase and using their services will be as normal as putting your money in the bank.

Here are some services that I see feasible of migrating into the cloud:

http://www.microsoft.com/exchange/services/default.mspx- Exchange Hosted Service

http://cvsdude.com/

  • Spam Filters

http://www.anubisnetworks.com/


Also, instead of using a SaaS, another alternative of having the server locally or a hosted datacenter is to use Amazon EC2 . It is a is a web service that provides resizable compute capacity in the cloud. One EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit, 160 GB of instance storage, 32-bit platform ) costs around 72 USD per month (depending on the used bandwidth).


Please share with me your thoughts :)


Friday, May 16, 2008

Mechanical Turk and The Sheep Market

Amazon has a very interesting service called "Mechanical Turk".


Mechanical Turk is a Crowdsourcing Marketplace for work. You can offer work to be done by others (paying for it) or you can offer your services (and be reward by it).


The offered taks are ones that can only be made by humans (HIT = Human Intelligence Tasks). The big advantage of using this service is the massive laboral capacity that it offers and reduced cost.


I rethought about this service when I saw a presentation by Aaron Koblin at the OFFF festival. Aaron put up a task on Mechanical Turk offering 2 cents to people that draw him a sheep. He gathered 10,000 drawings of sheep, made a book and a website available at http://www.thesheepmarket.com/. Besides the idea beeing funny and allowing him to win some money by reselling the drawings, it shows the capacity of the Mechanical Turk service.


Mechanical Turk puts at our disposal a very ease way to use a huge humanal laboral capacity.


Here is a video of Aaron presenting the project, and also some statístics about it.

Thursday, May 15, 2008

Agile Documentation

One of the principles of the Agile Manifesto is "Working software over comprehensive documentation".

This usually rises the question of how much documentation is the right documentation !?

I posed this question to Mitch Lacey on his interview. You can see his answer here. But today while reading the Agile Database Techniques book I noticed a section about Agile Documentation which I found very interesting.

Here is the summary from that section of the book: