Friday, April 15, 2011

Five Tips for Distributed Agile Teams

 

Referred URL

http://www.agileadvice.com/2011/04/14/agilemanagement/five-tips-for-distributed-agile-teams/

1. Set core hours (at least 3 contiguous) every day when everyone on the team, regardless of time zone, will be at work simultaneously. If you have a globally distributed team, this will mean that some team members will have to make an ongoing personal sacrifice to be available. This sacrifice should be compensated financially. Avoid rotating the core hours in the mis-guided idea that it is better that everyone is uncomfortable some of the time vs. some being uncomfortable all of the time. It is much easier for a team member to get used to a consistent schedule and although initially there will be discomfort for some team members, they will (relatively speaking) get used to the new schedule.

2. During core hours, use a good video conferencing tool (e.g. Office Communicator), in an always-on state for all team members – be in the same space at the same time. Cameras should be set up so that it is possible to see an individual’s facial expressions, yet also to allow that person to move around and still be in-view. The video conferencing tool should have good full-duplex audio so that no one ever gets cut off because someone else is louder.

3. During core hours, all team members agree to forego the use of headphones or anything else that would prevent them from instantly being aware of something happening with any of the other team members. Again, for some people this might be quite a sacrifice. The idea is that communication is paramount for agile teams and anything that isolates one team member from another will hinder communication.

4. Have a live update task tracking tool that all team members use. (Most agile team management tools that I am aware of do not work because you have to refresh to see updates. Cardmeeting.com is a decent virtual wall that has live updates.) Any task-switching should be visible on this tool either through a color change, an audible cue, or a movement. So if I complete a task and start on a new one, everyone else should notice this immediately even if I do not actually say anything. The team members should get in the habit of using this tool even outside core hours.

5. Have a second (or third) monitor for every team member that is dedicated to the always-on communication tools (video conferencing, task tracking). These always-on tools should _never_ be covered by anything else. All the real-time communication tools are useless if they are not constantly visible. If your team members currently have two monitors, then get them a third for these tools. There should never be any excuse for a team member to hide these tools.

Wednesday, April 13, 2011

Useful Tool Names

 

Listed below the useful software names which I come across. Please note that, recent versions will differ.

2D Animation Tools
Macromedia Flash MX
Swish Max

3D Modeling Tools
3d Studio Max 6
Maya

Audio Editing/ Extract Tools
Sonic Sound Forge 8
Cool Edit Pro 2.0
Easy CD-DA Extractor – Extracts as .mp3 from Audio CD
Fruity Loops Studio 6.0

Auto Play CD/ DVD Authoring Tools
Macromedia Director 8.5

Audio Players
Winamp 5.0

CD/ DVD Recording Tools
Nero Burning ROM 6.0
Win DVD Creator

Code Comparison Tools
Win Merge 2.8
Exam XML 4.5
Exam Diff 1.7

Download Fastening Tools
Download Accelerator Plus 9.1

File Compression Tools
Win RAR 3.70

GIF Animation Tools
Ulead Gif Animator

Hard Disk Backup Tools
Get Data Back for NTFS 2.31

Home Designing Tools
3D Home Architect 1.0
Dream House 4.10

Image Editing Tools
Adobe Photoshop CS
Adobe Illustrator 10
Corel Draw 11

Information Tools
Microsoft Encarta 2008

ISO Opening Tools
Magic ISO maker 5.08
Daemon Tools Lite

Memory Cleaning Tools
Tune Up Utilities 2004
Super Cleaner 2.41
Glary Utilities 2.13
RegCleaner 4.3

Messenger Tools
Yahoo Messenger
GTalk
Skype
Windows Live Messenger

Online Flash Saving Tool
Flash Saver 6.0

Password Storage Tools
Keypass Password Safe 2

Screen Recording Tools
Cam Studio 2.0
Wink

Screen Sharing Tools
Microsoft Shared View 8.0
Team Viewer 5.0

Software Diagram Designing Tools
Case Studio
Enterprise Architect 2.0

Speech Tools
MS Talk IT

Video Conversion Tools
Total Video Converter 3.5
ImToo 3GP Video Converter 2.1
VCD Cutter 4.04

Video Editing/ Effects Tools
Adobe Premiere 7.0
Hollywood FX for Adobe Premiere
Ulead Video Studio
Adobe After Effects 5.0
Particle Illusion 3.0

Video Players – Light Weight
Cyber link Power DVD 6.0
VCD Play

Virtual Machine Simulation Tools
Microsoft Virtual PC 6.0

Website Designing Tools
Adobe Photoshop CS
Microsoft Frontpage 2000

Website Requesting Tracking Tools
Fiddler 2.0
Nikhil Kotari’s Web development helper

Friday, April 8, 2011

How to add selection controls to your DataGrid – Dot net 1.1

 

Source:

http://www.codeproject.com/KB/vb/SelectionCtlsDataGrid.aspx 

The attached application contains all the code needed to run. Since some of the columns of the DataGrid are loading through a MS SQL Server � database, you need to change the server settings accordingly (server name, user ID and password).

And run the attached script on the Query Analyzer to create the database on the SQL Server.

//Capturing clicked cell into a locally defined variable.
Private hitTestGrid As DataGrid.HitTestInfo

All the controls which you wish to have on the DataGrid should be declared along "WithEvents" keyword, only if you are interested with their events to be captured.

Private WithEvents datagridtextBox As DataGridTextBoxColumn
Private WithEvents dataTable As dataTable
Private WithEvents comboControl As System.Windows.Forms.ComboBox
Private WithEvents dtp As New DateTimePicker
Private WithEvents chk As New CheckBox

Now we will see about capturing events and getting values to the DataGrid. (This code fragment shows you how to get value form aDateTimePicker and place it on the selected cell.)

Private Sub dtp_ValueChanged(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles dtp.ValueChanged
    dgMember(hitTestGrid.Row, hitTestGrid.Column) = dtp.Value.ToString
End Sub

Looping through available columns and determining on which cell you have clicked:

 

For i = 0 To dataTable.Rows.Count - 1
sType = dgMember(i, 0).ToString()
If hitTestGrid.Row = i Then
Select Case hitTestGrid.Row
Case 1
datagridtextBox.TextBox.Controls.Add(dtp)
dtp.BringToFront()
Case 0
datagridtextBox.TextBox.Controls.Add(comboControl)
comboControl.BringToFront()
Case 2
datagridtextBox.TextBox.Controls.Add(chk)
chk.BringToFront()
Case 3
datagridtextBox.TextBox.Controls.Add(rb)
rb.BringToFront()
End Select
End If
datagridtextBox.TextBox.BackColor = Color.White
Next i

Please look into the code, by that you will get a better picture about the concept.

http://www.codeproject.com/KB/vb/SelectionCtlsDataGrid/DataGrid.zip