For more info see XPSDPresenterGuidelines
November 6, 2008
Approval Based Tests - LlewellynFalco & DanGilkerson
Write your code, run it, see that it works. This is a familiar process to all programmers. The addition of 1 line of code can now make that a repeatable automated regression test! Well tested code has been shown, over and over, to improve the quality and maintainability of software. Yet most projects are not well tested. Why is this? Too often programmers feel that testing imposes too high of an overhead on writing code.
In this talk, our goal is to make it easier and faster for you to write unit tests.
We will show how using approvals, in addition to asserts, will great increase not only the ease and speed of writing a test, but the completeness and maintainability of those tests; bridging the gap between people who don't write tests, and test driven developers.
"I feel like I have to write my code twice
" Right now, unit tests impose a difficult step upfront of knowing exactly what you want. Asserting this outcome then becomes cumbersome the more robust & detailed it is. After that, maintaining the test becomes equally cumbersome. Because of this, tests either get written, or get discarded, leaving untested code which is fragile, error prone and leads to the nightmare of maintenance so many experience.
After this talk, you should find yourself spending less time writing tests, yet having better tested code, a proven way to increase successfulness of your software.
"After I heard Dan & Llewellyn talk about approval tests, I tried it out
in the first 4 minutes I was testing my code" - C. Monkey
"I find myself writing more code just so I can write more approval tests!" - Script Kiddie
"All my life I'd sought approval from other developers, now I can approve on my own" Noself E. Steam
"With all the time I saved, I actually learned to talk to women" - Anonymous
A picture is worth a thousand tests:
September 4, 2008
A lightening talk is a 3-minute speaking slot. At our meeting tomorrow, several of these talks will be delivered by different speakers. Any attendee may speak for 3 minutes in which a Agile-related tip or experience may be related, or you can describe an issue on your project that you may wish to brainstorm with the group.
July 31, 2008 ~Special Night & Location~
ADAPTing? to Agile: A Guide to Transitioning
Transitioning to an agile development process is unlike most transitions an organization may make. Many transitions begin when a strong, visionary leader plants a stake in the ground and says, Lets take our organization there. Other transitions start with a lone team thinking, Who cares what management thinks, lets do this. The problem in transitioning to agile is that neither of these approaches alone is likely to lead to the long-term sustainable change required. In this session we will look at the primary reasons why agile transitions fail and how to overcome them. We will explore what is necessary for self-organizing teams to emerge and thrive within the transitioning organization. We will also the role self-organization must play during the transition itself. This session will include a description of the eight primary ways of getting startedincluding going All In, Start Small, and Impending Doomand the advantages of each. You will leave knowing what approach will work best for you as well as what you must and must not do to succeed with agile.
Mike Cohn is the founder of Mountain Goat Software, a process and project management consultancy and training firm. He is the author of "Agile Estimating and Planning", "User Stories Applied for Agile Software Development", and several books on Java, C , and database programming. Mike has more than 20 years of experience in a variety of environments, including financial services, federally regulated (ISO 9001) projects, websites, shrinkwrap software, internal development, military contracting, and video game development. Mike has served as a technology executive in companies of various sizes, from startup to Fortune 40.
Mike ran his first Scrum project in 1995 and has been a vocal proponent of Scrum ever since. He has helped with the adoption of agile processes at companies such as Bioware, Capital One, the Federal Reserve Bank of the United States, Google, High Moon Studios, JDA Software, Lexis Nexis, Lockheed Martin, Microsoft, Nielsen Media Research, Pearson, Philips Electronics, Sabre, Siemens, Sun Microsystems, Texas Instruments, Turner Broadcasting, Ultimate Software, and Yahoo. A frequent magazine contributor and conference speaker, Mike is a founding member and former chairperson of the Agile Alliance and the Scrum Alliance. He can be reached at [email protected]
July 3, 2008
Nerds get loose @ HamiltonsTavern
June 5, 2008
An Agile take on Object-Process-Modeling by AllanSchougaard
Deep user involvement is a basic tenet of agile software development, and they say a picture is worth a thousand words, yet there are no methodologies in the main stream today that give users and developers a shared pictorial way of describing systems. Object-Process Modeling (OPM) can do just that. In this talk I will introduce the concepts behind OPM, show examples of OPM and demonstrate software that enables simulation, code generation and natural language generation. I postulate that OPM can be learned in 5 minutes, and we will put that statement to the test during the talk.
May 1, 2008
Continuous Integration on Steroids
With the increasing adoption of XP techniques, and continuous integration in particular, a number of tools have emerged to support CI at an enterprise
level. At this month's eXtreme Programming San Diego meeting, Stephen Gargan will give a technical tutorial that will cover the full continuous integration stack that facilitates a well developed CI process suitable for enterprise environments. This talk is aimed at software engineers/developers and will be slightly longer than our usual meeting duration (2 hours).
The tutorial will demonstrate how to set up a robust agile release process using Maven2. You will learn the complete Maven lifecycle building up to
implementing a single-click release process. Included in the CI system will be:
Stephen Gargan has been a Maven maven and evangelist since its release and has spoken on the topic at XPSD in 2004. He can be found programming during
every waking moment except when he is reading the pragmatic bookshelf.
- functional testing using Cargo
- an enterprise repository manager: Nexus
- TeamCity? as a continuous integration server
- Perforce for configuration management
April 10, 2008 - Special Night w/SDJUG
Design Patterns in an Agile Environment The Object Pool
There runs a heated debate about how to build application architectures. Many practitioners believe you must design up front, others feel that doing so leads to over-design. Unfortunately, much of this debate is based on practices, not principles. Practices must change when one finds themselves in different contexts. Principles do not. This talk presents a background of several useful principles which can help in building an application architecture dynamically.
Many modern design practices suggest that code should be developed in a highly incremental way, with frequent opportunities for validation, refactoring, and that we should embrace change as an ally, rather than seeking to avoid it through heavy analysis. At the same time, the Design Patterns movement has opened up powerful new ways of thinking about Objects and their relationships, and how we can efficiently find our way to the best designs in a given context. Initially, these two points of view would seem to be at odds with one another. However, layered architectures suggested by the proper use of patterns leads to more flexible designs, designs that tolerate change better than traditional OO would, and patterns are a great enabler for an incremental approach. Furthermore, we have found that refactoring existing code, in the light of new and/or better-defined requirements, often leads to patterns, and that an understanding of this can make for a much more efficient development process overall. This talk integrates these ideas by presenting a project done by following the guidelines of Agile development, refactoring and design patterns.
- What is Lean-Agile Software Development?
- What is the Role of Architecture?
- What are design patterns?
- What is Refactoring?
- Refactoring to the Open Closed
- A case study in using the methods described
- A different view of Agile development
- What Emergent Design is
- What the Object-Pool Pattern is
- Why following principles and practices is more important than following rote doctrine
- Synthesize the seemingly disparate views of test-driven-development and design patterns
Speaker: AlanShalloway, founder and CEO of Net Objectives
April 3, 2008
SEX SEX SEX
You won't get any if you keep going to talks like this one: A Little Taste of NMock2 For That Smooth, Relaxing, Unit-Testing Flavor.
We'll explore how the NMock2 library makes it easy to remove dependencies and test behaviors in unit tests, allowing you to quickly set up tests that confirm your code does what you want it to be doing. This code-intensive presentation covers the motivation for using Mock Objects, and once we have covered the basics, we'll show our unbelievably effective technique for using dynamic mock objects as an exploratory discovery tool for introducing characterization tests for "legacy" code (that is, code without sufficient tests as described by Michael Feathers).
NMock2 is a free, open source dynamic mock object library for .NET that can help you isolate the target and test only the localized functionality. This
is very easy to do, and you can be up and running in just a few minutes. Mock objects can give you years of trouble-free pleasure that you otherwise miss out on if you don't come to this presentation.
Speakers will be Woody Zuill and Jason ???
March 6, 2008
Using Agile Methods with an Offshore Software Development Team - Is it worth it?
In his talk, Robert Pryor will identify some of the key challenges and strategies for using Agile development methodologies with an offshore team. Using real world examples, he will suggest coping strategies that geographically-dispersed teams can use to address the productivity issues which may arise with distributed software development. This presentation will benefit those considering outsourcing or wishing to improve the effectiveness of a currently distributed team.
Robert Pryor is the Chief Extremist at AgileXtreme?, an eXtreme Programming (XP) training and development services company. He has more than 15 years experience running software and Internet companies and in defining software products. Mr. Pryor first implemented Agile software development methods in his organization in 2001. For the last 4 years, in the role of customer stakeholder, Mr. Pryor has used XP methodologies to develop complex Web applications, and innovated processes and tools to make XP work with distributed development teams. He is a pioneer, and one of the few success stories, in using XP with offshore development teams.
February 7, 2008
It all started with bumpers in an automobile plant: What is lean and why does it matter to software development & management?
The seven wastes, just in time, push vs. pull, six rules of Kanban, flow, and visual control. These buzzwords will be illustrated in their original, manufacturing context, and then translated and applied to software development and management. This presentation is agnostic to any particular software interpretation of lean.
Stan Rifkin is a San Diego-based software improvement consultant and a Lean Six Sigma Master Black Belt.
January 3, 2008
Testing Kata - honing the skill of unit testing through practice and repetition
"Unit" or "Programmer" testing is one of the corner stones of eXtreme Programming and is currently one of the fastest gaining trends in software development in general. As members of this group, you should already know the *why* of unit testing. On this night, Llewellyn and Carl will teach you the all-important *how* in a practical exercise designed to show how unit testing can be made a fast, painless and fluid part of everyday programming. Please bring a laptop or a pad of paper with you.
Llewellyn Falco and Carl Manaster are active agile mentors and code craft educators.
December 6, 2007
How to Tell User Stories
Dr. Susan Elliot Sim, a researcher at UC Irvine and Director of RAD (http://rad.ics.uci.edu/), will share with us her and her student's research on the characteristics of good user stories and how to write better user stories in the future.
Susan Elliott Sim is an Assistant Professor at the University of California, Irvine and a member of the Institute for Software Research. Her main area of research is program comprehension, in particular, tools and techniques that help software developers understand source code. Other research interests include research methodology, software engineering expertise, and software process for small business. Sim holds a Ph.D. in Computer Science from University of Toronto and she was program co-chair for the Working Conference on Reverse Engineering (WCRE) 2005 and 2006.
October 25, 2007 ~special night~
An Introduction to Agile Estimating and Planning
Planning is important, even for agile projects. Too many teams view planning as something to be avoided and too many organizations view plans as something to hold against their development teams. In this session you will learn how to break that cycle by learning and practicing skills that will help create useful plans that lead to reliable decision-making. You will learn about story points, ideal days, and how to estimate with Planning Poker. Both short-term iteration and long-term release planning will be covered.
Mike Cohn is the founder of MountainGoatSoftware, a process and project management consultancy and training firm. With more than 20 years of experience, Mike has been a technology executive in companies ranging from start-ups to Fortune 40's and is a founding member of the AgileAlliance. He frequently contributes to industry-related magazines and presents regularly at conferences. He is the author of User Stories Applied and Agile Estimating and Planning.
October 4th, 2007
Refactoring as a Development Tool
Normal refactoring is looked at as a way to move legacy code to brighter future. However, as many agile programmers have discovered, when combined with unit testing it can be an extremely powerful way to dissect a hard problem and quickly achieve elegant solutions.
This presentation will demonstrate and outline some techniques for the little talked about aspects of refactoring.
September 6th, 2007
Large-scale Scrum: A Case Study
Is it worth attempting Scrum if you can't do it 'right'? We'll tell you about attempting to use Scrum while developing a large, n-tier, J2EE application. Will using Scrum be necessary for success?
Roman Diaz and Praveen Yalamarty will describe a 12 month, 15 man-year project developing an n-tier application using Scrum on one incredible timeline. This application for the aviation industry required a 12x improvement in conversion and we will talk about how that was achieved.
Roman Diaz, a partner at Dyaus LLC, a software consulting and staffing company. Roman has been developing software for 30 years since graduating in Computer Science at UC Irvine. He has also since earned his specialized and professional certificates in Bioinformatics from UCSD Extension.
Praveen graduated in Computer Science from National Institute Of Technology, Warangal, India. He has over 11 years of experience with various ERP applications. He served as technical lead for all development except web services. He is a partner in Dyaus LLC providing software consultation and staffing.
August 2nd, 2007
Test-Driven Development for Ajax under Rails
Phlip applies his compulsion for art and logic to complex problems in games, linguistics, bioinformatics, statistical process control, e-commerce, and software visualization. Advocating Agile methodologies increases the odds he can actually get to use them himself at work. In addition, Phlip is a published author at O'Reilly (http://safari.oreilly.com/9780596510657).
July 5th, 2007
Summer Social: Recover from your July 4th with XPSD!
We will be hanging out in North Park for this year's social.
The sociable schedule:
6:00 - Bluefoot Bar & Lounge @ 30th & Upas, 92104. Map: http://tinyurl.com/398g9t
7:00 - Next door to Lefty's Chicago Pizzeria for munchies. http://www.leftyspizza.com/
June 7th, 2007
From Planes to Games
An overview of the video game industry presented by Clinton Keith, CTO of High Moon Studios (http://www.highmoonstudios.com) in Carlsbad, and a discussion of why it is adopting agile. Comparisons will be made to the defense industry's history and some of the issues seen with very large agile product development teams. Clint will talk about why the video game industry is moving in this direction and some of the issues they have observed with adopting agile development techniques on large (150 person) cross discipline teams.
Over the course of 23 years, Clinton has gone from programming avionics for advanced fighter jets to working on video games. Clinton currently heads High Moons' technical department, overseeing research and development of next-generation game engines and researching agile methods for video game development. His full biography can be found at this link (http://www.highmoonstudios.com/company/index.php?sub=c_keith).
May 3rd, 2007
XP San Diego 5th Anniversary Panel - How Has XP Changed In The Past Five Years?
To celebrate our five year anniversary, we have decided to invite a panel of Extreme Programming experts to discuss the major changes and advances in XP since 2002. Some of the topics we will cover will discuss how XP has evolved to meet the needs of enterprise software, the key practices to use during an XP transition, what tools augment the value of XP and many other topics. Our panelists will be PaulHodgetts, EricMeade and DanGilkerson. In addition to a great topic and conversation, we will have food, bevies and prizes. Come join the party!
Paul Hodgetts helps teams improve their software development processes using lean and agile approaches. As the founder and CEO of Agile Logic (http://www.AgileLogic.com), he has served as a trainer, coach and mentor for agile development teams for more than seven years. Paul is a recognized expert and authority in Lean Software Development and agile development principles, practices and leading agile processes, including Scrum and Extreme Programming. Paul is a published author and a frequent and popular presenter at conferences, professional organizations and user groups.
Erik G. H. Meade has programmed in Java since 1996. He started coaching XP in 2000 for Object Mentor, including Sabre's and Morgan Stanley Dean Witter's multiple XP team transitions. The founder of the award winning website http://www.JUnit.org. He has coached at several XP Immersions and presents to professional groups and conferences.
April 5th, 2007
Is Agile Right For Your Next Project?
At the December 2006 meeting, John Arrizza conducted an excellent, thoughtful discussion of this question - and more - in his presentation, "Risk Based Software Development Processes." Stan Rifkin will add to the topic and share several frameworks for deciding if agile is right for your next project and how to pick the best of agile if the whole isn't appropriate. He will use the lens John used, "How does each practice reduce project risk?", to answer this question.
Stan Rifkin is a principal with Master Systems, a provider of advisory services to organizations for whom computing is strategic; this is Master Systems' 22nd year. He concentrates on commercial organizations, those for whom climbing the process maturity ladder is not externally imposed. He was formerly the Chief Information Officer at the American Association for the Advancement of Science, and Director of Systems Development at the National Headquarters of the American Red Cross. He is a founder of the Foundation for the Empirical Study of Programmers, a founding editorial board member of Empirical Software Engineering journal, was the project leader of the Project Management Institute's Organizational Project Management Maturity Model, and is an associate editor in chief of IEEE Software Magazine.
March 1st, 2007
Agile Thinking in a Legacy (non-agile) Maintenance Effort
There is a lot of interest in Agile principles and practices as an alternative to the traditional "waterfall" approach. However, most of the Agile related literature in books and online is directed to new development with very little information available about using these principles and techniques on a maintenance effort for existing, legacy applications - particularly for projects that were not Agile-built in the first place. Woody Zuill will present his recent experiences working on a maintenance team that has successfully (for the most part) introduced Agile practices into a non-agile environment. He'll cover the who, how, why, and mostly the "What-the??" of applying Agile thinking to the sexy world of fixing bugs and supporting production applications in a code-smelly environment. This presentation covers the team's motivations, expectations, practices, and results for a real-world application of Agile thinking. If you are faced with a slow moving maintenance process and un-happy customers, and want to start thinking Agilely you will not want to miss this meeting. Well, that is really an oversell, of course - but I am hopeful that you will learn something of value from my attempts and won't think it an entire waste of your time. You decide.
Woody Zuill is currently working as a Senior Software Engineer and team lead on a large legacy application that is used all over the world to provide highly customizable customer care and billing for pay media operators. Woody has been programming computers for about 25 years, but has taken it seriously only about 12.89% of the time. He has many years of experience in the custom manufacturing of graphics and signage for televised sporting events where deadlines actually have meaning, and spends his spare time writing about himself in the third person.
February 21st, 2007 ~special night~
Introduction to Lean Software Development by Alan Shalloway
[Please note, we will be meeting in Building D at SAIC, NOT our usual location in Building C]
Lean Software Development is an application of the principles of the Toyota Motor Companys Lean Manufacturing and Lean Product development systems to software development. While Toyotas practices will not directly transfer to software development, their principles present guidelines to create practices that do. The principles of Lean are (Principles 2-8 are from Mary and Tom Poppendieck):
- Add value to the Customer
- Eliminate waste
- Create Knowledge
- Respect People
- Build integrity in
- Defer Commitment
- Deliver Fast
- Optimize the whole
These are rooted in a mindset of creating an organization that continuously improves its process while respecting its people with a focus on adding value to its customers. This introduction to Lean Software Development will present you with both the principles and basic practices of Lean, as applied to software development. Lean is based on blending a mindset of:
- A relentless pursuit of eliminating waste
- Adding as much value to your customer(s) as quickly as possible
- Creating and managing knowledge
- Respecting and growing your people
- Continuously refining your process to support your enterprise
Our special speaker, Alan Shalloway, will introduce Lean Software Development and discusses both its principles and practices inferred from them. He will also discusses how Agile methods are manifestations of lean principles. By relating Lean and Agile together, participants already familiar with Agile will get deeper insights into why Agile methods work. Those not familiar with Agile methods will get a solid introduction to them.
[Please note, we will be meeting in Building D at SAIC, NOT our usual location in Building C]
February 1st, 2007
XP Incremental Design Practices Roundtable
One of the simplifying assumptions in Extreme Programming is the concept of IncrementalDesign, i.e. investing a little time each day in the design of your software (in the past, this was referred to as SimpleDesign). By making small investments in your software design each day, an XP team often times will spend as much effort on software design as a team using a traditional design approach. In the case of an XP team, the design investment is spread out across the entire project. While this assumption simplifies matters and speeds up the development process, it does take new skills and techniques to carry out and end up with a robust and flexible system. Executed poorly, IncrementalDesign can lead to a brittle, inflexible software architecture which costs more to maintain and extend than if one had started with a more traditional design approach.
In this roundtable, we walk talk about the technical AND social practices needed to practice IncrementalDesign. In addition, we will discuss how to balance the need for emergent design with larger architectural concerns and the proper role (and volume) of documentation. Please join us for a lively and entertaining discussion on software design techniques used on an XP team.
January 4th, 2007
Models of Organization Managed vs. Self-Organizing
Cross-functional, self-organizing teams are at the heart of any team using agile software development practices. Yet, many individuals and teams struggle to become truly self-organizing and understand how their traditional roles fit into the new paradigm. Through a series of short simulations intended to imitate constraints common on software projects, participants will be able to identify the key differences between self-organizing and managed teams, experience what it feels like to work on a self-organizing team and learn techniques to improve their team dynamics.
Carlton Nettleton is a Senior Software Developer for SAIC developing web applications using C# and ASP.Net and coaches teams in agile software development. In 2002, he founded XP San Diego, a professional usergroup to discuss agile software development. He has five years of experience with Extreme Programming and is a Certified ScrumMaster.
December 7th, 2006
Agile Software Development & Risk
Is Agile Right For Your Next Project? Have you looked at Agile processes like Extreme Programming and wondered if it would work in your company? Have you heard the success stories about Agile and wondered if they could really be true? Have you wondered why some of the Agile practices are what they are? Tonight's presentation, "Risk Based Software Development Processes", by John Arrizza will discuss and answer these questions. It is a high-level overview of software development and it's processes, but it contains a more nuts-and- bolts discussion about some things you can do to increase your likelihood of success in your projects at your company.
John Arrizza as 20 years of industry experience ranging from 4 person micro-companies to wordwide giants with 18,000 employees. He is currently working for Hospira Inc. (medical devices company) as a Technical Project Lead.
In addition to a great speaker, we will be giving away some pre-Christmas Scrum loot. We have free Scrum Handbooks for anyone who wants one. We will also be giving out a signed copy of Ken Schwaber's Agile Project Management with Scrum as a door prize, so be sure to attend if you would like a free copy of this very interesting book.
November 2nd, 2006
Extreme Programming Panel
This month at eXtreme Programming San Diego (XPSD), we will be hosting a discussion with a panel of local Agile experts. The panel members come to XP from a variety of backgrounds and experiences and will offer different perspectives on frequently asked, as well as controversial questions.
The purpose of the panel discussion is to allow the audience to learn about XP, see that it is a dynamic, adaptable process and ask the experts to clarify any nagging questions they might have. JuneClarke will moderate the discussion which will range from the positive to negative aspects of eXtreme Programming. Strategies for avoiding common pitfalls will be discussed and frequent criticisms of XP will be aired. After that, we will open the discussion to the floor so be sure to bring your questions so that you may draw on the knowledge of our expert panel.
October 5th, 2006
Nerd Movie Night!
Now for something completely different...
...we will be watching some uber-geeky documentaries on the workings of thre common machines: the sewing machine, word processor and refrigerator. These zany short films were broadcast by the BBC during the 80s and are currently unavailable to the general public. XPSD has acquired the documentaries from the director, creator & cartoonist himself, Tim Hunkin, for the purpose of showing them at our group. Each 20 minute segment is an entertaining blend of cartoon and commentary explaining how each of these machines works. Come see something new and different!
September 7th, 2006
Extreme Programming (XP) is a lighweight process for teams working with requirements that are vague and changing, but beyound those simple words many people do not understand what XP is and what it is not. In this month's presentation the XP San Diego moderators will provide a brief discussion of the principles and techniques of Extreme Programming followed by an hour long simulation of some of the XP practices at work. At the end of this presentation, participants will walk away with an understanding of the XP values, practices and principles and see many of them in play during the simulation. This is a hands-on workshop.
August 3rd, 2006
Summer Social @ Guava Beach
It is that time of year again - time to meet & greet with your fellow members. The purpose of this night is to relax, have a cold beer (or two) in a new location and talk about something else besides XP. We will also be giving out a signed copy of Ken Schwaber's Agile Project Management with Scrum as a door prize, so be sure to attend if you would like a free copy of this very interesting book.
This year we are meeting at Guava Beach, located at 3174 Mission Boulevard in Mission Beach (http://www.guava-beach.com/contact.html). Be sure to park at the Santa Clara Rec Center where there is PLENTY of free parking. Bring your shorts, sandals and a carefree attitude. The ocean is just 50 yards away, so taking a dip in the Pacific, or watching the sunset, is not out of the question.
July 6th, 2006
Agile Software Development Case Study: Google
Ian McFarland?, a principal at Pivotal Computer Systems, and author of Mastering Tomcat Development, will talk about applying Agile practices on large, real-world projects, specifically drawing on his experiences with Agile software development at one of the worlds fastest growling companies - Google. Mr. McFarland? will report on the substantial improvements that Google have experienced thanks to Agile methods. He will elaborate on which Agile techniques have been successful and which have not worked in his environment. Mr. McFarland? will also discuss the costs of introducing Agile on large project and what can be done to mitigate them. Youll take away ideas on how you can introduce Agile into your own organizations, and glean an insiders perspective on inner workings of one of the giants of the software world.
Ian McFarland? is one of the true old hands of Java development, writing the first client-server Java application ever: a demo seating reservation system used for the Java product announcement at SunWorld? in 1995. Mr. McFarland? has been a practicing Agile software development for four years and has spoken about Agile software development in a variety of professional formats.
June 8th, 2006 ~special night~
Using XP & Scrum to Develop Games
High Moon Studios has been using agile development methodologies for several years. As a game development company of AAA console games (large teams and large budgets), we have to deal with a lot of unusual situations that don't fit in the ideal "textbook" agile development descriptions. We'll talk about how we're using Scrum and XP (and how they play well together) both for production and R&D teams, what we've learned so far, and what benefits we're seeing. We'll leave plenty of time for questions and interactive discussion.
Jim Tilander is a R&D programmer at High Moon Studios, where he enjoys agile methodologies in his daily work. Before joining High Moon Studios he worked on titles like Battlefield Modern Combat and Midtown Madness 3. He recivied a MSc? in Engineering Physics from Chalmers University of Technology, Sweden.
Noel Llopis spearheads the R&D of next-generation technology at High Moon Studios. He has been successfully applying agile development and test-driven development to game development for several years. He regularly contributes articles to Game Developer Magazine and the Game Programming Gems series, and he is the author of C for Game Programmers. He earned an MS in computer science from the University of North Carolina at Chapel Hill. In his spare time he enjoys exploring different and unexpected ideas on his web site Games from Within (http://www.gamesfromwithin.com).
May 4th, 2006
Agile Project Management & Planning
While most Agile literature focuses on development, testing, and design practices for agile software teams, planning is equally important to realizing the benefits of an agile approach. This session will cover the basics of Agile planning, including defining and estimating user stories, prioritization, release and iteration planning, and progress tracking.
Dave Churchville has 15 years of experience in software development and management ranging from Fortune 500 companies to tiny startups. He is the founder of ExtremePlanner Software, which develops tools for Agile software development teams.
April 6th, 2006
Agile and CMMI® marriage made in heaven or irreconcilable differences?
Sharon Cobb Flanagan will answer this question and more as she talks about her experiences with CMMI® initiatives at SAIC. Ms. Flanagan will a provide short overview of CMMI® and its practice areas, followed by a discussion of the types of things appraisal teams look for when performing a CMMI® appraisal . Finally, Ms. Flanagan will then describe the process areas which she believes an agile process meets, as well as those process areas an agile process might not support and why that might be.
Sharon Cobb Flanagan is currently Vice President for Quality Assurance of the System and Network Solutions Group at SAIC. Ms. Flanagan is a member of the Carnegie Mellon University Software Engineering Institute (SEI) program, American Society for Quality, and IEEE Computer Society, and is an SEI-authorized Lead Appraiser and Instructor. During Ms. Flanagans four year leadership of process improvement and quality management for the System and Network Solutions Group, she has lead several process improvement initiatives that have resulted in multiple ISO 9001 registrations, and which has culminated in a Group-wide CMMI® Level 5 rating.
March 2nd, 2006
Five Fundamental Object Oriented Design Principles for Agile Development
Michael Kennedy will present five object oriented design principles that facilitate agile software development. These general design principles promote the creation of testable, maintainable, and reusable software. The principles include the Open Closed Principle and the Liskov Substitution Principle. The interaction between Agile Development and these principles will be demonstrated using several code samples.
Michael Kennedy is a founding partner and software engineer at United Binary, LLC. He has been developing software for over 10 years. The last four of those years have been solidly focused on .NET development.
February 2nd, 2006
Code Crew Premiere
This month's eXtreme Programming San Diego (XPSD) meeting will focus on a variety of programming-related topics. This will be the debut of XPSD's "Code Crew" made up of a group of some of our most expert technical members; Llewellyn Falco, Dan Gilkerson and Erik Meade.
The meeting will begin with an hour-long practical tutorial on refactoring to design patterns. The subject matter is inspired by Joshua Kerievsky's
book "Refactoring to Patterns" and Erik will expand on some example refactorings such as Replace Conditional Calculations with Strategy. He will also discuss some code smells and design principles involved with the example code.
Then Dan and Llewellyn will give a brief demonstration of remote pair programming. They regularly use technologies such as Skype and VNC to write code together while in different locations.
January 18th, 2006
Scrum requires that engineering practices are changed to accommodate short iteration delivery of increments. If a company has core/infrastructure software that is fragile, has no test harnesses, and few developers that know it, this can be a problem because the iteration length may have to be different (longer) than for new functionality. How is this accommodated, and how did this core software come to be in such bad shape?
Ken Schwaber is one of the developers of Scrum, founder of the Agile Alliance and Scrum Alliance, signatory of the Agile Manifesto, and a long time software developer.
This is Ken's third visit to XPSD and he is always enjoyable, colorful speaker. You do not want to miss this meeting!
December 1st, 2005
Code Therapy Workshop
Has a particular technical problem been gnawing at you lately? Do you have a code conundrum that defies a straightforward solution?
If so, come to eXtreme Programming San Diego on Thursday where we will apply our collective brainpower and experience to your problem. Some examples of
issues we will tackle are; slowly running unit tests, legacy code refactoring, tight coupling. Bring your problem code on a CD or laptop and hopefully you will go home with one less predicament.
November 3rd, 2005
XP & Legacy Code Roundtable by Eric Meade
Do you still have unanswered questions from Kent Beck's & Michael Feather's talks? Did something they say really strike you as interesting, insightful or just plain full of it? The roundtable moderator will provide a short debrief on both speakers for those of you who could not attend. For the rest of you, come back to talk about what we learned from Kent Beck & Michael Feathers. Also, the moderators of XPSD will be soliciting YOUR input on the topics you would like to see covered next year. Bring your ideas!
October 19th, 2005
Extreme Programming Explained by Kent Beck - Openness, Visibility, and Accountability
There are many paths to greater openness, visibility, and accountability in software development. Extreme Programming (XP) focuses on accountability through having fewer ugly secrets that you are tempted to hide and building strong personal relationships. In this special talk, Kent Beck, the author of Extrme Programming, will discuss where the XP path might lead and its relationship to other paths to accountability like CMMi?, Six Sigma, open source, and outsourcing.
Kent Beck is the Founder and Director of Three Rivers Institute. His career has combined the practice of software development with reflection, innovation, and communication. Kent's contributions to software development include patterns for software, the rediscovery of test-first programming, the xUnit family of developer testing tools, and Extreme Programming. With Ward Cunningham, Kent introduced design patterns and CRC cards to software engineering and created the JUnit unit testing framework along with Erich Gamma.
October 18th, 2005
Working with Legacy Code by Michael Feathers
Test Driven Development and Refactoring are powerful tools in the software development arsenal. With them you can add new code to systems and make existing code more maintainable. However, refactoring code without having tests in place can be hazardous. Michael Feathers will highlight a collection of dependency breaking and test writing techniques that can be used to get existing code safely under test for refactoring and enhancement. These techniques can be used in conjunction with Test Driven Development to breathe new life into large existing code bases.
Michael Feathers works for Object Mentor, one of the world's top mentoring, skill development, knowledge transfer, and leadership services in software development. He currently provides worldwide training and mentoring in Test-Driven Development (TDD), Refactoring, Object Oriented design, Java, C#, C and Extreme Programming. He is the original author of CppUnit?, a C port of the Junit framework, and FitCpp?, a C port of the FIT integrated-testing framework. A member of ACM and IEEE, he has chaired CodeFest? at three OOPSLA conferences.
October 6th, 2005
Refactoring 101 - Back to the Basics
This month our speaker, Dan Gilkerson will explain what refactoring is and what refactoring can do for you and your team. He will introduce the most common and useful refractoring techniques stepwise, so you can increase your productivity and improve software reliability and quality. The techniques Dan will cover are especially useful when working with legacy code, a topic that will be the subject of a special presentation by Michael Feathers on October 18th. If you are new to refactoring or are unfamiliar with this process, Dan's presentation will get you started and prepare you for the advanced presentation later in the month.
Dan Gilkerson is a software consultant and is currently working for VersionOne. He has seven years of experience working on many different types of development teams. He has been a contributing member of XPSD since 2003 and has previously given presentations on various Agile tools, including a "Merciless Refactoring Demo".
September 1st, 2005
Roundtable Discussion - Unit Testing & Associated Techniques
This month we are going to introduce a new format for Extreme Programming San Diego (XPSD) - a roundtable discussion on how you use automated unit tests to explore and define the design of software. Some topics we might talk about might be the "step-by-step" of writing unit tests with a tool like NUnit or JUnit, advanced ideas of how and when to apply mock objects, testing your code with the database, tools like NUnit, or other techniques you might encounter with test-driven design (TDD). This meeting is designed to be a free flow exchange of ideas, so we encourage people who have never written a unit test in their life, to come to XPSD this month.
Since this month's format is "hands-on" we ask that you bring a laptop with our favorite language, IDE and an xUnit (a variation of a unit testing framework for your language) tool pre-loaded. If you don't have any of those things, then just show up, discover some new tricks, ask a few questions and learn from your peers. If you have something really exciting you want to share with everyone, we will have a projector so you can toss your ideas up on the wall.
August 4th, 2005
Summer Social - Kadan on 30th & Adams in North Park
It's time for our yearly XP geek gathering! Usually about this time of year, we give our hardworking presenters and organizers a summer break and meet for an informal mixer. It's a good time to meet fellow developers/managers/employers/employees who make up the San Diego agile community. This meeting also allows us to indulge in involved discussions/debates not suitable for the SAIC conference table.
We will be meeting at Kadan on 30th & Adams in North Park (http://kadanclub.com) at 6:30PM on Thursday, August 4th. This is an intimate little bar so you will have no problem finding us if we have not already met. Kadan is equipped with such nerdy necessities as chess boards and good electronic music later in the evening. Bring your chess brain if you have one.
We will have some eXtreme Programming books as door prizes. Hope to see you Thursday.
July 7th, 2005
So you've heard about eXtreme Programming (XP) and wondered how anything with such an exciting name could be applied to what you spend doing in your cube all day? Or you have done some surfing on the topic and determined that eXtreme Programming has surprisingly little to do with snowboarding or bungee jumping? eXtreme Programming San Diego is here to quench that curiosity in less time than it takes to install Oracle.
This Thursday at 6PM, we will be giving a crash course on this highly disciplined, iterative software development method in 30 minutes. Our founder, Carlton Nettleton will attempt reduce all the information available to simple basic concepts with an emphasis on the business advantages of using XP. You will leave with a succinct definition of the process and enough information to be able to begin using it. Basic concepts covered will include an explanation of XP values, pair programming, refactoring, the planning game and other key topics related to XP. Together with our accomplished group of XP gurus, Carlton will answer any questions you have for the next 30 minutes - everything you always wanted to know about XP but were afraid to ask.
Carlton Nettleton is a software design engineer at SAIC where he creates web applications using C# and ASP.NET. Carlton has been involved with XP since 2001 and has served as programmer, tracker and coach. He has spoken to a number of software user groups in Southern California about XP and is an XP evangelist in San Diego County.
June 2nd, 2005
Short Sessions on Test-Driven Development with Carl Manaster & Phlip Plumlee
Carl Manaster will demonstrate his recent experimentation with "Zero Button Testing". He will discuss what a programming language might look like if testing were built into the language. How would the editor change? How would the programmer's flow be affected? Carl will use an application he has written to explore these questions.
Carl Manaster started out his career as a mining engineer in Arizona, and soon wound up writing software to help do the mining engineering. Eventually he had to choose between mining and programming, and programming won. He's worked on Macs and Windows, in Object Pascal, C, VB, C# and other languages. His primary interests are usability and scientific information visualization; recent work has been in genetics and microbiology.
Later, Phlip Plumlee will provide a brief note on some of the thornier issues of using test-first to write downloadable web controls in the age of malware.
Phlip Plumlee, is a frequent contributor to XPSanDiego and the author of the forthcoming Test First User Interfaces: Developming Agile GUI Code. Phlip researches advanced TDD situations for scientific visualizations, linguistics, the web, and games. He has a Masters degree in Computer Science from the Academy of Strategic Fabrications.
May 5th, 2005
Version One & Distributed Planning
Thursday's presentation will consist of an overview of the XP planning process, a demonstration of VersionOne and then Dan Gilkerson will briefly discuss his experiences using this tool with a distributed team. VersionOne's support of features such as story planning, iteration tracking and reports will be described in detail. The aim of this presentation is to help teams simplify the process of planning, tracking, analyzing, and scaling their agile software development efforts. If you have been looking for a tool to help manage your iteration planning and metrics (user stories, velocity, etc.) then this presentation will elucidate one possible solution.
Dan Gilkerson will be our speaker. Dan is currently consulting for various companies and has 7 years of experience working on different types of development teams. He has been a contributing member of XPSD since 2003 and has previously given presentations on various Agile tools including a "Merciless Refactoring Demo".
April 7th, 2005
Extreme Teams Game
The Extreme Teams Game is a game\simulation to demonstrate how communication and feedback effect teams "working together". Erik will also briefly talk on how multiple agile teams have worked together, in the past and present, with discussion about ways they might work together in the future.
Erik Meade, founder of JUnit.org, started coaching XP in 2000 with Object Mentor. He has coached over 20 XP teams, including Sabre's and Morgan Stanley Dean Witter's multiple XP team transitions.
March 3rd, 2005
Introducing XP at SAIC - A Case Study
At this months eXtreme Programming San Diego meeting, we will be examining an agile software development case study. The meeting will take place Thursday, March 3rd at SAIC on Campus Point Dr. (/SAICDirections) from 6-7PM. Please
RSVP with Carlton Nettleton on the mailing list (http://groups.yahoo.com/group/xpsandiego/) if you wish to attend. Remember, if you are not a U.S. citizen please bring your passport with you to the meeting.
At Julys meeting last year, we met Mary Rodney who had just begun using Scrum and XP. She will be back on Thursday, March 3rd, to describe her lessons learned with Agile methodologies and how they affected her project. Ms. Rodney will discuss why her team chose Scrum, how they gained management acceptance and her positive and negative experiences. This presentation will be particularly applicable to people considering introducing agile practices. You will learn the workings of a real-life agile project and glean tips on how to do it successfully.
Mary Rodeny is a Software Program Manager at SAIC working in the Security and Transportation Technology area. She has over 15 years experience in the software development industry and has tried various software development methodologies.
February 7th, 2005
KenSchwaber has agreed to speak with our group since he will be in town for the ScrumMaster training on Feb 7th & Feb 8th. We will meet on a special night (Monday) in lieu of our regular meeting on Thursday.
Where is Scrum and Agile today? What difficulties and successes have been encountered, and what are the underlying causes of the difficulties? What is the future of Agile, and what is the impact of this on the software development industry and offshore development? Ken Schwaber will present and discuss his views.
Ken Schwaber codeveloped the Scrum process with Jeff Sutherland in the early 1990's to help organizations struggling with complex development projects. One of the signatories to the Agile Manifesto in 2001, he subsequently founded the AgileAlliance, a nonprofit organization dedicated to the creation of agile software. He is currently one of the directors of the AgileAlliance and heads their user group and newsletter programs. Ken has been in the software industry for over 30 years as developer, manager, and methodologist. In addition, he teaches and speaks at numerous conferences, including OOPSLA and Software Development.