Agile Techniques and Tools. White Paper
|
|
- Lisa Bennett
- 8 years ago
- Views:
Transcription
1 Agile Techniques and Tools White Paper
2 Agile Techniques and Tools Synopsis This section provides an overview of a number of techniques and tools that are commonly used by agile development teams. These tools and techniques are by no means restricted to agile development they can be used in other scenarios. Unit Testing & Test Driven Development (TDD) Unit testing very is important for agile projects probably more so than traditional waterfall projects. Complete (or close to complete) automated unit test coverage is required to ensure that delivered code is of a high quality. However unit testing alone is not sufficient to ensure a system meets requirements and quality targets integration and functional testing, and code reviews should also be used. Automated unit testing using tools such as NUnit is however recognized as an industry best practice. In an agile project automated unit testing is even more important as it is a pre-requisite to techniques such as refactoring. There are a number of ways that unit testing can be adopted: Test Last the code is written and then unit tests are written to confirm the behaviour Test First a set of tests are written / documented before a subset of the code is implemented. To get the tests to compile, stub / empty classes are written then the classes are implemented TDD again the tests are implemented first but the distinction is that the tests are used as a means of driving out the design of the system and are implemented iteratively. This is often referred to as Red-Green-Refactor Behaviour Driven Development (BDD) this is an evolution of TDD with even more of an emphasis on tests as specifications, matching tests to feature definitions There are a number of benefits to implementing unit tests before writing the code itself, either Test First or using TDD. In particular it ensures that unit tests are actually written. The danger with writing unit test after the code has been cut, is that time pressures will cause the developer to skip writing the tests or to not achieve full coverage. This is particularly the case if the developer leaves it too long and implements too much code before considering the unit testing. However with developer discipline and ensuring that only small chunks of code are written before considering unit tests this approach is still viable. A further benefit of implementing the unit tests first is that it encourages the developer to consider testability in the design, including techniques such as dependency injection that can make implementing unit tests much simpler. If the developer implements a large chunk of the system without considering unit tests when he finally puts his mind to unit testing it is likely to much more painful and unsuccessful. At this level (Test First / Test Last / naïve TDD) which technique is used is arguably just a technical issue for the development team / developer. It is not a central part of the design methodology. However if TDD is adopted fully in the spirit of the technique, then unit testing becomes a more core feature of the methodology. TDD advocates argue that TDD can be used to drive the design of the system as well as providing documentation for the system. At this level TDD becomes a core part of the methodology, rather than just a development technique. 2
3 It is this distinction that drove the development of BDD which is an evolution of TDD that takes this even further with an emphasis of linking tests to executable specifications. Both advanced TDD and BDD can be considered (mini-) methodologies, or at least can be used as the core component of a methodology. Taking aside TDD and BDD as components of a methodology, there are a number of factors which need to be considered when implementing unit tests: What level of unit tests should be implemented? Should tests be true unit tests at the class level or are higher level pseudo integration tests acceptable? Should tests be state-based or interaction based? When should each approach be adopted? How should techniques such as mocking frameworks be used? How should database interaction be handled in tests? Should the pure unit-tests attempt to use a fake implementation? Or should the unit tests be pseudo integration tests against the database? How are tests integrated into the build process? How are the UI components tested? Should patterns such as Model View Presenter (MVP) or Model View Controller (MVC) be used to increase test coverage? Should a tool such as Watin be used to automate tests through the UI? How should test coverage be measured? What are the targets for test coverage? Refactoring At some level refactoring is almost a pre-requisite for agile development. If a system is implemented in short iterations, with each iteration providing a minimal implementation to address the most critical features selected at the start of the implementation, then it has to be accepted that later iterations may require earlier work to be refactored / reworked. Otherwise the implementation can hardly be considered agile. Refactoring can be taken to encompass any re-working of previous implementations. However it is also used to refer to a lower level technique of refactoring at the microscopic level improving the implementation of one or more classes by applying standard re-factorings [Fowler] such as Extract Interface which are designed to address certain code-smells. There are a number of refactoring tools for.net that can be used to assist in refactoring including Resharper and RefactorPro in particular. Visual Studio.NET even includes a few basic refactorings out of the box. However refactoring as a whole is important for agile projects. In this context there are a number of issues to consider: It is important at a project level that the need for refactoring is acknowledged and indeed actively encouraged. If not then time-scales may force developers to skip refactoring (and the project will eventually suffer for it) As mentioned refactoring can be used to ensure that a clean design for the system emerges through development 3
4 Refactoring should be included in design reviews / code reviews reviews can determine targets for refactoring. This should be included explicitly in the process that is adopted time should set aside for it Refactoring can also be driven by TDD this is referred to as Red Green Refactor Repeat. Red = write a test that fails, Green = write the code to enable the test to pass, Refactor = refactor the code that has just been written. Wash and repeat! Continuous Integration Continuous Integration (CI) is also an important technique that should be considered as part of an agile project (or any other project for that matter). CI is a development practice where developers integrate their work on a frequent basis, at least daily, with the integration verified by an automated build process which normally also includes automated execution of the unit test suites to determine whether the build has been completed successfully. There are a number of CI tools available most notably the open source project CruiseControl.NET, but also a number of commercial tools such as FinalBuilder. These tools typically integrate with the source control system and can be setup so that a build is initiated whenever a check-in is completed by a developer. However it is also possible for the tools to be configured to perform builds on a schedule such a nightly. Code / Design Reviews The importance of code and design reviews cannot be underestimated, as they provide a perfect opportunity to tie many threads together. A design/code review should include: Review of the design of individual features Roles and responsibilities of classes Coding standards Unit testing techniques and coverage Determining any scope for refactoring Review of the build integration Domain Driven Design / Domain Models Domain Driven Design and the Domain Model pattern are important design techniques that are particularly suited to more complex applications. Both DDD and the Domain Model pattern focus on developing an implementation model that is close to the domain model of the end users, using the expressiveness of OO design to model the domain. In many ways both DDD and the Domain Model patterns are embodiments of classic OO techniques, though perhaps without some of the naivety of early OO modelling techniques. DDD also focuses on principles such as the Ubiquitous Language where the emphasis is on using a common language in all aspects of the project. The ubiquitous language is used in all communications, both with end users, between developers and project managers and also between 4
5 developers. Furthermore the terms of the ubiquitous language are reflected in the implementation model itself they are a core part of the model. DDD also focuses on model driven development though the emphasis is on expressing the model directly in the implementation. NOTE: Despite the similarity in terms this is not synonymous with Model Driven Architecture (which focuses on defining the application in UML and using this to generate the core of the implementation) and DDD does not imply development of a large UML model. DDD focuses on implementing a rich model in the code, with a close relationship to the domain model, providing the ability to refactor the model using techniques such as TDD. Furthermore, DDD recommends a number of useful design patterns including: Entity, Value Object, Aggregate, Repository, Factory, and Layered Architecture. Many of these are similar to standard patterns but are combined into a specific pattern language. Whilst overall the full DDD methodology is best suited to large applications with complex domains and largish teams, many of the concepts are useful to consider in the context of an agile project. In particular, the Ubiquitous Language is a strong concept that serves to promote clear communication and bring different views together. Expressing the business domain closely in the code, and refactoring as required, also serves to promote agility. The DDD / Domain Model approach is often approached more from a domain model first perspective and not from a Data Driven approach typically advocated by Microsoft s RAD tools (and other tools). In a data driven approach, the development starts by defining a database schema, which is then used to generate an entity model (or even to generate Typed Datasets). One of the advantages of the Data Driven approach is that it provides a lower barrier to getting early proto-types working. Defining a database model and then using this to build a few screens is a relatively easy way of getting a deliverable in the hands of the users. It is also typically an easier approach in terms of skill required by the developer. DB Consulting Thames Court 1 Victoria Street Windsor SL4 1YB T: +44 (0) E: nhill@dbgroup.co.uk 5
ASSURING SOFTWARE QUALITY USING VISUAL STUDIO 2010
ASSURING SOFTWARE QUALITY USING VISUAL STUDIO 2010 QA2010 3 Days INTRODUCTION This three-day, instructor-led course provides students with the knowledge and skills to prevent, detect, manage and avoid
More informationApplication Development at Congruent
Application Services are the flagship of Congruent's service offerings. Our expertise in application development is signified by its completeness and excellence in delivery. Congruent covers the complete
More informationALM2013VS_ACC: Application Lifecycle Management Using Visual Studio 2013
ALM2013VS_ACC: Application Lifecycle Management Using Visual Studio 2013 Description This three-day, instructor-led course provides students with the knowledge and skills to effectively use the Application
More informationTest Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download.
Test Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download.aspx Abstract In this final part of the three part series on
More informationReal Time Embedded Software Development Using Agile Technology An Experience Report
Real Time Embedded Software Development Using Agile Technology An Experience Report Vincent Rivas Joseph N Frisina BAE SYSTEMS Information and Electronic Systems Integration Inc CNIR Agile Development
More informationApplication Lifecycle Management Using Visual Studio 2013 (SCRUM)
Course Code: QAALMS13 Vendor: Microsoft Course Overview Duration: 3 RRP: 2,009 Application Lifecycle Management Using Visual Studio 2013 (SCRUM) Overview This three-day, instructor-led course provides
More informationTest Driven Development with Continuous Integration: A Literature Review
Test Driven Development with Continuous Integration: A Literature Review Sheikh Fahad Ahmad Deptt. of Computer Science & Engg. Mohd. Rizwan Beg Deptt. of Computer Science & Engg. Mohd. Haleem Deptt. of
More informationTest-Driven Development
Test-Driven Development An Introduction Mattias Ståhlberg mattias.stahlberg@enea.com Debugging sucks. Testing rocks. Contents 1. What is unit testing? 2. What is test-driven development? 3. Example 4.
More informationa new generation software test automation framework - CIVIM
a new generation software test automation framework - CIVIM Software Testing is the last phase in software development lifecycle which has high impact on the quality of the final product delivered to the
More informationThe Importance of Continuous Integration for Quality Assurance Teams
The Importance of Continuous Integration for Quality Assurance Teams Without proper implementation, a continuous integration system will go from a competitive advantage for a software quality assurance
More informationAgile Techniques for Object Databases
db4o The Open Source Object Database Java and.net Agile Techniques for Object Databases By Scott Ambler 1 Modern software processes such as Rational Unified Process (RUP), Extreme Programming (XP), and
More informationArchitecture Rules Enforcement and Governance Using Aspects
Architecture Rules Enforcement and Governance Using Aspects Srini Penchikala SATURN 2009 About the Speaker Enterprise Architect Writer, Speaker, Editor (InfoQ) Detroit Java User Group Leader Working with
More informationIn this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice
In this Lecture you will Learn: Development Chapter 5C About the Unified Software Development How phases relate to workflows in an iterative life cycle An approach to system development Major activities
More informationAutomating Your Build Process Using FinalBuilder. 2008 Craig Murphy
Automating Your Build Process Using FinalBuilder 2008 Craig Murphy Session Overview Automated Builds and Continuous Integration are facets of extreme Programming (XP) Very much part of the agile approach
More informationSoftware Continuous Integration & Delivery
November 2013 Daitan White Paper Software Continuous Integration & Delivery INCREASING YOUR SOFTWARE DEVELOPMENT PROCESS AGILITY Highly Reliable Software Development Services http://www.daitangroup.com
More informationAgile 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
More informationImplementing Continuous Integration Testing Prepared by:
Implementing Continuous Integration Testing Prepared by: Mr Sandeep M Table of Contents 1. ABSTRACT... 2 2. INTRODUCTION TO CONTINUOUS INTEGRATION (CI)... 3 3. CI FOR AGILE METHODOLOGY... 4 4. WORK FLOW...
More informationSoftware development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali
Software development life cycle Software life cycle: Software Engineering - II ITNP92 - Object Oriented Software Design Dr Andrea Bracciali Module Co-ordinator 4B86 abb@cs.stir.ac.uk Spring 2014 (elicitation)
More informationALM: Continuous Integration. José Almeida, Microsoft
ALM: Continuous Integration José Almeida, Microsoft Agenda Issues Addressed Getting Started What is CI? CI Practices About Continuous Integration What is Continuous Integration? CI is the thread that ties
More informationBuilding a Flexible Software Factory Using Partial Domain Specific Models
Building a Flexible Software Factory Using Partial Domain Specific Models Jos Warmer 1, Anneke Kleppe 2 3 1 Ordina SI&D, The Netherlands Jos.Warmer@ordina.nl 2 University Twente, Netherlands a.kleppe@utwente.nl
More informationFail early, fail often, succeed sooner!
Fail early, fail often, succeed sooner! Contents Beyond testing Testing levels Testing techniques TDD = fail early Automate testing = fail often Tools for testing Acceptance tests Quality Erja Nikunen
More informationThe concrete impacts of BCBS principles on data value chains
The concrete impacts of BCBS principles on data value chains Jean-Pierre Maissin Partner Technology & Enterprise Application Deloitte Jean-Philippe Peters Partner Governance, Risk & Compliance Deloitte
More informationLife-Cycle Model. Software Life-Cycle Models. Software Development in Theory. Software Development in Practice
Life-Cycle Model Software Life-Cycle Models Xiaojun Qi It specifies the various phases/workflows of the software process, such as the requirements, analysis (specification), design, implementation, and
More informationTwo-Way Data Binding with WinJS By Marcin Kawalerowicz and Craig Berntson, authors of Continuous Integration in.net
1 Two-Way Data Binding with WinJS By Marcin Kawalerowicz and Craig Berntson, authors of Continuous Integration in.net One of the keys to improving applications and productivity is to automate some of the
More informationTDD, Refactoring and Dependency Injection: Agile s answer to Big Up-Front Architecture (BUFA)
TDD, Refactoring and Dependency Injection: Agile s answer to Big Up-Front Architecture (BUFA) May 5th, 2006, Agile India Conference Paul Hammant, ThoughtWorks, Inc www.paulhammant.com The problem? Previous-era
More informationAccelerating software testing effectiveness using Agile methodologies..
Accelerating software testing effectiveness using Agile methodologies.. How can testing be completed faster, and more efficiently, within short iterations? The Problem It is a painful paradox that while
More informationUnit & Live Testing for SSIS
Unit & Live Testing for SSIS SSIS Tester is the framework that makes unit and integration testing of SSIS packages possible Test implementation follows common methodology as seen in MS Test or Nunit Use
More informationWho Doesn t Want to be Agile? By: Steve Dine President, Datasource Consulting, LLC 7/10/2008
Who Doesn t Want to be Agile? By: Steve Dine President, Datasource Consulting, LLC 7/10/2008 Who wants to be involved in a BI project or program that is labeled slow or inflexible? While I don t believe
More informationPracticing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation
Practicing Continuous Delivery using Hudson Winston Prakash Oracle Corporation Development Lifecycle Dev Dev QA Ops DevOps QA Ops Typical turn around time is 6 months to 1 year Sprint cycle is typically
More informationApplying agile development practices to rich internet applications
Applying agile development practices to rich internet applications Proposal in detail: Agile practitioners today are comfortable with applying practices such as behaviour-driven development (BDD) and test-driven
More informationAgile Testing: The Agile Test Automation Pyramid
Agile Testing: The Agile Test Pyramid In this post, or perhaps truly an article, I want to explore a common approach for implementing an effective strategy for your overall agile automation development.
More informationRapid Software Development
Software Engineering Rapid Software Development Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain how an iterative, incremental development process leads to faster delivery
More informationHow To Be Successful At An Agile Software Engineering
"Agile Software Engineering" Overview for external offering of ASE ABAP Juergen Heymann, CPO Software Engineering There are many ingredients for successful software projects Experienced Developers Domain
More informationDesigning a Home Alarm using the UML. And implementing it using C++ and VxWorks
Designing a Home Alarm using the UML And implementing it using C++ and VxWorks M.W.Richardson I-Logix UK Ltd. markr@ilogix.com This article describes how a simple home alarm can be designed using the UML
More information10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design
Session # 3 Contents Systems Analysis and Design 2 1 Tiers of Software Development 10/4/2013 Information system development project Realistic behavior 3 Information system development project System Development
More informationEnabling Continuous Delivery by Leveraging the Deployment Pipeline
Enabling Continuous Delivery by Leveraging the Deployment Pipeline Jason Carter Principal (972) 689-6402 Jason.carter@parivedasolutions.com Pariveda Solutions, Inc. Dallas,TX Table of Contents Matching
More informationCS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping
More informationSoftware Development Process
Software Development Process A software development process, also known as software development lifecycle, is a structure imposed on the development of a software product. Similar terms include software
More informationDevOps for the Mainframe
DevOps for the Mainframe Rosalind Radcliffe IBM Distinguished Engineer, Enterprise Modernization Solution Architect rradclif@us.ibm.com 1 Please note IBM s statements regarding its plans, directions, and
More informationHow to Build Successful DSL s. Jos Warmer Leendert Versluijs
How to Build Successful DSL s Jos Warmer Leendert Versluijs Jos Warmer Expert in Model Driven Development One of the authors of the UML standard Author of books Praktisch UML MDA Explained Object Constraint
More informationAgile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective
Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective Iteration Advantages: bringing testing into the development life
More informationAdvanced Software Engineering. Software Development Processes
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Advanced Software Engineering Software Development Processes Prof. Agostino Poggi Software Development
More informationExtreme Programming. Sergey Konovalov and Stefan Misslinger. May 23, 2006
Extreme Programming Sergey Konovalov and Stefan Misslinger May 23, 2006 1 Contents 1 Introduction 3 2 Why do we need XP? 3 3 Economics of Software Development 4 4 Extreme Programming Values 4 5 Extreme
More informationDifference Between Model-Driven and Traditional Iterative Software Development
Process Implications of Model-Driven Software Development Author: Jorn Bettin Version 1.0 September 2004 Copyright 2003, 2004 SoftMetaWare Ltd. SoftMetaWare is a trademark of SoftMetaWare Ltd. All other
More informationWhat is Agile Software Development?
What is Agile Software Development? Introduction What is agile software development, and what changes does it require of a tester? How does a tester become more effective in an agile environment? This
More informationRPM Software. Enterprise application development with Agile and.net. Robin Dymond at www.innovel.net Jade Ohlhauser 12/05/2003
RPM Software Enterprise application development with Agile and.net Robin Dymond at www.innovel.net Jade Ohlhauser RPM Software overview! Calgary based startup software company! Spun out of Bandwidthplace,
More informationWHITEPAPER. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Principle #1, Agile Manifesto
30 September 2014 WHITEPAPER Delivery Maturity Model Releasing software is often a long, difficult and risky process. Defects and integration issues pop-up at the very last moment and cause dissatisfaction
More informationContinuous Delivery - is it from the Devil? Tamas Csako
Continuous Delivery - is it from the Devil? Tamas Csako August 25, 2015 1 Focus on the customer Continuous Delivery 2 About Me Tamas Csako, Ph.D. Lead Software Testing Engineer Experience: 6+ years in
More information(Unit) Testing ios Apps. Paweł Dudek
(Unit) Testing ios Apps Paweł Dudek 1 Why do we want to write tests? 2 Reasons for testing Striving for better software Leads to better, more modularized codebase Faster development cycles Being confident
More informationRapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1
Rapid software development Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Objectives To explain how an iterative, incremental development process leads to faster delivery of
More informationContinuous Integration (CI)
Introduction A long standing problem for software development teams has been to maintain the stability of an application while integrating the changes made by multiple developers. The later that integration
More informationClassical Software Life Cycle Models
Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation
More informationHow To Write Unit Tests In A Continuous Integration
Continuous Integration bjorn.boisschot@ctg.com 1. It works on my machine. Risk 1 Lack of Deployable Software Risk 2 Lack of project visibility 2011 CTG, Inc. 9 2011 CTG, Inc. 10 Risk 3 Low quality
More informationIn the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer
More informationHow To Develop An Application
What is Application Lifecycle Management? David Chappell Sponsored by Microsoft Corporation Copyright 2014 Chappell & Associates Defining application lifecycle management (ALM) isn t easy. Different people
More informationAgile Austin Dev SIG. June 2013 - Continuous Integration (CI)
Agile Austin Dev SIG June 2013 - Continuous Integration (CI) Special thanks to: Our hosts, BancVue, for their hospitality and meeting facilities. And to Agile Austin for providing lunch. * For more SIGs
More informationWeb Application Development for the SOA Age Thinking in XML
Web Application Development for the SOA Age Thinking in XML Enterprise Web 2.0 >>> FAST White Paper August 2007 Abstract Whether you are building a complete SOA architecture or seeking to use SOA services
More informationAgile Testing. 2015 Intelliware Development Inc. BC Holmes @bcholmesdotorg
Agile Testing BC Holmes @bcholmesdotorg What you ll learn in this presentation: Why do we use Agile testing? What Agile testing isn t What Agile testing is: unit testing and test-driven development (TDD)
More informationWhat is a life cycle model?
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
More informationINTRODUCING VISUAL STUDIO 2010
INTRODUCING VISUAL STUDIO 2010 DAVID CHAPPELL MAY 2010 SPONSORED BY MICROSOFT CONTENTS Tools and Modern Software Development... 3 Understanding Visual Studio 2010... 3 The Components of Visual Studio 2010...
More informationChapter 13 Configuration Management
Chapter 13 Configuration Management Using UML, Patterns, and Java Object-Oriented Software Engineering Outline of the Lecture Purpose of Software Configuration Management (SCM)! Motivation: Why software
More informationHuman Aspects of Software Engineering: The Case of Extreme Programming
1 Human Aspects of Software Engineering: The Case of Extreme Programming Orit Hazzan 1 and Jim Tomayko 2 1 Department of Education in Technology and Science, Technion - IIT, Haifa 32000, Israel oritha@tx.technion.ac.il
More informationSoftware Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University
Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or
More informationLive Specifications: From Requirements to Automated Tests and Back
Live Specifications: From Requirements to Automated Tests and Back Paul Gerrard paul@gerrardconsulting.com @paul_gerrard gerrardconsulting.com We believe there are better ways to build software Intelligent
More informationElite: A New Component-Based Software Development Model
Elite: A New Component-Based Software Development Model Lata Nautiyal Umesh Kumar Tiwari Sushil Chandra Dimri Shivani Bahuguna Assistant Professor- Assistant Professor- Professor- Assistant Professor-
More informationAgile Web Application Testing
Agile Web Application Testing Technologies and Solutions V. Narayan Raman Tyto Software Goals Rapid feedback on the quality of software Problem in Web App Testing Many Browsers Many Operating Systems Browsers
More informationEssential Visual Studio Team System
Essential Visual Studio Team System Introduction This course helps software development teams successfully deliver complex software solutions with Microsoft Visual Studio Team System (VSTS). Discover how
More informationSoftware Project Models
INTERNATIONAL JOURNAL OF TECHNOLOGY ENHANCEMENTS AND EMERGING ENGINEERING RESEARCH, VOL 1, ISSUE 4 135 Software Project Models Abhimanyu Chopra, Abhinav Prashar, Chandresh Saini Email-abhinav.prashar@gmail.com,
More informationHigh-Level Architecture v1. Overall Comments about Requirements. Some criticisms. Requirements Concerns. CMS DB Terminology
Admin High-Level Architecture v1 Admin Web Access Control Configuration Access Control Customer DB Configuration Overall Comments about Requirements Uniformly nicely done Provided Clients with a number
More information2. Analysis, Design and Implementation
2. Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Individual Programs to Complete Application Systems Software Development: Goals, Tasks, Actors,
More informationAgile So)ware Development
Software Engineering Agile So)ware Development 1 Rapid software development Rapid development and delivery is now often the most important requirement for software systems Businesses operate in a fast
More informationAgile Testing. What Students Learn
Agile Testing Transition sound traditional test practices into an Agile development environment. By using a step-by-step approach, this course documents how to transition from traditional test practices
More informationThe Role of Software Quality in Agile Software Development Methodologies Osama Sohaib and Khalid Khan Abstract he various agile software development methodologies have promoted since their inception and
More informationAn Agile Project Management Model
Agile Project Management Jim Highsmith Chapter 5 An Agile Project Management Model We improve effectiveness and reliability through situationally specific strategies, processes, and practices. One of the
More informationContinuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited
Continuous Integration: Improving Software Quality and Reducing Risk Preetam Palwe Aftek Limited One more title Do you love bugs? Or Are you in love with QC members? [Courtesy: Smita N] Agenda Motivation
More informationTesting for the web and some other stuff
Testing for the web and some other stuff A BIT ABOUT ME Jonathan Director at Ocellics Software Solutions Studied at UCT and have a Honours in Information Systems Been working as a software dev for 8 years
More informationSoftware Development Services
Software Development Services G-Cloud IV Service Definition Lot 4 - SCS Contact us: Danielle Pratt Email: G-Cloud@esynergy-solutions.co.uk About is a leading provider of IT Consultancy Services operating
More informationAxe in the Agile World
Axe in the Agile World WHITE PAPER Executive Summary This paper explains the way in which Axe (Odin s Enterprise Test Automation Platform) allows the automated testing to take place in a range of project
More informationSYLLABUS. Software Engineering
SYLLABUS 1. Information regarding the programme 1.1 Higher education institution Babeş Bolyai University 1.2 Faculty Faculty of Mathematics and Computer Science 1.3 Department Department of Computer Science
More informationContinuous. Integration. in.net MARGIN KAWALEROWICZ CRAIG BERNTSON MANNING. Greenwich. (74 w. long.)
Continuous Integration in.net MARGIN KAWALEROWICZ CRAIG BERNTSON M MANNING Greenwich (74 w. long.) contents preface xv acknowledgments xvii about this book xix about the authors xxii about the cover illustration
More informationIncreasing frequency of releases to every week down from quarterly major releases
Continuous Delivery with Go enables an 87% improvement in release time, 85% reduction in test time and ROI of 6x in one of Germany s largest consumer portals. Increasing frequency of releases to every
More informationEnvironment Modeling for Automated Testing of Cloud Applications
Environment Modeling for Automated Testing of Cloud Applications Linghao Zhang, Tao Xie, Nikolai Tillmann, Peli de Halleux, Xiaoxing Ma, Jian Lv {lzhang25, txie}@ncsu.edu, {nikolait, jhalleux}@microsoft.com,
More informationGetting started with API testing
Technical white paper Getting started with API testing Test all layers of your composite applications, not just the GUI Table of contents Executive summary... 3 Introduction... 3 Who should read this document?...
More informationSoftware Construction
Software Construction Martin Kropp University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Learning Target You can explain the importance of continuous integration
More informationSoftware Process. Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind.
Software Process Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind. Any process has these characteristics: The process prescribes all
More informationLecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities
Software Life Cycle Lecture Objectives What happens in the life of software To look at the life cycle of a software To understand the software process and its related elements To relate to the different
More informationThe Test Automation Journey
The Test Automation Journey Challenges and Limits 10th Workshop on System Testing and Validation Dr. György Réthy, Ericsson About myself Graduated as Ph.D. in 1991 Hungarian Telekom (now T-Com company)
More informationSoftware Development Life-cycle Hygiene with Message Broker in end-to-end SOA
Software Development Life-cycle Hygiene with Message Broker in end-to-end SOA Tips for building and maintaining a working SOA implementation in MB Stuart Smith - Consultant, Smart421 ssmith@smart421.com
More informationPlan-Driven Methodologies
Plan-Driven Methodologies The traditional way to develop software Based on system engineering and quality disciplines (process improvement) Standards developed from DoD & industry to make process fit a
More information11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?
11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 11: Managing the Software Process Project management encompasses all the
More informationBasic Unified Process: A Process for Small and Agile Projects
Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.
More informationMO. 27. Feb 2006, 17:00 UHR
061 MO. 27. Feb 2006, 17:00 UHR AUTOMATED FUNCTIONAL TESTING QUALITÄTSSICHERUNG IN DER SOFTWARE- ENTWICKLUNG: NUR ROUTINIERTES TESTING FÜHRT ZUM ZIEL WIRD PRÄSENTIERT VON Slide 0 Automated Functional Testing
More informationGeneral Problem Solving Model. Software Development Methodology. Chapter 2A
General Problem Solving Model Software Development Methodology These focus on understanding what the problem is about Chapter 2A Concerned with understanding more about the nature of the problem and possible
More informationTest (Automation) for Mobile Phone Applications for StarEast 2011
Test (Automation) for Mobile Phone Applications for StarEast 2011 Julian Harty 05 Apr 2011 1 Introductions Julian Harty Tester At Large, ebay Testing Mobile Applications @Google 2 ½ years from 2006 Ongoing
More informationSoftware Configuration Management Best Practices for Continuous Integration
Software Configuration Management Best Practices for Continuous Integration As Agile software development methodologies become more common and mature, proven best practices in all phases of the software
More informationService Description - Testing
Service Description - Testing An overview of the G-Cloud Service (functional, non functional) Lockheed Martin provides a full range of testing services to the public sector including the provision of:
More informationChapter 17 Software Testing Strategies Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For
More informationSoftware Development Process
Software Development Process 台 北 科 技 大 學 資 訊 工 程 系 鄭 有 進 教 授 2005 copyright Y C Cheng Software development process Software development process addresses requirements, expectations and realities simultaneously
More informationCHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality
More informationAgile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS
Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS In order to ease the burden of application lifecycle management,
More information