I’m presenting a beginners session on Agile Project Management entitled "...But it's not on the project plan!" at the Agile 2007 conference in Atlanta next month. It is targeted towards traditional PMI based project managers and I thought it might be fun and perhaps even useful to give them an Agile to Traditional language translator.
So, like a French / English : English / French Dictionary here are some translations to help the two camps communicate. This dictionary is also available as a PDF for download, the link at the end of the article.
Agile to Traditional
Adaptive - Frequently responding to changes and learning’s on a project by changing the plan, priorities, and/or approach. Agilists believe changes are good!
Agile Methods - A set of development methodologies characterized by being iterative, adaptive to changes and learning, value driven, low ceremony, and encouraging empowered teams.
Backlog – The prioritized list of stories, features, or requirements that the project works it’s way through. The closest thing to a list of requirements a traditional PM will find.
BDUF – Big Design Up Front a condescending term given to large efforts invested early in the project to define requirements or design before building some functionality and getting feedback from the user community.
Burn Down Graph – a project reporting trend graph popular in Scrum used to show the progressive reduction in features or estimated work remaining on the project.
Burn Up Graph – a project reporting trend graph that shows the total number of stories (or features) delivered to date on the project.
Continuous Integration – the process of building and testing the system upon the check-in of any code. Examples of continuous integration tools include: TeamCity and CruiseControl
Cumulative Flow Diagram – A project reporting area graph that shows work to do, work in progress, and done. Burn graphs and CFDs can replace Gantt charts to track progress
DSDM – Dynamic Systems Development Method – an agile method created by a consortium of representatives that promotes ideas such as agile suitability filters and agile contracts
FDD – Feature Driven Development - an agile method popularized by Jeff De Luca and others that values some upfront architecture and works well for larger projects
Feature – A description of a business understandable and business valued piece of functionality. The unit for prioritization, planning, estimation, and reporting. Some agile methods use the term Story, or Prioritized requirement.
IKIWISI - I’ll Know It When I See It – a mnemonic that described the need to see working software before being able to fully appreciate it’s fit for purpose and articulate the true business requirements.
Iteration - A short, fixed time period (typically between 1 and 4 week) during which the team produce a potentially deployable release of software for evaluation. Scrum calls them Sprints.
Pair Programming – the XP practice of two developers working at one PC to write and review code together.
Parking Lot Diagram – a status reporting graph used in FDD to summarize project progress across a number of functional areas
Planning Game – A facilitated workshop during which developers and business representatives estimate work tasks and plan upcoming iterations.
Prioritized Requirement – A description of system functionality that has been prioritized by the business. The unit for planning, estimation, and reporting. Some agile methods use the term Story, or Feature.
Refactoring – The process of improving code (by clean-up, simplification, etc) to make it easier to maintain and expand in the future. Refactoring is a necessary step to keep the cost of changes low.
Retrospective – a facilitated workshop exercise held at the end of iterations and releases in which project stakeholders are asked to reflect back on the work to date and recall: What has worked, Areas for improvement, and Suggestions for the future. Similar to Lessons Learned sessions but performed throughout the project.
RUP – Rational Unified Process - an iterative methodology owned by Rational (IBM) that can be made to be agile through strict controls on the artifacts selected, but implemented by many organizations as a heavier than agile, iterative approach
Scrum – An agile method popularized by Jeff Sutherland, Ken Schwaber and others employing 30 day Sprints (iterations) and minimalist controls.
SPI – Software Process Improvement.
Spike – A short focused period of development undertaken to prove new technology. For example “We’ll spike the Oracle 10g compatibility”
Sprint – an iteration, a period of time to undertake development. In Scrum Sprints are typically 30 days in duration.
Standup – a short (15 minutes or less) daily meeting during which team members report on What they accomplished since the last meeting, What they plan to accomplish today, and report any impediments or blockers to making progress.
Story – A shorthand requirements document that acts as a placeholder for further discussion and elaboration with a user representative to determine the true business requirement. The unit for prioritization, planning, estimation, and reporting in XP. Some agile methods use Features, or Prioritized requirements as their requirement units,
TDD – Test Driven Development. The practice of writing tests first to better understand the requirements of new functionality. The test fails and code is written until the test passes.
Velocity – the rate of development progress. Usually expressed as stories completed (and tested) per iteration. The primary measure of development speed.
XP – eXtreme Programming an agile method popularized by Kent Beck, Ron Jefferies, and others that promotes techniques such as pair programming and user stories.
YAGNI – You Ain’t Going Need It – an XP based mantra that reminds us to keep designs simple and do not over complicate solutions for potential future expansion that may never be required.
Traditional to Agile
Baseline – an approved and saved project plan used to compare progress against.
CAPM – Certified Associate in Project Management, a designation from the PMI given to project managers who have passed the CAPM exam which is easier and less demanding than the PMP exam.
CPI – Cost Performance Index – a measure of project progress from a cost perspective. Agile projects can obtain the same metric by dividing the Planned Costs to date by the Actual Costs to date.
Critical Path – the longest path through the network of project tasks and dependencies. In theory it defines the shorted time that the project can be completed in. Its accuracy is driven by the quality of the task estimates which early in a software project could be very low.
CV – Cost Variance – A measure of how much under or over budget we are. Agile projects calculate this the same way as traditional projects: by deducting the amount actually spent from the amount planned to be spent by now. (negative numbers mean you are over budget)
EV – Earned Value – The value of the work completed to date. Agile projects can get the same information by tracking the features delivered.
EVA – Earned Value Analysis – the process of measuring project performance against the performance defined in a baselined plan. For Agilists an issue is the accuracy of the baselined plan. If that was flawed due to a poor understanding of the true requirements (common for SW) then why track progress against this faulty map.
Gantt Chart – Horizontal bar graph based depiction of project task durations and dependencies. Thought by Agilists to be OK at a high level, but detached from reality for modeling detailed technical tasks.
PERT – Program Evaluation and Review Technique - a network diagram based modeling technique used to determining likely project durations and identify critical path activities. If done only at the start of a project it is thought by Agilists to suffer from premature specification issues.
PMBOK – Project Management Body of Knowledge – The PMI’s reference text of knowledge areas that project managers should understand. The principle basis of the PMP exam.
PMI – Project Management Institute – A project management standards and certification body widely used in North America. Creator of the PMBOK Guide and assigner of CAPM and PMP certifications.
PMO – Project Management Office, a group responsible for centralizing project management best practices and assisting with best practice application. Their actual roles will vary from organization to organization.
PMP – Project Management Professional – the designation given to project managers who have passed the PMI’s PMP Exam
PRINCE2 – Projects, IN, Controlled, Environments version2 - a European based project management standards and certification body. PRINCE2 is structured, but has less lifecycle guidance than the PMBOK Guide and so is generally easier to integrate agile methods within.
Progressive Elaboration – The PMBOK’s term for acknowledging that details will likely emerge as the project progresses and perhaps the plan will need amending. However, It assumes that the differences will be small and easily accommodated into the plan. Agile teams can you this concept to introduce more radical adaptation ideas.
PSO – Project Support Office - similar to a PMO, a group responsible for centralizing project management best practices and assisting with best practice application. Their actual roles will vary from organization to organization.
Requirements Sign-off – Formal sign-off on a requirements document to indicate that the requirements are complete and agreed. Subsequent changes will require submission through a change management process.
Rolling Wave Planning -The PMBOK’s term for acknowledging that planning needs to be iterative and repeated throughout the project. Agile teams can you this concept to help introduce iteration plans and reprioritization.
SPI – Schedule Performance Index – a measure of project progress from a timeline perspective. Agile projects can obtain the same metric by dividing the # Completed Features by the # Planned Features
SV – Schedule Variance – A measure of how much ahead or behind schedule we are. Agile projects can get the same information by deducting the number of features actually delivered from the number of features planned to be delivered by now
WBS – Work Breakdown Structure – an org chart style, hierarchical breakdown of project deliverables or functionality. If done very early or taken very deep in detail it may be considered by agile teams as a form of BDUF
[Please let me know if I have missed any common terms and I will add them for the version supplied for the Agile 2007 conference proceedings.]