Monday, September 11, 2006

SOFTWARE DEVELOPMENT AND LEAN SYSTEM CONCEPTS:
I have transitioned from Lean Manufacturing Backgroud to software Field.I am amazed at the lean concepts applicability to the software development Methods.
Lean Primary preaches any system to identify the process into these two categories:
1.Value added processes
2.Non-Value added processes.
Value added processes:
It is simple as it sounds.Identify the process which adds value to the product.
Eliminate the Non-value added processes.As we all know,it is not possible to identify and eliminate all the non-value added processes.
For example Testing Does not really add value to the Customers.Still all the corporations ubiquitiously have the Test Team.Why do they have Test Team if they do not add value to the Products?
Does it mean,the management does not have enough confidence on their development team to deliver the bug free product?
Does it mean,the test team improves the quality of the products delivered to the customers ?
Does it mean,every corporation is having the test team and let us have one too?
So what is the purpose of the Test Team in Software Development life cycle?
Most of the testers think,The responsibility of the Team to ensure the Product meets/exceeds the requirements given in the functional specification,to identify the deviations from the expected behavior,so developers can fix those issues.
Why can't developers do the task of developing the applications which meets/exceeds the expections provided in the functional specification(Customer expectations).
If you ask any tester,what's your core responsibility?
Most of the testers answer ,to find the deviations (defects,bugs,etc) and let the developers and analysts know those issues and make them fix those issues.
Does it mean the job of the testers is to find the defects inDevelopers/Analysts WOrk?
Does it mean the Devlopers/Analysts are not delivering what they suppose to deliver?
If the product goes to the customers with the deviations from the expected behavior,who owns the responsibility? Testers or Devlopers or Analysts or Product management or Program Management?

Over the years,the Manufacturing has developed and matured where as the Software developement has not matured.

Lean system preaches the responsisbility and ownership ;focus on people;commitment in the team;etc.It all sounds really nice.why it is so hard to follow those principles?
It is more cultural.We have always been taught the idea of following hierarchial structure.
Higher up in the Hierarchy means they have more power and they are always right.
How many times,do you confront your manager or some one higher up about the designs,methodology,etc.
We blindly follow the organization hierarchy structure whether it is good or bad.We feel insecure about our jobs and reviews.We have the feeling,what would happen if I say this,What would happen if I say that,etc?

Why is it not possible to create the transparent work environment where every one is part of the team and given the equal importance,foster their creative thinking,be original,not to alter their opionions and thoghts to suit the opinions and thoughts of their bosses?
Lean teaches us treat everyone with respect ,dignity and disregard thier designation,race,color,etc.How many of us are able to practice these principles?

Sunday, September 10, 2006

BackUp and Restore SQL Server Databases:
Backing up the SQL Server Database:
BackUp Types:
Full backups:
This back up type backs up the entire database including part of the transaction log
Full differential backups :
A full differential backup records only the data that has changed since the last database backup.
Partial backups:
A partial backup is similar to a full database backup, but need contain only the primary filegroup and all read-write filegroups.
Partial differential backup:
A partial differential backup contains only data that has changed in the primary and all read-write filegroups.
File and filegroup backup:
A filegroup backup is a single backup of all files in the filegroup and is equivalent to explicitly listing all files in the filegroup when creating the backup. Files in a filegroup backup can be restored individually or as a group.
Simple Backup Command:
BACKUP DATABASE [DATABASENAME]
TO DISK=[BACKUPPATH]
Its always recommeded to save the backup with the .bak file extension.
Backup options:
MIRROR TO: Creates the another backup in the MirrorTo disk.
BACKUP DATABASE [DATABASENAME]
TO DISK=[BACKUPPATH]
MIRROR TO DISK=[MIRROR TO PATH NAME]
WITH [OPTIONS]

WITH OPTIONS:
FORMAT NOFORMAT
BLOCKSIZE
CHECKSUM NO_CHECKSUM
EXPIREDATE
RETAINDAYS
PASSWORD
INITNOINIT
SKIPNOSKIP
REWIND NOREWIND
UNLOAD NOUNLOAD
RESTART
STATS
COPY_ONLY