JOURNAL OF OBJECT TECHNOLOGY
|
|
|
- Gregory Hensley
- 9 years ago
- Views:
Transcription
1 JOURNAL OF OBJECT TECHNOLOGY Online at Published by ETH Zurich, Chair of Software Engineering JOT, 2007 Vol. 6, No. 3, March - April 2007 Agile Artifacts - Documenting, Tracking and Reporting Trust The Source Luke! Dave Thomas 1 SIMPLE TOOLS MEET THE NEEDS OF BOTH DEVELOPMENT AND MANAGEMENT One of the obstacles to introducing Agile development into large software organizations is providing a means for the developers to work effectively using light weight practices and tools while at the same time ensuring that the management and company have the necessary visibility and documentation to ensure that they can manage and later maintain the software being developed. Unfortunately, many of the commercial tools are very draconian and inflict all sort of extra work and overhead on developers while at the same time not providing the promised benefits. This often results in tension between process and programmer [1] which can give the impression that the developers don t care about documentation or design and that the management cares only about the process artifacts rather than the code. In any large scale Agile process, artifacts include not only source code but also Requirements, often bundled into Features, Use Cases and Stories, and their associated Unit and Acceptance Tests. Complex Features and Stories are composites of smaller ones. Additional supporting artifacts include Models/Prototypes, Teams and their Backlogs. We describe a simple Literate Programming approach for capturing artifacts and associated automated tooling to support tracking, reporting and traceability. Traceability makes it possible to identify and understand the relationships between artifacts. For example, for a given requirement, one can answer questions like: Has the requirement been implemented? If so, by which developer(s)? Where in the code base will I find it? It is important to understand that the mappings between requirements, models, use cases and code are not one-to-one, nor are they always precise. They are a collection of statements about the software that can be used to model it for the purpose of understanding. In this article we describe a simple code-centric approach which we have found useful for many years. It can be implemented quickly using open source tools with Cite this column as follows: Dave Thomas, Agile Artifacts - Documenting, Tracking and Reporting, Trust The Source Luke!, in Journal of Object Technology, vol. 6 no. 3 March April 2006, pp
2 AGILE ARTIFACTS DOCUMENTING, TRACKING AND REPORTING little imposition on developers. Perhaps surprisingly it provides much better information for management than many more complex and expensive approaches. 2 LITERATE PROGRAMMING AND WIKIS The Agile Manifesto emphasizes the importance of code. Literate Programming [2] is a best practice style for writing programs which are intended to be read and evolved over time. Some naïve AgileXP purists insist that code needs no comments or other documentation since the code should be easily understood from its own clarity and associated unit and acceptance tests. They have a well founded concern about the tendency for a comment not to be updated or refactored when the code is changed. However, these concerns don t in our experience justify the omission of proper structured comments which improve readability and understandability of the code. In his book Domain Driven Development, Eric Evans provides guidelines for clearly separating the naming of domain representations from underlying technology ones. Unfortunately, the early literate programming tools were not designed for today s interactive programming environments hence they are awkward for today s agile developers. Recently, however, code folding editors have been introduced into IDEs like Eclipse and Literate Outliners such as LEO [3] have appeared which encourage literate programming. Since it is tedious to write effective documentation in a programming IDE, especially for requirements, we have found Wikis to be a simple and effective mechanism for capturing such information, with annotations linking to the code and vice versa. A Wiki is a natural place to capture requirements and project artifacts since it is already in use for informal collaboration in and between teams as well as for capturing acceptance tests (FIT and Fitnesse). Wikis and annotations may also reference more extensive artifacts such as models, standards, and prototypes which elaborate the requirements, design intentions, etc. 3 ARTIFACT DOCUMENTATION Comprehensive traceability requires coding standards as well as tool support and ideally should be integrated with the build and reporting environment. The most effective means to track and report important project information for large scale development is to instrument the code base within the configuration management (CM) system. Current best practice is to annotate the text associated with artifacts with small amounts of information to identify the artifact itself and its relationships to other artifacts. The simplest, most effective way to do this is to use structured comments which are associated with the code. This is one of the reasons that meta-information through annotations is now a standard feature in languages such as Java and C#. If everyone associated with the definition and modification of artifacts follows a disciplined annotation policy for code, then all of this information will be saved in the CM system. 32 JOURNAL OF OBJECT TECHNOLOGY VOL. 6, NO. 3
3 When direct annotation is not possible, the next best approach is to use a separate description that references the artifact. With either approach, during each major build simple tools such as fuzzy parsers can search through the code base to find the annotations and update a traceability website or database. 4 PROJECT REPORTING Such an approach enables the Continuous Integration and Test Environment to compile project reports, traceability data, metrics, and other information about the software being developed. This in turn provides valuable feedback to the developers and management. Using such instrumentation it is possible to automatically produce all of the following reports as part of the build: Tracking Burn Down/Up and Velocity Backlog Status Team and Developer Progress/Productivity Variance between Actual and Estimates for Continuous Improvement Development, Test and Integrate Rhythm Our recommended approach is to use an IDE (in our case Eclipse) together with a Wiki (in our case Fitnesse Wiki) for capturing the information. Using IDEs and Wikis substantially reduces or even eliminates the need for other more tedious manual tools such as Excel, MS Project 1 etc. It is well known that leveraging the tools that are actually used by developers, and not forcing them to learn new ones, greatly increases the potential for obtaining and maintaining information about the software. That said, the generic approach is independent of any specific tools, or any particular annotation method, but simply requires that all assets be self-identified and versioned in the CM system or equivalent. It is also important to note that specific projects or companies may necessitate different annotations or artifacts, which can easily be accommodated 5 EXAMPLE ANNOTATIONS FOR CODE ARTIFACTS The approach we currently used in our environment is to annotate the code artifacts explicitly using structured comment conventions such as JavaDoc for Java (Doxygen is a popular tool for C/C++). All new methods, fields and constructors added by Java developers get the inserted explicitly by the developer using the following tag convention: 1 Note: it is straight forward to generate the appropriate MS Project or Primivera files if these are needed by corporate reporting. VOL. 6, NO. 3 JOURNAL OF OBJECT TECHNOLOGY 33
4 AGILE ARTIFACTS DOCUMENTING, TRACKING AND {story-name} {time-and-date} If a field or method is modified more than once, then there is a separate tag added for each update. Tags are added to both implementation and test code, with naming conventions used to distinguish between implementation code, Unit Tests and Acceptance Tests. This allows the build utility to assemble a fine-grained trace of all the development activity undertaken to implement any particular story. A report can be generated indicating what user stories are implemented where, by whom, which have Unit Tests or Acceptance Tests, and so forth. Using this basic traceability information, one can compute metrics such as velocity, burn down/up charts, etc. The default naming convention uses AT{artifact name} and UT{artifact name} to denote acceptance and unit tests, respectively, associated with a particular artifact. For example, the Unit Tests for a GameConsole Story would be named UTGameConsole. Since tagging relates Stories to code, and Stories are related to other artifacts like Features and Use Cases through the metadata stored in the Wikis, there is sufficient information to create and maintain all the traceability relationships. The relationships between Acceptance Tests, Unit Tests, and Stories can sometimes become too complex for the naming conventions to handle. This does not present a problem however, because Acceptance Tests and Unit Tests tags as well, which will override the naming conventions in such a case. NOTE: Alternatives to this approach are to reference the associated classes/methods from the story artifact, or to use properly versioned non-code artifacts as task markers, and automatically infer the information from the version history. The latter is in many ways the preferred approach since it imposes minimal demands on the developer, but requires more sophisticated tool (semantic diff) or IDE support such as Mylar [6]. Tagging has the virtue of simplicity. 6 EXAMPLE WIKI TEMPLATES FOR NON-CODE ARTIFACTS The following are some example Wiki templates that may be used to annotate the code base with important information about non-code artifacts. The same approach can be used with defect trackers such as JIRA [5], project management such as Trac [4], and/or requirements tools but Wikis are our personal choice. The essential requirement is a process to synchronize the development history of the code with the associated assets. The following templates can be applied with minimal changes to most Agile development projects. We stress that this is an example from a particular client and that terminology and artifacts will vary from one organization to the next, although, in our experience, the contents are roughly similar. Team Team pages have the header TeamName with the following elements: Team: TeamName; 34 JOURNAL OF OBJECT TECHNOLOGY VOL. 6, NO. 3
5 Story Member: member name; -- repeated for each team member Project: ProjectName; -- added to allow easy navigation Story pages have the header StoryName with the following elements: Story: StoryName; Status: (None, Done, In-Progress, Deferred); Author: name; repeated if more than one Description: descriptive text; Fullfills: requirement; -- reference to requirement, use case, defect list Clarity: (Clear, Needs-Clarity, Un-Clear); Team: TeamName ; -- team assigned the story, Un-Assigned otherwise Developer: name; -- repeated for each team member implementing the story; Sprint: release, sprint; -- the release and sprint in which this story is planned, e.g. 2.1 Ideal-Days: (best, avg, worst); -- estimated effort in ideal days, (0,0,0) means no estimate; Classes: (best, avg, worst); -- estimated number of classes, (0,0,0) means no estimate Points: (best, avg, worst); -- estimated effort in story points, (0,0,0) means no estimate Unit-Prefix: name; -- Unit Test prefix, default is UTStoryName Accept-Prefix: name; -- Acceptance Test prefix, default is ATStoryName Composed-Of: other StoryNames; -- blank if task (non-composite) story. Part-Of: parent StoryNames; -- parent story or blank if none. Feature Feature pages have the header FeatureName with the following elements: UseCase: FeatureName; Summary: one or two sentence brief overview; Owner: name; -- who owns the feature; repeated if more than one Fullfills: requirement; - reference to requirement, defect list; Description: descriptive text; Clarity: (Clear, Needs-Clarity, Un-Clear); Team: TeamName ; -- team assigned the Feature, Un-Assigned otherwise FeatureUseCase: UseCaseName; repeated for each associated feature use case; IdealDays: (best, avg, worst); -- estimated effort in ideal days, (0,0,0) means no estimate; Classes: (best, avg, worst); -- estimated number of classes, (0,0,0) means no estimate Points: (best, avg, worst); -- estimated effort in story points, (0,0,0) means no estimate AcceptPrefix: name; -- Acceptance Test prefix, default is ATFeatureName ComposedOf: other FeatureNames; -- blank if non-composite feature. PartOf: parent FeatureName; -- parent feature or blank if none. UseCase UseCase pages have the header UseCaseName with the following elements: UseCase: UseCaseName; Summary: one or two sentence brief overview; Owner: name; -- who owns the use case, repeated if more than one Fullfills: requirement; - reference to requirement, defect list; Actors: List of actors participating in the use case. Possible actors are system components or applications, the network, and of course the user; Preconditions: What must be true about the state of the system before the use case can start; VOL. 6, NO. 3 JOURNAL OF OBJECT TECHNOLOGY 35
6 AGILE ARTIFACTS DOCUMENTING, TRACKING AND REPORTING Postconditions: What must be true about the state of the system after the use case expected path completes. A testable state of the product.; Description: in point form or descriptive text; Exceptions: Name of exception - how handled (brief description or reference to a requirement or supporting use case); Variations: Different ways to accomplish steps. Variation name - description (could be alternate list of steps or reference to supporting use case that contains the description); CompliesWith: Important requirements to be aware of while implementing the use case (may reference standards, other documents); Clarity: (Clear, Needs-Clarity, Un-Clear); Team: TeamName ; -- team assigned the use case, Un-Assigned otherwise IdealDays: (best, avg, worst); -- estimated effort in ideal days, (0,0,0) means no estimate; Classes: (best, avg, worst); -- estimated number of classes, (0,0,0) means no estimate Points: (best, avg, worst); -- estimated effort in story points, (0,0,0) means no estimate AcceptPrefix: name; -- Acceptance Test prefix, default is ATUseCaseName Composed-Of: other UseCaseNames; -- blank if non-composite use case. Part-Of: parent UseCaseName; -- parent use case or blank if none. Backlogs The ProductBacklog page has all of the use cases for the current product release. It also has all of the release backlogs for this product release. The ReleaseName page has all of the use cases/stories for the current release. The ReleaseTeamName page has the release backlog for team TeamName. The SprintTeamName page has the sprint backlogs for each sprint for team TeamName. Each of these pages is a simple list of other Wiki pages. Models Model pages have the header ModelName with the following elements: Model: ModelName; Description: Descriptive text; Owner: name; -- model owner, repeated if more than one Kind: model kind; Fullfills: UseCaseName or StoryName; Model-Ref: URL to model; 7 SUMMARY We have found that by leveraging popular best programming practices of literate programming, Wikis and configuration management high performance teams are able to easily capture and share all of the information management needs to manage the life cycle and evolution of its product assets. Furthermore, through simple automation of the continuous build all of the project tracking, management and metrics can be generated each build. This approach, which clearly can be easily tailored for different environments, provides all of the benefits of CMM, Six Sigma without the pain of draconian tools, special status meetings, reports, etc. It provides management and developers with a true visibility into product development from requirements through estimates, backlogs and on to unit and acceptance testing. Both developers and management get to have their cake and share it while all artifacts are captured in the common CM system! 36 JOURNAL OF OBJECT TECHNOLOGY VOL. 6, NO. 3
7 REFERENCES 1. Dave Thomas: The Unnecessary Tension between Process and Programmer, in Journal of Object Technology, vol. 5, no. 1, January-February 2006, pp Christopher Lee, Literate Programming Propaganda and Tools, Carnegie Mellon University 3. LEO 4. Trac 5. JIRA 6. Mylar About the author Dave Thomas is cofounder/chairman of Bedarra Research Labs ( and the Open Augment Consortium ( and a founding director of the Agile Alliance ( He is an adjunct research professor at Carleton University, Canada and the University of Queensland, Australia. Dave is the founder and past CEO of Object Technology International ( creator of the Eclipse IDE Platform, IBM VisualAge for Smalltalk, for Java, and MicroEdition for embedded systems. Contact him at [email protected] or VOL. 6, NO. 3 JOURNAL OF OBJECT TECHNOLOGY 37
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5, No. 7, September-October 2006 Agile Evolution Towards The Continuous Improvement
Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects
Transdyne Corporation CMMI Implementations in Small & Medium Organizations Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects Dana Roberson Quality Software Engineer NNSA Service
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2007 Vol. 6, No. 1, January-February 2007 CM Configuration Change Management John D.
Basic Trends of Modern Software Development
DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering
Agile Scrum Workshop
Agile Scrum Workshop What is agile and scrum? Agile meaning: Able to move quickly and easily. Scrum meaning: a Rugby play Agile Scrum: It is an iterative and incremental agile software development framework
Managing Agile Projects in TestTrack GUIDE
Managing Agile Projects in TestTrack GUIDE Table of Contents Introduction...1 Automatic Traceability...2 Setting Up TestTrack for Agile...6 Plan Your Folder Structure... 10 Building Your Product Backlog...
Comparing Agile Software Processes Based on the Software Development Project Requirements
CIMCA 2008, IAWTIC 2008, and ISE 2008 Comparing Agile Software Processes Based on the Software Development Project Requirements Malik Qasaimeh, Hossein Mehrfard, Abdelwahab Hamou-Lhadj Department of Electrical
Search Engine Optimization with Jahia
Search Engine Optimization with Jahia Thomas Messerli 12 Octobre 2009 Copyright 2009 by Graduate Institute Table of Contents 1. Executive Summary...3 2. About Search Engine Optimization...4 3. Optimizing
Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014
Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014 1 Goals Cover Material from our User Stories Book Chapter 15: Using Stories With Scrum Chapter 16: Additional
Agile Development Overview
Presented by Jennifer Bleen, PMP Project Services Practice of Cardinal Solutions Group, Inc. Contact: Agile Manifesto We are uncovering better ways of developing software by doing it and helping others
Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More
Taking Subversion to a Higher Level Branching/Merging Support Component Management Support And More About Impact CM Impact CM is a Service AddOn that facilitates software configuration management (CM)
Build your Project using Extreme Programming #2 of a Series, by Pavan Kumar Gorakavi, M.S., M.B.A, G.M.C.P, C.A.P.M.
Build your Project using Extreme Programming #2 of a Series, by Pavan Kumar Gorakavi, M.S., M.B.A, G.M.C.P, C.A.P.M. 1. What is Extreme Programming? Extreme Programming is a software development methodology
Software Development In the Cloud Cloud management and ALM
Software Development In the Cloud Cloud management and ALM First published in Dr. Dobb's Journal, February 2009: http://www.ddj.com/development-tools/212900736 Nick Gulrajani is a Senior Solutions Architect
XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories
XP & Scrum Beatrice Åkerblom [email protected] extreme Programming XP Roles XP Roles, cont!d! Customer ~ Writes User Stories and specifies Functional Tests ~ Sets priorities, explains stories ~ May or
Keywords document, agile documentation, documentation, Techno functional expert, Team Collaboration, document selection;
Volume 4, Issue 4, April 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com A Document Driven
Surveying and evaluating tools for managing processes for software intensive systems
Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2007 Vol. 6, No. 6, July-August 2007 SOA and the Clash of Technocultures Classes versus
How can I be agile and still satisfy the auditors?
How can I be agile and still satisfy the auditors? Welcome & Introductions Steve Ropa [email protected] Agile Coach Certified Scrum Master Certified Scrum Product Owner 19 years software development
Requirements Management
REQUIREMENTS By Harold Halbleib Requirements Management Identify, Specify, Track and Control Requirements Using a Standard Process About the author... Harold Halbleib has a degree in Electrical Engineering
Software processes that are:
Agile Processes Software processes that are: Incremental (small software releases with rapid cycles) Cooperative (customer and developer working together with close communication) Straightforward (method
Introduction to Agile Scrum
Introduction to Agile Scrum by Julia M. Lobur Penn State Harrisburg CMPSC 487W Fall 2015 Introduction to Scrum Learning Goals Relationship of Scrum to other Agile methods Scrum Framework Scrum Roles Scrum
Rational Team Concert. Scrum Project Management Tutorial
Rational Team Concert Scrum Project Management Tutorial 1 Contents Contents... 2 1. Introduction... 3 2. Terminology... 4 3. Project Area Preparation... 4 3.1 Adding Users and specifying Roles... 5 3.2
HL7 V2 Implementation Guide Authoring Tool Proposal
HL7 V2 Authoring Tool Proposal Robert Snelick, NIST National Institute of Standards and Technology May 14 th 2012 Contact: [email protected] NIST and Veterans Administration Joint Project NIST will provide
Persona. Consildate the understanding of user behavior patterns. What? What for?
Persona Consildate the understanding of user behavior patterns What? Crafted from information collected from real users through video recorded field research, personas provide a solution to consolidate
Build Your Project Using Scrum Methodology #3 of a Series, by Pavan Kumar Gorakavi, M.S., M.B.A, G.M.C.P, C.A.P.M.
Build Your Project Using Scrum Methodology #3 of a Series, by Pavan Kumar Gorakavi, M.S., M.B.A, G.M.C.P, C.A.P.M. 1. What is Scrum Methodology? Scrum is an innovative software agile methodology that has
The traditional project management uses conventional methods in software project management process.
Volume 5, Issue 1, January 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Analysis of
Lasting commercial success with Agile Evolution
Turning visions into business December 2011 Lasting commercial success with Agile Evolution Malte Foegen, David Croome, Timo Foegen Scrum techniques are spreading increasingly. In many cases, they lead
Building Software in an Agile Manner
Building Software in an Agile Manner Abstract The technology industry continues to evolve with new products and category innovations defining and then redefining this sector's shifting landscape. Over
Component visualization methods for large legacy software in C/C++
Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University [email protected]
Agile Software Development Methodologies and Its Quality Assurance
Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed
Agile and lean methods for managing application development process
Agile and lean methods for managing application development process Hannu Markkanen 27.01.2012 1 Lifecycle model To support the planning and management of activities required in the production of e.g.
A Capability Maturity Model (CMM)
Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability
The Phios Whole Product Solution Methodology
Phios Corporation White Paper The Phios Whole Product Solution Methodology Norm Kashdan Phios Chief Technology Officer 2010 Phios Corporation Page 1 1 Introduction The senior staff at Phios has several
Becoming Agile: a getting started guide for Agile project management in Marketing, Customer Service, HR and other business teams.
Becoming Agile: a getting started guide for Agile project management in Marketing, Customer Service, HR and other business teams. Agile for Business www.agilefluent.com Summary The success of Agile project
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5, No. 6, July - August 2006 On Assuring Software Quality and Curbing Software
Quality Assurance Software Development Processes
Quality Assurance Software Development Processes Part II - Lecture 3 1 The University of Auckland New Zealand 254 12/09/ /2012 The FBI Virtual Case File 254 12/09/ /2012 Database application developed
Integrity 10. Curriculum Guide
Integrity 10 Curriculum Guide Live Classroom Curriculum Guide Integrity 10 Workflows and Documents Administration Training Integrity 10 SCM Administration Training Integrity 10 SCM Basic User Training
The Agile Glossary of Terms
ASPE RESOURCE SERIES The Agile Glossary of Terms The skills we teach drive real project success. Agile Glossary Words and terms common to Agile methods Copyright 2013 Davisbase Consulting Licensed to ASPE
Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit
Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further
Understanding agile project management methods using Scrum H. Frank Cervone Purdue University Calumet, Hammond, Indiana, USA
The current issue and full text archive of this journal is available at www.emeraldinsight.com/1065-075x.htm OCLC 18 Accepted October 2010 MANAGING DIGITAL LIBRARIES: THE VIEW FROM 30,000 FEET Understanding
Software Architecture
Cairo University Faculty of Computers and Information Computer Science Department Premasters Studies Software Architecture Report on Software Product Line Submitted to: Dr. Hany Ammar Submitted by: Hadeel
Agile Projects 7. Agile Project Management 21
Contents Contents 1 2 3 Agile Projects 7 Introduction 8 About the Book 9 The Problems 10 The Agile Manifesto 12 Agile Approach 14 The Benefits 16 Project Components 18 Summary 20 Agile Project Management
Smarter Balanced Assessment Consortium. Recommendation
Smarter Balanced Assessment Consortium Recommendation Smarter Balanced Quality Assurance Approach Recommendation for the Smarter Balanced Assessment Consortium 20 July 2012 Summary When this document was
Maintaining Quality in Agile Environment
Maintaining Quality in Agile Environment Authors : Mr. Vasu Padmanabhan, Mr. V. Arockia Jerome Presenter / Speaker : Mr. V. Arockia Jerome Banking and Financial Services, Delivery Excellence Group (DEG)
Certified Scrum Master Workshop
Learn, understand, and execute on the three overarching principles behind Scrum: iterative development, selfmanagement, and visibility. Even projects that have solid, well-defined project plans encounter
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process
Configuration Management Models in Commercial Environments
Technical Report CMU/SEI-91-TR-7 ESD-9-TR-7 Configuration Management Models in Commercial Environments Peter H. Feiler March 1991 Technical Report CMU/SEI-91-TR-7 ESD-91-TR-7 March 1991 Configuration Management
Nick Ashley TOOLS. The following table lists some additional and possibly more unusual tools used in this paper.
TAKING CONTROL OF YOUR DATABASE DEVELOPMENT Nick Ashley While language-oriented toolsets become more advanced the range of development and deployment tools for databases remains primitive. How often is
Agile Software Development
Agile Software Development Application in the Medical Device Industry Kelly Weyrauch Medtronic, Inc. (29 April 2008) Introduction Purpose Provide an introduction to Agile Software Development as it applies
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development ARBI GHAZARIAN University of Toronto Department of Computer Science 10 King s College Road, Toronto,
Netspective Software Development Process
Netspective Software Development Process The process is a tailored evolutionary prototyping-based process with hints of agile development. Evolutionary prototyping is a form of software system creation
IBM Rational Software
IBM Rational Software Development Conference 2008 Collaborative Software Development An Introduction to Rational Team Concert Erich Gamma Distinguished Engineer, Jazz Technical Lead IBM Rational Zurich
Atern The latest version of the DSDM approach which makes DSDM appropriate to all types of project.
THE AGILE PROJECT LEADER S DICTIONARY This dictionary attempts to de-mystify the jargon around the world of Agile projects. Part 1 translates common Agile terms into more traditional words. Part 2 translates
Architecting enterprise BPM systems for optimal agility
Architecting enterprise BPM systems for optimal agility Dr Alexander Samarin www.samarin.biz About me An enterprise solutions architect From a programmer to a systems architect Experience in scientific,
Certified ScrumMaster Workshop
Certified ScrumMaster Workshop Learn, understand, and execute on the three overarching principles behind Scrum: iterative development, self-management, and visibility. Even projects that have solid, well-defined
LEAN AGILE POCKET GUIDE
SATORI CONSULTING LEAN AGILE POCKET GUIDE Software Product Development Methodology Reference Guide PURPOSE This pocket guide serves as a reference to a family of lean agile software development methodologies
SLIM Estimate and Microsoft Project Best Practices
SLIM Estimate and Microsoft Project Best Practices There are many activities to perform during the life of a software development project. No single tool provides all of the functionality or data that
Leveraging Agile and CMMI for better Business Benefits Presented at HYDSPIN Mid-year Conference 2014 28-Jun-2014
Leveraging Agile and CMMI for better Business Benefits Presented at HYDSPIN Mid-year Conference 2014 28-Jun-2014 Outline 2 Context Key Business Imperatives Agile Adoption and CMMI Roadmap CMMI+Agile Best
Quality Management. Objectives
Quality Management Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 27 Slide 1 Objectives To introduce the quality management process and key quality management activities To explain the
Quality Management. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 27 Slide 1
Quality Management Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 27 Slide 1 Objectives To introduce the quality management process and key quality management activities To explain the
Developing CMMI in IT Projects with Considering other Development Models
Developing CMMI in IT Projects with Considering other Development Models Anahita Ahmadi* MSc in Socio Economic Systems Engineering Organizational Process Development Engineer, International Systems Engineering
WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT
WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT CONTENTS 1. THE NEED FOR DATA GOVERNANCE... 2 2. DATA GOVERNANCE... 2 2.1. Definition... 2 2.2. Responsibilities... 3 3. ACTIVITIES... 6 4. THE
TeamCompanion Solution Overview. Visual Studio
TeamCompanion Solution Overview Visual Studio Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the example
Supporting Workflow Overview. CSC532 Fall06
Supporting Workflow Overview CSC532 Fall06 Objectives: Supporting Workflows Define the supporting workflows Understand how to apply the supporting workflows Understand the activities necessary to configure
PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL
PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL Sanja Vukićević 1, Dražen Drašković 2 1 Faculty of Organizational Sciences, University of Belgrade, [email protected] 2 Faculty
Mastering the Iteration: An Agile White Paper
Rally Software Development Corporation Whitepaper Mastering the Iteration: An Agile White Paper Dean Leffingwell Abstract: The heartbeat of Agile development is the iteration the ability of the team to
Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development
Ingegneria del Software Corso di Laurea in Informatica per il Management Agile software development Davide Rossi Dipartimento di Informatica Università di Bologna The problem Efficiency: too much effort
Terms and Definitions for CMS Administrators, Architects, and Developers
Sitecore CMS 6 Glossary Rev. 081028 Sitecore CMS 6 Glossary Terms and Definitions for CMS Administrators, Architects, and Developers Table of Contents Chapter 1 Introduction... 3 1.1 Glossary... 4 Page
Java course - IAG0040. Unit testing & Agile Software Development
Java course - IAG0040 Unit testing & Agile Software Development 2011 Unit tests How to be confident that your code works? Why wait for somebody else to test your code? How to provide up-to-date examples
Mature Agile with a twist of CMMI
Mature Agile with a twist of CMMI Carsten Ruseng Jakobsen Systematic Software Engineering [email protected] Kent Aaron Johnson AgileDigm, Incorporated [email protected] Abstract Systematic is
Preparation Guide. EXIN Agile Scrum Foundation
Preparation Guide EXIN Agile Scrum Foundation Edition March 2014 Copyright 2014 EXIN All rights reserved. No part of this publication may be published, reproduced, copied or stored in a data processing
2015 IBM Continuous Engineering Open Labs Target to better LEARNING
2015 IBM Continuous Engineering Open Labs Target to better LEARNING (NO COST - not a substitute for full training courses) Choose from one or more of these Self-Paced, Hands-On Labs: DMT 3722 - Learn to
V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011, 2915-2919
Software Quality Assurance in CMM and XP- A Comparative Study CH.V. Phani Krishna and Dr. K.Rajasekhara Rao CSE Department, KL University, Guntur dt., India. Abstract Software Quality Assurance is a planned
Manager Domain Experts. Delivery Team. C h ic a g o
Outsourc es erv ice Engagement Domain Experts Vendor Account er d i ov Pr Finance Executive Sponsor Bo sto n C h ic a g o Project Empowering Agile with PPM Digite, Inc. 21060 Homestead Rd, Suite 220, Cupertino,
Configuration Management in a Software Product Line
Configuration Management in a Software Product Line John D. McGregor School of Computing Clemson University Clemson, SC 29634 [email protected] Sholom Cohen Software Engineering Institute Carnegie
Sometimes: 16 % Often: 13 % Always: 7 %
SCRUM AT RIIS A Standish study found that only 20% of features in a typical system were used often or always and 45% of features were never used at all. The ability to embrace change is critical to reducing
Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series
Overview This is a 15-day live facilitator-led or virtual workshop is designed to prompt your entire team to work efficiently with Microsoft s Application Lifecycle Management solution based around Visual
Quality Management. Objectives. Topics covered. Process and product quality Quality assurance and standards Quality planning Quality control
Quality Management Sommerville Chapter 27 Objectives To introduce the quality management process and key quality management activities To explain the role of standards in quality management To explain
Agile Project Management and Agile Practices Training; with a Scrum Project that you will do.
1 PMI Agile Certified Practitioner (PMI-ACP) workshop course details. We are unique and specialists in Agile! Your workshop trainer by passion and is a senior Agile Coach who coached many teams and Kanban
Introduction to Software Engineering. 8. Software Quality
Introduction to Software Engineering 8. Software Quality Roadmap > What is quality? > Quality Attributes > Quality Assurance: Planning and Reviewing > Quality System and Standards 2 Sources > Software
Scaling Down Large Projects to Meet the Agile Sweet Spot
Scaling Down Large Projects to Meet the Agile Sweet Spot Philippe Kruchten Kruchten Engineering Services Ltd Presenter Philippe Kruchten, Ph. D., P. Eng. KESL 2906 West 37 th avenue Vancouver BC V5Z 2M9
Software Quality Exercise 2
Software Quality Exercise 2 Testing and Debugging 1 Information 1.1 Dates Release: 12.03.2012 12.15pm Deadline: 19.03.2012 12.15pm Discussion: 26.03.2012 1.2 Formalities Please submit your solution as
Global Delivery Excellence Best Practices for Improving Software Process and Tools Adoption. Sunil Shah Technical Lead IBM Rational
Global Delivery Excellence Best Practices for Improving Software Process and Tools Adoption Sunil Shah Technical Lead IBM Rational Agenda Organization s Challenges from a Delivery Perspective Introduction
The value of modeling
The value of modeling Level: Introductory Gary Cernosek, Marketing Manager, IBM Rational Eric Naiburg, Group Market Manager Desktop Products, IBM Rational 15 Nov 2004 from The Rational Edge: This article
The preliminary design of a wearable computer for supporting Construction Progress Monitoring
The preliminary design of a wearable computer for supporting Construction Progress Monitoring 1 Introduction Jan Reinhardt, TU - Dresden Prof. James H. Garrett,Jr., Carnegie Mellon University Prof. Raimar
What is BPM? Software tools enabling BPM
What is BPM? BPM, or Business Process Management, is a technology, but it is also more than that. Broadly speaking, one can consider BPM as a management discipline in which processes are valued as assets
Embedded Software development Process and Tools: Lesson-1
Embedded Software development Process and Tools: Lesson-1 Introduction to Embedded Software Development Process and Tools 1 1. Development Process and Hardware Software 2 Development Process Consists of
