Transparency, an invaluable agile benefit
Greatest advantage of agile is that it brings about transparency in product development by making tangible results available for customers, end users and development teams to review and take corrective actions.
Problems with traditional software methodologies such as waterfall is that intermediate progress is not only invisible to end customer and key decision makers, but is also invisible to most team members. The difficulty of measuring progress in software development by just looking at source code is a lot higher as compared to for e.g. measuring the extent of progress in a building construction or carpentry work.?This difficulty of measurement makes end timelines unpredictable. Further, due to this opacity, valuable mid-course correction opportunities are lost, paving way to nasty unpleasant surprises.
Agile provides multiple techniques to bring about the much needed transparency in development so that the team can manoeuvre the course of progress?in an informed way. Key techniques include:
User Stories
Business requirements and all that is done by an agile team is captured as user stories in product backlog. User stories are written in end user’s language enabling an early review of the same by end users. Further, a good practice qualifies each user story with multiple perspectives from?various users. If user stories are written from point of view of a single user or actor, there are times when other aspects of a user story get missed out. Here’s an example. A user story for a website user says that the user can share the contents of a website with his/her social network connections so that he/she earns brownie points for knowing about the cool information. A website perspective for this user story could be that content sharing is supported so as to bring in referrals back to website. By recording both perspectives, development team will be able to design better solutions satisfying the needs of all users concerned. In some cases there may be more than two perspectives of a user story, and a good practice of capturing all will help define requirements better.?
In addition, each user story in agile is qualified by multiple measures such as story points, business value/priority, technical priority, risk, etc., that help arrive at better release plans by delivering higher business value items earlier on, reducing time-to-market and reducing overall risk of the product.
领英推荐
Daily Scrum
Daily scrum meetings help increase visibility of progress within the development team. It helps team members be aware of each other’s accomplishments, share artifacts, reuse stuff, discuss problems and plan for the day. It increases the knowledge level of all team members w.r.t project and what other team members are doing in the project. This increased visibility facilitates unprecedented collaboration amongst team members and speeds up problem resolution. It also helps them to realistically forecast and plan the day’s work, every day.
Sprint Demos
Product is released in multiple releases with each release having multiple sprints that deliver testable and usable product features incrementally and interactively. Every sprint release is ended with a sprint demo to the customer for early validation, feedback and course corrections. Such intermediate regular demos drastically reduce the probability of project failure, since product evolves based on actual customer review and feedback.?
Thus, agile development provides lot more transparency as compared to other development methodologies, thereby facilitating effective harnessing of collective team wisdom at all stages. Due to these traits, agile methodologies become imperative in cases of projects that have
?In summary, transparency enabled by agile methodologies provides many advantages like