Agile Methodology to manage software development projects
In this article, we will briefly talk about Agile Methodology to manage software development projects.
Project Management for software development came from a traditional thought of assembly line of factory. There is a definite sequence or phase for development. So software development was broken into Design, Build and Test phases in traditional waterfall methodology or Software Development Life Cycle. But it forgets the very basic nature of software engineering – fact that you have flexibility to change part of code any time and replace it with new more functional, more enhanced piece of code. It is not like, once a buiding is built, you cannot demolish a middle floor and rebuilt it.
Also, not every requirement can be put on paper at the start of the project by client. Client has a big picture in mind on what he wants but is clueless on the granularity of every requirement, so the development team is also equally confused to grasp minute details of requirement at the start of the project. After analyzing wastage of time and money on such long running software developement projects, experts have come up with Agile Methodology of software develoment.
Key is to build a small working part of a product in shortest duration (say, 2 weeks – so your design, build and test occurs within this time), demonstrate it to client, redefine scope and sprint to next development part. When you see a working peice, lesser things are left for imagining changes. The granularity automatically comes in further changes, if required. So no heartburns to client at the end of the project stating ‘no, this is not what I wanted’.
Scrum is a simple to follow framework in Agile Methodology which defines way for software development process. It highly relies on team’s agility to build a incremental part of end product, get empirical feedback of currrent development and team’s self management.
So all project management, team management roles get dissolved. Scrum framework has only Product Owner, (non hierarchical) Team and Scrum Master, just these 3 roles.
Product Owner gives you user stories (requirements). Scrum Master tracks it on daily deliverable basis for a single iteration (called sprint, mostly 2 weeks). Team delivers output in 2 weeks. And this sprint cycle repeats till entire product is built.
Scrum framework has only 5 defined meetings – Product Backlog Refinement, Sprint Planning, Daily Standup, Sprint Review and Sprint Retrospective.
Product Backlog Refinement meeting, as name suggests, is used to refine requirements of product.
Sprint planning meeting is used to plan deliverables in a single sprint/iteration.
Daily Standup meeting of just 15 minutes, coordinated by Scrum Master, is to track progress on daily basis with 3 questions – what is done yesterday, what will be done today and what are bottlenecks to achieve so.
Sprint Review is demonstration to Product Owner of what has been developed in a single sprint.
Sprint Retrospective is a meeting to capture lessons learned in that sprint.
Because of the simplicity to follow and benefits gathered in terms of time and money, many organizations are executing software development projects in Scrum Framework of Agile Methodology.
This “what you see is what you get” approach reduces development costs tremendously and it also gives client confidence to launch the product to market in a precisely defined time.
We, at Butterfly Themes, follow Agile Methodology in our software development projects.
In this article, we have briefly talked about the Agile Methodology to manage software development projects.
Have any questions or suggestions for us?
kindly ping us at email@example.com or call us on 9930447774.