We have been developing software for decades and we have witnessed more software projects fail than succeed. And, most software projects are considered as failed, either because a project does not meet a customer requirement or an agreed project timeline gets missed. We always run into a problem of too many features being promised to