Adapting To Agile Methodology - A Developer Role
Sign in

Adapting to Agile Methodology - A Developer Role

software

Mr. Happy is a Senior Programmer in ABC Software Solutions, who follow traditional project management methodologies. He is the best in programming by delivering quality software with minimum bugs. His software always 100% compliant with the given design, use cases and requirements.

Recently his company got a biggest pharma project from US client. As the client wants to see progress every week in shorter iterations, he is insisting to follow agile methodology.

The project is already half cooked by another vendor.

Unluckily Mr.Happy is moved to this project. His onsite manager explained the collected user-story (requirement) from client and Mr.Happy was asked to develop that.

The user-story goes like this…

"Administrator should be able to see list of users belongs to particular customer. Administrator will click on Customer link from customer-list page (which is existing). Upon clicking on the customer link, need to develop a new page which brings all the users belong to that customer and display."

Mr.Happy is very confident in developing this feature as he developed similar kind in many times. Within a given time Mr.Happy developed, QA passed and successfully delivered to the client.

In a first call client raised many issues…

  1. In production DB some customers have million of users. It is not developed appropriately to handle huge amounts of data.
  2. There is no sorting on clicking on the Title Heading.
  3. Date format is not consistent with the application.
  4. Number of records display per page is not consistent with the application.
  5. Records are not fetching with date sorted.

Overall client feedback "It is not developed as professional way"

Mr.Happy had to give many explanations…:-(

So, what went wrong here?

Whose responsibility of deriving clear cut requirements?

In my opinion…

  • Developer role is no more happy coding. His responsibility starts with adapting to existing system design, analyzing and elaborating the requirements. He should be able to derive different flows, ask more questions, and bring it to manager’s attention.
  • Often it is required to make a best judgment (I am not saying to read the clients mind set :-) e.g. look in the existing app with similar date field format and make a decision).
  • Study the existing system and make sure your code is not breaking other parts of the system.
  • Discuss with co-developers if they exist in same geographic location.

In Conclusion ,

There is no clear cut separation between an Architect and Developer.

According to Martin Fowler (founder of Thoughtworks - Agile methods)

"Architecture is a shared understanding of Expert Developers".

Since this is my first blog in Silicon India, discussions are most welcome..

My blog

Thanks,

Siva.

start_blog_img