Wednesday 15 April 2015

Improve Your Software Development: Involve Client ASAP

Historical software development methodology was typically as 
  1. Get Requirements
  2. Code It
  3. Test It
  4. Deploy It
In this typical approach (AKA Big Bang Approach or Waterfall model of software development methodology), once requirement gathering is done, coders used to disappear for coding, and clients wouldn't understand what they are actually doing! After lots of sleepless nights coder might think “Whoa! That was hard work! I was working like crazy!” and hence expecting that while showing working piece of software, we will get “WOW! Amazing!” from audience (Clients). However too frequently the reaction was “Yeah this is fine, you did lot of work but what I really expecting or wanted was…..” and from this point all disappointments and project delays start. All rework (Recode, Retest, and Reintegrate!) then starts hampering your timelines and those cost of changes become increasingly high.
Big bang approach usually ends up with big mess. There is an unwritten rule that “If your customer is unhappy, you have built wrong software!” (No matter how great you think it is) and in such cases don’t waste your time in trying to tell them how they are wrong. But then how to find out what customer really wants from you…….simple, “Involve them ASAP”
Secret of great software development is iteration; hence involve client/user during all iterations (Agile Methodology for Software Development) So once you make significant progress you can check it with them and then refine if required or move ahead. As you are getting customer feedback frequently, he is also well aware of the current stage of the software.
Iteration is a frequent check-up of your software! In big bang approach, probably your software gets ready at the end and its utterly wrong time to realize that something went tremendously wrong. With iteration you can immediately come to know that probably you are going wrong.
Consider your each iteration as project in itself or rather a mini project which should involve requirement, design, code, test and feedback. But while doing iterations you should meticulously follow these things  
  1. Estimate the new features
  2.  Let your customer decide priority for new features
  3. Revisit your iteration plan
  4. Check timelines
I’m sure that involving customers early into project really helps a lot! Try it! (If you are still following big bang approach)


Good Software Development Delivers What Is Needed On Time and On Budget


No comments:

Post a Comment