Saturday, December 13, 2008
Host Deep Zoom project on Silverlight Streaming
It doesn't seem possible at first because the interface asks you to upload only the xap file. So ... where do we put the images ? You just need to do some "magic" as explained here
Here is a sample project hosted there.
Unexpected browser crash with Silverlight 2
It seems there is an issue mixing ScaleTransform and MultiScaleImage control as also posted on the Silverlight Forums
The Application that has this problem is this one when you enable the checkbox useScaleTransform, but with a different Deep Zoom output. with the one shown here does not seem to reproduce the problem :(
Here is the entry on the event viewer:
Faulting application IEXPLORE.EXE, version 7.0.6000.16764, time stamp 0x48f6a2ed, faulting module ntdll.dll, version 6.0.6000.16386, time stamp 0x4549bdf8, exception code 0xc0000029, fault offset 0x000675fc, process id 0xf18, application start time 0x01c95d5ad4de2d60.
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 : ux training portugal
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:
- Moving the local infra-structure to a professional Datacenter
- 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
- SVN - Source Control
http://www.hosted-projects.com/
Spam Filters
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 :)