Why Agile Principles?In the mid-1990s, there are critical troublesabout software development projects mainlyby follow a heavyweight softwaredevelopment methodology, which consistedof a complete requirements document,followed by coding and testing based onplans.The philosophy was often summarized as “Doit right the first time.”
Why Agile Principles?•In February 2001, 17creators and supportersof the lightweightmethodologies had ameeting in Snowbird;•To discuss a way to fitthe principles of yourmethodologies , whichoriginated the agilemanifesto;
Why Agile Principles?Software engineers in attendance in SnowbirdIncluded:Kent Beck, Mike Beedle, Alistair Cockburn,Ward Cunningham, Martin Fowler, JamesGrenning, Jim Highsmith, Andy Hunt, RonJeffries, Jon Kern, Brian Marick, Robert Martin,Steve Mellor, Ken Schwaber, Jeff Sutherland,Dave Thomas, and Arie van Bennekum.
Why Agile Principles? – Agile Manifesto ->Individuals and interactions over processes and tools; ->Working software over comprehensive documentation; ->Customer collaboration over contract negotiation; and ->Responding to change over following a plan.That is, while there is value in the itemsbelow (not bold), we value the itemsabove (bold) more.
Agile Principles1- Our highest priority is to satisfy the customer throughearly and continuous delivery of valuable software.2- Welcome changing requirements, even late indevelopment. Agile processes harness change for thecustomers competitive advantage.3 - Deliver working software frequently, from a couple ofweeks to a couple of months, with a preference to theshorter timescale.4 - Business people and developers must work togetherdaily throughout the project.
Agile Principles5 - Build projects around motivated individuals. Give themthe environment and support they need, and trust them toget the job done.6 - The most efficient and effective method oftransmitting information to and within a developmentteam is face-to-face conversation.7 - Working software is the primary measure of progress.8 - Agile processes promote sustainable development.The sponsors, developers, and users should be ableto maintain a constant pace indefinitely.
Agile Principles9 - Continuous attention to technical excellence andgood design enhances agility.10-Simplicity--the art of maximizing the amount ofwork not done--is essential.11- The best architectures, requirements, anddesigns emerge from self-organizing teams.12 - At regular intervals, the team reflects on how tobecome more effective, then synchronizes andadjusts its behavior accordingly.
Why Agile Principles?In this point, we will see the surveypreparation and results presented. Any questions?
SurveyWere conducted two surveys:In 2010 at North Carolina State University toquantify the community’s view about agileprinciples and practices;It was administered throughwww.surveymonkey.com and direct emails;
SurveyThe first survey was focused on the originalprinciples and commonly used softwaredevelopment practices;There were a set of questions andinstructions, followed by a list of principlesand 45 practices, which are typicallyassociated with agile software development,where all surveys questions were in randomorder;
SurveyQuestion about agile principles:How important is this principle thatcomes from the original agile principlesauthored in 2001 for agile teams in2010? (1=not very important; 5=essential,the team is not agile if it doesn’t followthis principle)
SurveyQuestion about practices:What practices are essential for a teamto be considered agile? (1=not important;5=essential, a team is not agile unless itdoes this practice)
Survey326 respondents with extensive experience inagile software development, where 23% ofthem used to working with agile methodologyfor 10 years or more, what came to be calledan “agile methodology” post-Manifesto.The respondents were primarily from:North America (59%)Europe (29%).
SurveyOf the 326:(55%) indicated have worked on teams with 30 ormore members;(96%) worked in a distributed fashion, with: •(34%) having all teams in the same country, •(13%) in the same continent, and •(49%) spread across different continents;And (16%) indicated they worked on safety-critical projects.
SurveyIn this point, we will analyze the respondentsinformation about the second survey. Any questions?
SurveyThe second survey asked, how valuable areconsidered the principles?.What do wethink about it?What’s more effectivePractices or Principles?
SurveyThen, each respondent chosen the mostvaluables among the 12 principles, and 11/12had a mean score of 4.1 out of 5 or higher; What do we think about it?The survey analyzed the most distinguishedof the 93 comments from both surveys andarranged the set of principles by mean score.
Tier Principles1 (4.6) To satisfy the customer and Deliver working software frequently2 (4.5) Build projects around motivated individuals, Working software is the primary measure, At regular intervals, the team become more effective.3 (4.3) Continuous attention to technical excellence4 (4.4) Welcome changing requirements, Simplicity5 (4.1) Business people and developers must work together, team is face- to-face conversation, promote sustainable development by maintain a constant rhythm of work indefinitely.6 (3.8) Self-organizing teams
SurveyThe principle 7 attracted the most comments, whynot adequately emphasized the need to producehigh-quality software and test, and also elicitnonfunctional requirements.The functional focus of iterations can lead on troubleof “Flaccid Scrum”, where the teams using onlyScrum’s project-management practices without alsofollowing good engineering practices.They have not paid enough attention to the quality ofthe code, only the “happy path” is demonstrated atthe end of an iteration.
SurveyIn this point, we will analyze the respondentsinformation about practices and understandwhy the principles must be revised.Any questions?
SurveyWhat’s more effective Practices or Principles?What do we know aboutAgile Practices?Which are essentials for ateam to be consideredagile?
Revised PrinciplesBefore NowPrinciple 2. Welcome changing Principle 2. Welcome changingrequirements, even late in requirements at the start of eachdevelopment. Agile processes iteration, even late in development;uses change for the customers agile processes harness change forcompetitive advantage. the customer’s competitive advantage.
Revised PrinciplesBefore NowPrinciple 4. Business people and Principle 4. The whole team, fromdevelopers must work together Business people through testers, mustdaily during the project. communicate and collaboratively work together during the project.
Revised PrinciplesBefore NowPrinciple 5. Build projects around Principle 5. Build projects aroundmotivated individuals. Give them empowered, motivated individualsthe environment and support they with a shared vision of success; giveneed, and trust them to them the environment and supportget the job done. they need, clear their external obstacles, and trust them to get the job done.
Revised PrinciplesBefore NowPrinciple 6. The most efficient and Principle 6. The most efficient,effective method of transmitting effective method for transmittinginformation to and within a information to and within adevelopment team is face-to-face development team is throughconversation. synchronous communication(skype); important decisions are documented so are not forgotten.
Revised PrinciplesBefore NowPrinciple 7. Working software is Principle 7. Valuable, high-qualitythe primary measure of progress. software is the primary measure of progress at the end of each short timeboxed (a fixed period of time for an activity) iteration.
Revised PrinciplesBefore NowPrinciple 8. Agile processes Principle 8. Agile processes promotepromote sustainable sustainable development. The wholedevelopment. The sponsors, team should be able to maintain adevelopers, and users should be reasonable work pace that includesable to maintain a constant pace dedicated time for exploration,indefinitely. visioning, refactoring, and obtaining and responding to feedback.
Revised PrinciplesBefore NowPrinciple 11. The best Principle 11. The best architectures,architectures, requirements, and requirements, and designs emergedesigns emerge from self- from self-organizing teams guided byorganizing teams. a vision for product release.
Revised PrinciplesBefore NowPrinciple 12. At regular intervals, Principle 12. With each iteration, thethe team reflects on how to Team truly reflects on the successbecome more effective, then tunes of the project, feedback, and how toand adjusts its behavior be more effective, then tunes andaccordingly. adjusts its plans and behavior accordingly.
Revised Principles Survey had indicated general agreement within the revisions except by two conditions:1. Lean and kanban practices removed the notion of iterations for many teams. A feature can begin at any time, as a result, the teams had a lack of defined iterations.
Revised Principles Many respondents also reacted negatively to the switch from “face- to-face communication” to “synchronous communication.” where the respondents wanted principle 6 to represent the ideal practice.
Conclusions Agile principles are as important as practices, where the practices must be in line with principles. Thus like agile has a good comprehension about changes, the principles need be up to date for reflecting that.
Conclusions The principles were revised and presented, where there was not big changes that promoted some breaking of its essence. Despite the changes, the survey has shown a growing acceptance of new communication means and its natural evolution in the scenario (distributed teams). We also need pay attention to “Flaccid Scrum” when used to working on Kanban, why the code quality must be as important as the done concept.