|
|
|
Agile Software Development: A Survey of Agile Methodologies is a 2-day course designed to provide a survey of various Agile Software Development Methodologies for anyone interested in learning more about Agile Software Development and how the different methodologies compare and contrast with each other. This course starts with an overview of key agile values and principles derived from the Agile Manifesto. Course attendees then learn the basic concepts and practices of eXtreme Programming (XP), Scrum, Crystal, Feature Driven Development (FDD), DSDM, Adaptive Software Development and the Agile Project Leadership Network’s (APLN) Declaration of Interdependence as well as related methods and techniques such as Lean Software Development, Agile Modeling (AM), Open Source Software, Pragmatic Programming and the Rational Unified Process. This course emphasizes the values and principles of agile methods so that attendees will learn how to select among them for application in the attendees’ work environments. Method of Instruction: This course is taught through lecture and interactive discussion. The emphasis is on acquiring a clear understanding of agile concepts and methods so that attendees can determine what values, principles, practices and methods may be applicable to their own work environments. Target Audience: Software developers, testers, quality engineers, project managers, functional managers, requirements analyst, and other software stakeholders who anticipate or are interested in the planning, management and development of software employing agile methods. Course Objectives: Upon successful completion of this course attendees will be able to:
Course Materials: Student notebooks are designed to provide reference materials that can be utilized by the attendees long after the completion of the course. These materials include:
Detailed Outlines:I: Agile – The Basics1. What Should A Methodology Do?a. Method and Methodology Definedb. What Should A Methodology do?c. A Good Methodologyd. Line Down the Middle of the Roade. Methodology Trianglesf. Traditional Project Profileg. Agile Project Profile2. Agile Manifesto & Principlesa. Manifesto for Agile Software Developmentb. Individuals & Interactionsc. Working Softwared. Customer Collaboratione. Responding to Changef. Another Way to Think About Thisg. Principles Behind the Agile Manifestoh. Values & Principlesi. Two Main Ideas Emerge3. Agile “Culture”a. Why Agility?b. Rock Climbingc. Emergence & Complex Behaviord. Customer Focuse. People & Teamsf. Planningg. Changeh. But What About Quality?4. Agile May Not Be For You If…5. Agile Methodsa. Agile Methodsb. Related Methods/TechniquesII: eXtreme Programming (XP)1. XP Valuesa. eXtreme Programming (XP)b. Communicationc. Simplicityd. Feedbacke. Couragef. Respect2. XP Principlesa. Economicsb. Mutual Benefitc. Accepted Responsibilityd. Qualitye. Self Similarityf. Flowg. Redundancyh. Failurei. Opportunityj. Reflectionk. Improvementl. Baby Stepsm. Diversityn. Humanity3. XP Primary Practicesa. Team Co-Locationb. The Whole Teamc. Informative Workspaced. Energized Worke. Storiesf. Quarterly Cyclesg. Weekly Cycleh. Slacki. Incremental Designj. Test 1st Programmingk. Pair Programmingl. Continuous Integrationm. Ten Minute Build4. XP Corollary Practicesa. Team Continuityb. Real Customer Involvementc. Negotiated Scope Contractd. Single Code Basee. Shared Codef. Code & Testsg. Incremental Deploymenth. Daily DeploymentIII: Scrum1. Defining Scruma. History of Scrumb. Scrum Characteristicsc. Complex Problemsd. Creation of Knowledge2. Scrum Rolesa. Scrum Rolesb. Product Ownerc. Scrum Teamd. Scrum Master3. Scrum Processa. Scrum process Overviewb. Product Backlogc. Sprint Planning Meetingd. Scrum Skeletone. Scrum Heartf. Daily Scrum Meetingsg. Sprint Review Meetingh. Sprint Retrospective Meetingi. Applying the Scrum MethodIV: Crystal1. Concepts of Crystala. History of Crystalb. What is Crystal?c. Crystal Explainedd. Crystal – Color Spectrume. Shoot Me to Marsf. Crystal Roles2. The Seven Crystal Propertiesa. Crystal – The Seven Propertiesb. Frequent Deliveryc. Reflective Improvementd. Osmotic Communicationse. Personal Safetyf. Focusg. Easy Access to Expert Usersh. Technical Environment3. Crystal Strategies & Techniquesa. Crystal Strategies§ Exploratory 360o§ Early Victory§ Walking Skeleton§ Incremental Rearchitecture§ Information Radiatorsb. Crystal Techniques§ Methodology Shaping§ Reflection Workshops§ Blitz Planning§ Delphi Estimation§ Daily Stand-up Meetings§ Essential Interaction Design§ Process Miniature§ Side-By-Side Programming§ Burn Charts4. Crystal Process & Work Productsa. Crystal – The Process§ Project Cycle§ Delivery Cycle§ Iteration Cycleb. Integrating the Softwarec. Weekly & Daily Activitiesd. Development Episodee. The Work Products of CrystalV: Other Agile Methods1. Feature Driven Developmenta. Feature Driven Developmentb. FDD Core Practicesc. Core FDD Roles§ Supporting FDD Roles§ Additional FDD Rolesd. A Feature Is…e. FDD’s Process§ Develop Overall Model§ Build features List§ Plan by Feature§ Design by Feature(1) Chief Programmer Work Packages§ Build by featuref. Inspectionsg. Builds & Configuration Management2. DSDMa. DSDM History & Applicationb. DSDM Philosophy/Principlesc. Use DSDM When…d. DSDM Process Diagrame. DSDM – Core Techniquesf. DSDM – Requirements Prioritizationg. DSDM & Qualityh. DSDM Roles3. Adaptive Software Developmenta. Adaptive Software Development (ASD)b. Characteristicsc. Conceptual Modeld. Development Modele. Leadership-Collaboration Modelf. Complex Adaptive Systemsg. Project Management Cycleh. “Life Cycle” – Speculatei. “Life Cycle” – Collaborationj. “Life Cycle” – Learn4. Declaration of Interdependencea. Agile Project leadership Network (APLN)b. The Declaration of Interdependencec. APLN’s Core PrinciplesVI: Related Methods & Techniques1. Lean Software Developmenta. Lean Thinkingb. Lean Developmentc. The Seven Wastesd. Techniques to Become Lean2. Agile Modelinga. Agile Modeling (AM)b. Agile Modeling Principlesc. Agile Modeling Practices3. Open Source Softwarea. Open Source Software (OSS)b. Legal Perspectivec. Motivations & Driversd. Project Structuree. Web Repositoriesf. Agile, OSS & Plan-Driven Comparison4. Pragmatic Programminga. Pragmatic Programming (PP)b. PP Practices5. Rational Unified Processa. Rational Unified Process (RUP)b. RUP (4) Phasesc. RUP Practicesd. RUP Workflowe. RUP “Workers” (Roles)Other Agile Software Development Courses Include: Implementing Agile Development Skills: This 3-day course is designed to provide a fundamental knowledge base and practical skills for anyone interested in implementing agile concepts in an existing software development environment where a more traditional lifecycle workflow is employed. The course covers how to incorporate practices and techniques from many different agile methods within such a lifecycle approach.. Customized Courses: Our Agile Software Development courses are modularized so that they can be easily customized for in-house course offerings that focus on the specific content and topics needed to meet your organization’s exact training requirements. The Westfall Team can also customize this course or any of our other standard courses or develop unique software engineering, quality and project management courses to meet your exact in-house training needs and specifications. For example, class exercises can be tailored to include actual examples from your organization in order to make the training more relevant to your environment. For more information about this course or other courses offered by The Westfall Team Send an email to: lwestfall@westfallteam.com Or call: 972-867-1172
|