I have been recently introduced to agile method for software development. It consist of 2-week sprint for any task break down. I fall in love with the concept of time is constant, while spec and scope is variable. In short, what can be accomplished by 2-week sprint, and throw everything to fit into that two week time.

Put all effort based on that time limit.

Either to gather information or requirement or development itself.And eventually deliver something by the end of the sprint. After that sprint is completed, we quickly deployed the feature and prepare into getting user to use the newly produced features to see whether or not it is useful or just another not so important feature **really?!**.

If it is indeed not so useful feature after all,despite the hype from client or user at the previous 2-week they were saying they’re desperately need it. We just wasted two week of efforts rather than a full-6months project time to entertain feature that were explicitly requested by user.

If its turn out to be a very useful feature,we might put up another sprint for feature enhancement. But this must be really useful and would be for daily use by the user.
I love this idea because, as software developer,we don’t want to end up writing something that may be huge or amazing, but no one gonna need it.I know it can be frustrating.. :)

Furthermore, combined with KANBAN method for resource management.I think it would be benefical for everyone involved. Be it the management or the software developer itself. No more one’s weekend got sacrified for an “important” project so called.
Let’s see how this goes.