Why Agile

Agile development is popular, but that's no reason to use it. The real question: will agile development make your team more successful?

Success is usually defined as delivering on time, under budget, and as specified. That's a flawed definition. Many late projects are huge successes for their organizations, and many on-time projects don't deliver any value. Instead, think in terms of organizational, technical, and personal success.

Agile development is no silver bullet, but it is useful. Organizationally, agile delivers value and reduces costs; technically, it highlights excellence and minimal bugs; personally, many find it their preferred way to work.

How to be Agile

There is no "agile method." "Agile" is a marketing term created to describe a style of working. This style focuses on collaborative work, concrete results, delivering value, and minimizing waste.

"Being agile" means working in the agile style. To do so, start with an existing agile method, use it to understand the principles and practices of agile development, then adapt it to your specific situation.

This book follows that pattern. We describe one method in detail, then discuss principles and adaptation. To use this book, follow the practices carefully, note where they work and where they don't, and adapt.

Agile development is now accepted globally as the best way to develop, maintain, and support software systems. Several papers on the early implementation of Scrum are of general interest.

Later papers provide some of the nuts, bolts, and best practices of Scrum implementations. The design and implementation of an All-at-Once Scrum (Type C Scrum) at PatientKeeper to enable enterprise agility has been emulated by innovative companies worldwide. Case studies of CMMI Level 5 Scrum implementations and hyperproductive distributed, outsourced teams are of particular interest. In this compilation, papers are organized into a single volume to be readily accessible. More may be available in a subsequent edition.

Scrum is the only Agile process that has made its way through the Pattern Languages of Programming Design (PLoP) process. Both Scrum and eXtreme Programming were affected by the software patterns movement and Mike Beedle, the third Scrum signatory of the Agile Manifesto, led the effort to formally codify Scrum as an organizational pattern.

Scrum is designed to add energy, focus, clarity, and transparency to project planning and implementation. It will:

• Increase speed of development

• Align individual and corporate objectives

• Create a culture driven by performance

• Support shareholder value creation

• Achieve stable and consistent communication of performance at all levels

• Enhance individual development and quality of life

Scrum is a simple framework used to organize teams and get work done more productively with higher quality. It allows teams to choose the amount of work to be done and decide how best to do it, thereby providing a more enjoyable and productive working environment. Scrum focuses on prioritizing work based on business value, improving the usefulness of what is delivered, and increasing revenue, particularly early revenue. Designed to adapt to changing requirements during the development process at short, regular intervals, Scrum allows teams to prioritize customer requirements and adapt the work product in real time to customer needs. By doing this, Scrum provides what the customer wants at the time of delivery (improving customer satisfaction) while eliminating waste (work that is not highly valued by the customer).

Scrum is a simple “inspect and adapt” framework that has three roles, three ceremonies, and three artifacts designed to deliver working software in Sprints, usually 30-day iterations.

• Roles: Product Owner, ScrumMaster, Team.

• Ceremonies: Sprint Planning, Sprint Review, and Daily Scrum Meeting

• Artifacts: Product Backlog, Sprint Backlog, and Burndown Chart

The Product Owner has the following responsibilities

Define the features of the product;

• Decide on release date and content;

• Be responsible for the profitability of the product (ROI);

• Prioritize features according to market value;

• Adjust features and priority every 30 days, as needed; and

• Accept or reject work results.

The Product Owner is responsible for the first of the three Scrum ceremonies: Scrum Planning.

The ScrumMaster is a facilitative team leader working closely with the Product

Owner. He must:

• Ensures that the team is fully functional and productive;

• Enable close cooperation across all roles and functions;

• Remove barriers;

• Shield the team from external interferences; and

• Ensure that the process is followed, including issuing invitations to Daily Scrum, Sprint Review and Sprint Planning meetings.

The Team is cross functional

• Seven plus/minus two members

• Selects the Sprint goal and specifies work results

• Has the right to do everything within the boundaries of the project guidelines to reach the Sprint goal

• Organizes itself and its work

• Demos work results to the Product Owner

Comments

Popular posts from this blog

Interview Questions to Ask the Employer

Place .NET DLL in GAC

Windows Communication Foundation - FAQ