Agile and semi agile practices