Showing posts with label is. Show all posts
Showing posts with label is. Show all posts

Monday, March 9, 2015

Is agile suitable for all projects

At some point in your agile journey you begin to ask and/or hear this question: "Is agile suitable for all projects?"

Here are some of the responses Ive heard from both those who are still learning about agile and those who have a lot of agile experience:
  • Agile isnt necessary when you have a known problem and a known solution.
  • Agile doesnt work in regulated environments.
  • Agile doesnt work in government.
  • Agile cant work in a large enterprise.
  • etc.

In my opinion and experience all of these answers are borne out of legitimate concerns but none of these responses are valid. Let me explain why.

One of the significant differences between traditional projects and agile projects are the short feedback loops. These short feedback loops allow teams to validate assumptions sooner, identify and deal with risks and issues sooner, find and correct defects sooner, and deliver a solution sooner. Agile will be implemented differently based on the project types identified in the responses above, but I believe that all projects will benefit from agiles short feedback loops. To say otherwise assumes that we always get it right the first time - even in the uncommon situation where the solution is 100% known, we get everything right the first time about 0% of the time. Agile helps us discover that sooner so that we can correct our mistakes.

Additionally, any project can benefit from increased trust amongst team members, increased trust between teams and customers, increased trust between teams and management, and increased trust of project status.

In my opinion and experience, the only question you need to ask has nothing to do with the type of project, the type of problem, or the type of solution. Instead, here is the key question:
Does the team want to use agile and have the support to do it?
If the answer is yes, then it can work. If the answer is no, it is not likely to work.

P.S. Here are some examples of agile being used in projects and organizations where "agile wont work":

Agile in a regulated environment.
Abbot Labs experience report - Development of a nucleic acid purification platform and companion real-time analyzer
Agile in a Regulated Environment - Linkedin Group

Agile in government.
Public sector case study - Social Security domain, software to support change in legislation.
Manitoba Parks Reservation Service - Agile case study as told by Terry Bunio.

Agile in a large enterprise
The agile experience at John Deeres Intelligent Solutions Group.- presentation by Chad Holdorf at Much Ado About Agile VI - Vancouver 2011.
Plus an article talking about the John Deere agile experience. "I figure if John Deere can test working software every two weeks on a tractor in a field, then Agile will work anywhere."

Agile with a known solution and a known problem
I recently completed a project with a known solution and a known problem - converting a VB6 application to dotnet "as is". We used agile and the project was very successful.

Agile outside of software
Wikispeed - Joe Justice and his volunteer team designed a 100+ MPG car using agile techniques."We can swap out an engine in the time it takes to change tires".

Want to receive future blog posts in your inbox? Enter your email address here.
Read more »

Monday, March 2, 2015

Wetpaint 1 2 3 My Free Wiki Is Up!

  • Link to Wetpaint
  • Wetpaint Videos

WIKI?
A wiki is a type of website that anyone can easily edit and help grow through collaboration.

WETPAINT?
Is a 100% Free wiki (collaborative) authoring tool (it claims to be! Visit Professional Services and explore.), which enables anyone easily to start a free wiki that they can share with students, colleagues, friends, family, etc.

FEATURES?
Wetpaint is a reasonably easy-to-learn/use wiki tool, which has an amazingly attractive look-and-feel (subject to subjectivity!). Yeah, I can tell you also that this tool has an amazing list of features, and they are adding new features all the time (according to them), so theres always something new to try. Here are some of the juicy features:

  • 1-2-3 Simple Site Creation
  • Public or Private Sites
  • Pre-Populated Templates (Classrooms, Group Projects, Gaming Clans, etc)
  • Easy Photo/Video Integration
  • Page Level Discussion Threads
  • Customizable Page Templates
  • Spell Check
  • Menu of Popular Widgets
  • Private Onsite Messaging
  • Address Book Upload
  • Site Statistics (Google Analytics and SiteMeter)
  • RSS updates
  • Email Notifications
  • Etc.

Except for the annoying Google Ads (which is probably the main source of income for Wetpaint), floating toolbars, and the clipboard bug (minor fix needed!), this tool I believe is going to be a global Wiki smash hit soon. Dont ask me why! Just try it out for yourself :)

Read more »

Sunday, March 1, 2015

One Secret Recipe to Great Memory is

Trying hard to forget it!

"The harder you try to forget something, the more likely you will remember it!"
- Zaid Ali Alsagoff




FORGET IT!

Have you noticed that when you try hard to forget something that you dont want to remember (e.g. a crappy presentation you did!), it becomes harder to forget it. It just sticks in your mind like glue....Forget! Forget! Forget! It isnt going to happen! Memorable incidents whether bad or good will stick longer (or are easier to retrieve from the memory archive).

Or you are preparing for an important exam trying really hard to remember something, and you simply cant remember anything! And then when you finally do remember it, you forgot something else! And it just continues in a stressful cycle until the end of the exam. Interestingly, within days after the exam many of those important memories are archived somewhere, nowhere to be found or retrieved anymore (unless used!). Memory or memory retrieval is a funny thing.


MALE BRAIN VS FEMALE BRAIN

Have you wondered why it is nearly impossible to win an argument with your wife (sister/girlfriend/mother/any women for that sake), especially if its about personal, emotional, or social incidents. You will have one big point (It wasnt me!), and then she will have a few hundred small points that you cant challenge or remember. It will be like...but, but, but, but, but... Oh man, I wish I had such great memory for details. That would make my life easier (or worse)!

The secret? One word: EMOTION!

Dont believe me, watch this:







MY 32 CENTS! 

Have you wondered why subjects you enjoy to study are easier to learn and remember? What happens in your mind when you enjoy something? You keep on thinking about it! If you dont enjoy it? You think about something else!

The secret? One word: REPETITION
Things you like, you repeatedly think about in your mind.

To improve your memory you could eat healthy, exercise well, play brain games, use millions of memory techniques, and all the other who-ha prescribed by the memory gurus. I have tried them all without too much lasting success.

But I do know that when I try really hard to forget something, it usually sticks better than any other method that I have ever tried. I suppose in the process of trying hard to forget I am evoking an emotional state (e.g. angry), and by doing it repeatedly it makes it nearly impossible to forget.

In a never forgetting memory shell, make whatever you want to remember memorable by trying hard to forget it in an emotional state repeatedly.

Now, forget what you have just read! FORGET! FORGET! FORGET! FORGET!

If you cant remember, you havent tried hard enough to forget! GET IT?

Who cares if you can remember (digital databases do a better job!), if you cant understand, apply or create some form of value from it! That makes more sense... Now I get it!

What about you? What is your secret recipe to great memory (with understanding!)?
Read more »

Sunday, February 15, 2015

My first learning example in Kettle An example is reproduced from Pentaho Tutorials Topic Filtering Rows

Hi Guys,

Here is my first learning experience with Kettle Community ETL.

Download Kettle from :  Click Me

Sources to get start with Kettle :

1) http://wiki.pentaho.com/display/EAI/Getting+Started
2) http://localhost:8080/pentaho/docs/InformationMap.html
3) http://wiki.pentaho.com/display/EAI/Pentaho+Data+Integration+%28Kettle%29+Tutorial

You should have installed java in your local machine and path, java_home, jre_home set for it.

Below topic is a re-production of Kettle Transformation & Job example from Pentaho Tutorials and the description is slightly differ from the actual description.

Lets look at simple basics and then well jump into 1st example.


#  What is Transformation in Kettle ?
# What are jobs in Kettle ?
# Core difference b/w Transformation & Jobs in Kettle ? 
# Extensions for transformations & jobs in Kettle ?
# What are steps & hops ? 

1) What is the usage of Transformation ?

    Transformations are used to describe the data flows for ETL such as reading from a source, transforming data and
    loading it into a target location.

2) Jobs

Jobs are used to coordinate ETL activities such as

Defining the flow and dependencies for what order transformations should be run
Preparing for execution by checking conditions such as, "Is my source file available?," or "Does a table exist?"
Performing bulk load database operations
File Management such as posting or retrieving files using FTP, copying files and deleting files
Sending success or failure notifications through email


3)Whats the difference between transformations and jobs?

Transformations are about moving and transforming rows from source to target. Jobs are more about high level flow control: executing transformations, sending mails on failure, ftping files

4) Extensions for transformations & jobs in Kettle ?
Transformation : .ktr
Jobs : .kjb

5) What are steps & hops ?

  • A transformation is a network of logical tasks called steps.
  • Transformations are essentially data flows.
  • The transformation is, in essence, a directed graph of a logical set of data transformation configurations.
  • Steps are the building blocks of a transformation, 
  • for example a text file input or a table output. 
  • There are over 140 steps available in Pentaho Data Integration and they are grouped according to function; for example, input, output, scripting, and so on. 
  • Each step in a transformation is designed to perform a specific task, such as reading data from a flat file, filtering rows, and logging to a database 
  •  Steps can be configured to perform the tasks you require. 
  •  
  • Hops are data pathways that connect steps together and allow schema metadata to pass from one step to another. 
  •  Hops determine the flow of data through the steps not necessarily the sequence in which they run.
  •  When you run a transformation, each step starts up in its own thread and pushes and passes data. 
More info  at :  Click Me


TOPIC :
Load sales data into a database. Several of the customer records are missing postal codes(zip codes) that must be resolved before loading into the database.

You will be given two .csv files to load the data into database. 
The first file is : sales_data.csv and later one is Zipssortedbycitystate.csv

( Location of the files : /home/sada/softwares installed/Pentaho/data-integration/samples/transformations/files
)


In short , there is a column called "postalcode"  in sales_data.csv with missing postal codes(i.e., the values are null) and need to fill the missed the missed postal codes using "postalcode"  column of Zipsortedbycitystate.csv file. 


Explanation : 
The Final Transformation looks as shown in below :

The final job looks as shown in below(doing job is optional for this topic)


Transformation is divided into below sub tasks.
1) Retrieve Data From Flat File ( i.e., Retrieve Data From "sales_data.csv")
2) Filtering the records ( from the source file get only not null valued rows for "postal code").
3) Load to into Relational database ( Total Number of rows in this 2747)
4) Retrieve Data From your look-up file.
5) Resolve Missing zip information.


Download the example : Click Me

NOTE : While running the .ktr file (or .kjb file) in your environment you should specify the flat files(.csv files) location as per your folder structure.

#:  Ive taken postgresql as output table.

Thank you.

Sadakar
BI developer.
(Pentaho/Jasper/Talend/Kettle).

:-)







Read more »