Agile development of safety-critical software while meetings standards' requirements
|
|
|
- Melanie Russell
- 10 years ago
- Views:
Transcription
1 1(37) Agile development of safety-critical software while meetings standards' requirements Matti Vuori, Tampere University of Technology
2 Contents 1/2 A study in Ohjelmaturva 4 Tendency to be agile 5 Benefits of Agile according to Larman (2004) 6 Benefits in different product development settings 7 Positive conclusions for agile safety-critical development 8 Different goals => different approaches to Agile 10 Risks of new processes 11 Risk analysis of the transformation 12 Problems in Agile culture according to Kruchten (2011) 13 No generic "safety-critical system" under development 15 What we need to do in agile way? 16 What is forgotten in agile?... Hybrid approaches are needed 17 Anatomy of agile development 18 Lean 19 Guidance for going agile 20
3 Contents 2/2 Prerequisites 21 Ten generic guidelines for process development 23 Develop basic elements that provide value for any process model 26 Make rules clear 27 Communication and collaboration 28 Make time-consuming phases efficient 29 Provide control 30 Split the process 31 Increase number of releases 32 Add any other practices that bring value 33 Continuous improvement 34 Read the report for more info 35 References 36
4 4(37) A study in Ohjelmaturva Identification of agile principles, process and activity elements and practices that are key issues from the viewpoint of developing safety-critical software systems. Analysis of the identified elements: risks of applying of them, how they should be supplemented, modified or avoided. Mapping of essential development tasks, quality and safety assurance into a generic agile development framework. Synthesis of key issues for guidance in process tailoring and development in companies. IEC 61508(-3) as context. The safety-criticality of the context of the study was moderate. We assessed mostly the safety integrity levels SIL levels 1, 2 and 3.
5 5(37) Tendency to be agile There is a tendency for companies to transform their software and product development practice into more incremental form. Agile project management models. Agile software lifecycle models. Practices from Agile culture. The main value of agile processes comes from controlled increments and releases, which they produce more often than previous models. Controlled releases should especially help in getting feedback from the customer and to manage project risks. Familiar in other domain, now also in safety-critical development. However, the question still is, how it can be done so that any project features safety, of course, being critical are not compromised.
6 Benefits of Agile according to Larman (2004) 6(37) Iterative development is lower risk; the waterfall is higher risk. Early risk mitigation and discovery. Accommodates and provokes early change; consistent with new product development. Manageable complexity. Confidence and satisfaction from early, repeated success. Early partial product. Relevant process tracking; better predictability. Higher quality; less defects. Final product better matches true client desires. Early and regular process improvement. Communication and engagement required. IKIWISI required [IKIWISI = I ll Know It When I See It].
7 Benefits in different product development settings 7(37) Customer benefits in the development of tailored systems: Getting an early release and understanding of the system by using it. Getting regular releases at a sensible pace so that the new system can be learned and all necessary adaptations can be made in time. Ability to make changes to plans during the process in a flexible way. Benefits in mass-market product development: Manufacturer s desire to control risks. Ability to be fast in responding to competition and emerging market needs.
8 Positive conclusions for agile safetycritical development 1/2 8(37) Customers need time to understand all safety percussions and early releases allow for that. Communicating design and safety information is easier, as agile emphasises verbal communication, not just written documentation. If a new technology should prove to be unreliable, the situation can be detected early and changes be made. Risk analysis has a gradually evolving scope (the concept), which should improve its quality. Safety assessments made in small increments can be more focused, delivering better results.
9 Positive conclusions for agile safetycritical development 2/2 9(37) A rhythmic process of integration at all levels, from code to customer production systems should reduce many kinds of problems. Even if the increments are not targeted for production, their behaviour can be well tested, assessed and understood in simulation. Any corrective measures can be based on practical observations from executing the system, not just analysis. Agile can provide a good learning experience for all involved, if applied properly.
10 Different goals => different approaches to Agile 10(37) Goals influence how companies approach the development process. Some companies may start the agile process with a very vague idea of a concept. Some may see it as a way to make software production more controlled Others simply aim to get a row of productive solutions, new releases to customers. => All these require different processes and activities. Release orientation and release readiness are seen as a key element of agile approaches.
11 11(37) Risks of new processes Safety-critical development is all about managing risks. Just as in taking new components into use, new ways of action need to be carefully analysed. Suitability. Risks. What the change influences. Business risks, safety risks, quality risks. Etc... Boehm and Turner present a rule that is particularly well suited to safety-critical development: Is it riskier for me to apply (more of) this process component or to refrain from applying it?
12 12(37) Risk analysis of the transformation A risk analysis should be made for the process change in order to identify potential pitfalls. A transformation of project practices is very much a cultural change. Pure processes are easy to change, but in software development it is a question of how people work together. Elements of software process practices, processes, techniques and tools can be thought to form a toolbox of items that we are free to choose from. There many moments when we need to make a decision: shall we use that particular practice or not?
13 Problems in Agile culture according to Kruchten (2011) 1/2 13(37) 1. Commercial interests censoring failure. 2. Pretending agile is not a business. 3. Failure to dampen negative behaviour. 4. Context and Contextual applicability of practices. 5. Context gets in the way of dogma. 6. Hypocrisy. 7. Politic. 8. Anarchism. 9. Elitism. 10.Agile Alliance.
14 Problems in agile culture according to Kruchten (2011) 2/2 14(37) 11.Certification (the zombie elephant ). 12.Abdicating responsibility for product success (to others, e.g., product owners). 13.Business value. 14.Managers and management are bad. 15.Culture. 16.Role of architecture and design. 17.Self-organising team. 18.Scaling naïveté (e.g., scrum of scrums). 19.Technical debt. 20.Effective ways of discovering info without writing source code.
15 No generic "safety-critical system" under development 15(37) Type of product and system. From medical devices to machines to nuclear power plants. The role of software in the system. Is it mainly a software-based system or is software still only in a restricted role and the product is perceived as a mechanical device, for example. The size and scope of the system. Clearly small personal devices require a very differ-ent approach to large plant level systems. The risk level of the system. Factory machines have a very different risk level than nu-clear power plants.
16 16(37) What we need to do in agile way? The process in IEC has this kind of properties: Emphasis not up-front or end phases, but both and all inbetween! Requirement specification based on the overall system. Quality of architecture. Quality of plans and implementation. Quality of verification testing etc. Safety assessessment whenever designs change. Validation in relation to what really is needed in the context of the overall system. Solid documenting with not gaps. Very strong configuration management and tracing of things. Competence and roles of process participants. See end of slide set for reference
17 What is forgotten in agile?... Hybrid approaches are needed 17(37) By Coplien & Bjørnvig (2010): Architecture. Handling dependencies between requirements. Foundations for usability. Documentation. Common sense, thinking and caring. Analytical approach. Safety-critical development is very analytical by nature. Must not be lost in transition. Principles of Lean are used to add some missing elements. Agile development is never fully agile. Hybrid methods (see Kennaley (2010)). Each SDLC model is based on history. => Hybrid models allow for choosing essential elements.
18 18(37) Anatomy of agile development Principles (including values). Project model. Software development lifecycle. Software engineering methods, techniques and practices....and beside that the whole global Agile culture...
19 19(37) Lean Lean is an approach that is often associated in the context of agile development. Lean was originally called Lean production, but today Lean represents only a vision of good efficient way of action. It has been applied mostly in manufacturing industries, but lately it has been coming into the software development world to complement agile development (see for example Poppendieck (2007)). Therefore, we included analysis of Lean principles in our study. Yet, Lean actually has very different principles than Agile. More about this in the report (Vuori, 2011).
20 Guidance for going agile 20(37) Based on the study we offer the following guidance to companies who aim to develop their processes into more agile.
21 21(37) Prerequisites 1/2 Shared sense of a need to change. Agile is not a goal as such, but a means to meet some business or other goals. For any change in an organisation, there should be a clear, shared sense of urgency to change processes and a feeling that the current way of action is not sufficient anymore. Solid process understanding and vision. There should be an understanding of software and product development processes agile and otherwise. The aim is not to be agile as such, but get the best results, meet goals. A nice read: Barry Boehm's and Richard Turner's book "Balancing Agility and Discipline A Guide for the Perplexed".
22 22(37) Prerequisites 2/2 Professionalism in action. Before transformation the organisation needs to be able to fulfil, for example, all the requirements of IEC [2010] or other applicable standards with no problems. That provides a baseline. Experts and collaboration. Expertise on agile is needed in the transformation, to guide the rest of the people in the transformation process. Process people or consultants are needed who can lead the transformation. Agile consultants do not necessarily understand all the process requirements of safety-critical development and the leading principles of safety and risk management. Even world class agile experts may have a limited understanding of testing and verification and validation!
23 Ten generic guidelines for process development 1/3 23(37) 1. Respect your own engineering skills and experiences in the process development. 2. Do not follow fashion. Seek proven practices and analyse their suitability in your environment and culture. 3. Understand that not everything needs to be agile and that more agile will not mean better. 4. Remember that the more safety-critical the system and its development are, the more control is required for the process and that will usually mean less agility. 5. No single paradigm is sufficient. Being just agile or just plan-driven is not enough. Agility in some areas may need less agility in others, for specific process needs and for balance.
24 Ten generic guidelines for process development 2/3 24(37) 6. Much of any company s current activity is tacit in nature and not formulated or documented. Thus, you might be blind to your current success factors. External consultants are often needed to see the essentials in your activities. 7. Safety-critical development is all about managing risks. In the same way, you need to manage the risks of making process changes. 8. Find the style that is best for you, is the message in all development. If you act like everyone else, how could you be the best in your branch?
25 Ten generic guidelines for process development 3/3 25(37) 8. Process developments are never just mechanistic process issues. Agility needs to fit into the corporate culture, which is a hard thing to change. 10. Co-operation and collaboration between all stakeholders is one key issue in Agile. The same applies to process development.
26 Develop basic elements that provide value for any process model 26(37) More thorough unit testing and code quality assurance. So that there is a solid base for changing the product. Continuous integration so that there is always a working product at hand, to assess how it behaves and to learn from it. Test automation. Automating as many as possible of the tasks that are required for efficient verification and validation, yet supporting many test paradigms (among others exploratory testing) for diversity and test effectiveness. Agile process automation. Automated reporting tools and information systems that can easily be tailored to changing situations in a project. Automated tracing. When a requirement or design or implementation is being planned to change, or has changed, tools are needed to see immediately what it affects and what also needs to be addressed.
27 27(37) Make rules clear Who owns the products, the product business and safety? Who owns the development process? What are the principles of product development? Is it customer-led or innovation-led? Both may require different processes and participation. How do we weight the stakeholders' opinions. Is product development a democratic process or is some party clearly leading it? How open do we really want to be towards the customers? How much do we really wish to engage subcontractors?
28 28(37) Communication and collaboration More self-reflection is needed in the process. All participants need to look into the product and process frequently to see what in their way of action needs to be improved. This calls for frequent lessons learned / retrospect meetings in the process. Team building and improved leading of teams. Teams need to able to work as teams and learning that, and learning to lead teams in more collaborative ways, takes a time. Improved communications tools. Anything that helps people to communicate better, yet provides a peaceful environment for those tasks and for persons that will benefit from it. Improved communication between distributed sites (including any subcontractor sites). No party should be left in a secondary role in communication.
29 29(37) Make time-consuming phases efficient Creation of external processes outside the incremental main development process. Clear understanding of at what times the validation related tasks need to be carried out. Making a very clear distinction between safety-critical and other requirements, and SIL levels So that the elements requiring validation or re-validation can be identified exactly. Efficient information systems so that any paperwork or routines or finding and checking of development records do not take time. Flexible arrangements for validation. If external validators are used, the situation can be reassessed could the validation be carried out internally?
30 30(37) Provide control Split requirements into smaller items, aiming for similar size to aid in planning and estimation. Improve meetings make them more frequent, get all people to participate; develop meeting cultures. Create dashboards and information systems that visualize the project's status to every-one.
31 31(37) Split the process A chain of events from planning of what to do, to evaluation of what has been achieved. Aiming for a demonstrative whole at the end of each increment. True planning in the beginning of an increment. Utilising real product development practices in defining requirements. That is, the input should be something that provides value: new use case, user story or similar, but NOT a technical specification or a change request. Change requests belong in the domain of maintenance, not in the domain of new product development lifecycle.
32 32(37) Increase number of releases Practice the making of release plans that are rougher and based on value and risk, not just technology and functions. The increment-based lifecycle can be exercised during implementing select features to implement and test during an increment and in the second phase, transfer more design work inside the increments. At the same time, the practices of architecture design need to be developed so that it can also evolve sufficiently. Development of release processes and practices so that all steps leading to the customer s utilisation of the product are as efficient as possible, yet do not compromise safety in any way. When the processes are in good shape, releases can be added in a controllable manner if there is benefit gained from that.
33 33(37) Add any other practices that bring value There are and will be many good practices in the agile culture. The idea is not to implement all of them, but only those that really bring value. For example, while pair programming an important old agile practice seems to have lost its appeal somewhat lately, it could be a tool in transferring practical knowledge and experience from older developers to new developer generation. Any mature software development shall not restrict its views to one paradigm only. The current agile culture did not just emerge, but is a result of process evolution, combining ideas and practices into a new whole. So, for new process development ideas one should look into many relevant areas, not just agility. Yet, in agile, things need to be kept simple.
34 34(37) Continuous improvement Keep improving the process and meeting any problems one at a time. The agile processes applied need to be developed further, just like any processes. Processes are only optimal in a given context and learning changes that not to mention any external influences from technology, changing standards and so on. Continuous improvement should have an important role in any organisation.
35 Read the report for more info 35(37) The full report, containing much more information: Vuori, M Agile Development of Safety-Critical Software. Tampere University of Technology. Department of Software Systems. Report p. Available at:
36 36(37) References 1/2 Vuori, M Agile Development of Safety-Critical Software. Tampere University of Technology. Department of Software Systems. Report p. Available at: Wikipedia. Agile software development. Available at: Larman, C.. Agile and Iterative Development. A Manager s Guide. Addison-Wesley. 342 p. Kruchten, P The Elephants in the Agile Room. Philippe Kruchten's Weblog. Available at:
37 37(37) References 2/2 Kennaley, M SDLC 3.0. Beyond a Tacit Understanding of Agile. Towards the next generation of Software Engineering. Fourth Medium Press. 280 p. Poppendieck, M. & T Implementing Lean Software Development: From Concept to Cash. Addison-Wesley. 276 p. Boehm, B. & Turner, R Balancing Agility and Discipline A Guide for the Perplexed. Addison Wesley. 266 p. Coplien, J.O. & Bjørnvig, G Lean Architecture: for Agile Software Development. Wiley. 376 p.
Testing of safety-critical software some principles
1(60) Testing of safety-critical software some principles Emerging Trends in Software Testing: autumn 2012 Matti Vuori, Tampere University of Technology 27.11.2012 Contents 1/4 Topics of this lecture 6
Comparing Plan-Driven and Agile Project Approaches
Comparing Plan-Driven and Agile Project Approaches A Personal Perspective Presented by: Craig D. Wilson Matincor, Inc. Copyright 2006-2010 2010 Outline Introduction to System Development Methodology Contrasting
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
Software 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
Software Engineering
1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software
Introduction to Software Project Management. CITS3220 Software Requirements & Project Management
Introduction to Software Project Management CITS3220 Software Requirements & Project Management "A project gets a year late one day at a time." "Anything that can be changed will be changed until there
Agile 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
A Viable Systems Engineering Approach. Presented by: Dick Carlson ([email protected])
A Viable Systems Engineering Approach Presented by: Dick Carlson ([email protected]) Philip Matuzic ([email protected]) i i Introduction This presentation ti addresses systems engineering
3C05: Unified Software Development Process
3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2
The Role of CM in Agile Development of Safety-Critical Software
The Role of CM in Agile Development of Safety-Critical Software Tor Stålhane1, Thor Myklebust 2 1 Norwegian University of Science and Technology, N-7491, Trondheim, Norway 2 SINTEF ICT, Strindveien 2,
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
Automated Acceptance Testing of High Capacity Network Gateway
Automated Acceptance Testing of High Capacity Network Gateway Ran Nyman 1, Ismo Aro 2, Roland Wagner 3, 1,2,3 Nokia Siemens Network, PO Box 1 FI-02022 Nokia Siemens Networks 1 [email protected], 2 [email protected],
How To Understand The Limitations Of An Agile Software Development
A Cynical View on Agile Software Development from the Perspective of a new Small-Scale Software Industry Apoorva Mishra Computer Science & Engineering C.S.I.T, Durg, India Deepty Dubey Computer Science
Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003
Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 18-19 The Unified Process Static dimension Glossary UP (Unified
Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution
Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Not this life cycle SE, Software Lifecycle, Hans van Vliet, 2008 2 Introduction software development
Rapid 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
What is meant by the term, Lean Software Development? November 2014
What is meant by the term, Lean Software Development? Scope of this Report November 2014 This report provides a definition of Lean Software Development and explains some key characteristics. It explores
Practical Agile Requirements Engineering
Defense, Space & Security Lean-Agile Software Practical Agile Requirements Engineering Presented to the 13 th Annual Systems Engineering Conference 10/25/2010 10/28/2010 Hyatt Regency Mission Bay, San
Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations
www.ijcsi.org 457 Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations Prakash.V SenthilAnand.N Bhavani.R Assistant
Model-Based Conceptual Design through to system implementation Lessons from a structured yet agile approach
Model-Based Conceptual Design through to system implementation Lessons from a structured yet agile approach Matthew Wylie Shoal Engineering Pty Ltd [email protected] Dr David Harvey Shoal Engineering
How Silk Central brings flexibility to agile development
How Silk Central brings flexibility to agile development The name agile development is perhaps slightly misleading as it is by its very nature, a carefully structured environment of rigorous procedures.
The Role of Agile Methodology in Project Management
Edith Cowan University Research Online Australian Information Warfare and Security Conference Security Research Institute Conferences 2010 Success of Agile Environment in Complex Projects Abbass Ghanbary
TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW
Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of
The most suitable system methodology for the proposed system is drawn out.
3.0 Methodology 3.1 Introduction In this chapter, five software development life cycle models are compared and discussed briefly. The most suitable system methodology for the proposed system is drawn out.
Agile with XP and Scrum
Agile with XP and Scrum Amit Goel National Agile Software Workshop @ Indore Agile India Conference Agile Software Community of India Disclaimer and Credits Most of material in this presentation has been
Agile Software Development compliant to Safety Standards?
DB AG/Christian Bedeschinski www.thalesgroup.com/germany Agile Software Development compliant to Safety Standards? Christian Scholz Thales Transportation Systems 2 / Content Motivation Agile Software Development
(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
As the use of agile approaches
What Does a Business Analyst Do on an Agile Project? By Kent J. McDonald Senior Instructor, B2T Training As the use of agile approaches increases, business analysts struggle to determine how their role
Value, Flow, Quality BCS PRACTITIONER CERTIFICATE IN AGILE SYLLABUS
Value, Flow, Quality BCS PRACTITIONER CERTIFICATE IN AGILE SYLLABUS BCS Practitioner Certificate in Agile Introduction: In the last decade Agile has moved from being an idea on the fringe of software development
The profile of your work on an Agile project will be very different. Agile projects have several things in common:
The Agile Business Analyst IT s all about being Agile? You re working as a Business Analyst in a traditional project environment, specifying the requirements for IT Developers to build. Suddenly everyone
Enabling Continuous Delivery by Leveraging the Deployment Pipeline
Enabling Continuous Delivery by Leveraging the Deployment Pipeline Jason Carter Principal (972) 689-6402 [email protected] Pariveda Solutions, Inc. Dallas,TX Table of Contents Matching
Enterprise Content Management (ECM)
Business Assessment: A Quick-Reference Summary Intro to MIKE2 methodology and phase 1 The methodology that will be used throughout the specialist track is based on the MIKE2 methodology. MIKE stands for
Taking the first step to agile digital services
Taking the first step to agile digital services Digital Delivered. Now for Tomorrow. 0207 602 6000 [email protected] @CACI_Cloud 2 1. Background & Summary The Government s Digital by Default agenda has
The style is: a statement or question followed by four options. In each case only one option is correct.
AGILE FOUNDATION CERTIFICATE SAMPLE FOUNDATION QUESTIONS WITH ANSWERS This document is a set of sample questions, in the style of the Agile Foundation Certificate Examination, which is a 60 question, 1
About metrics and reporting in model-based robot assisted functional testing
1 (13) Matti Vuori, 2014-01-10 RATA project report About metrics and reporting in model-based robot assisted functional testing Table of contents 1. Introduction... 1 2. Different tests have different
Product Derivation Process and Agile Approaches: Exploring the Integration Potential
Product Derivation Process and Agile Approaches: Exploring the Integration Potential Padraig O Leary, Muhammad Ali Babar, Steffen Thiel, Ita Richardson Lero, the Irish Software Engineering Research Centre,
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
www.testing-solutions.com TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes
www. TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes What is Agile Development? There are various opinions on what defines agile development, but most would
Introduction to Agile Software Development
Introduction to Agile Software Development Word Association Write down the first word or phrase that pops in your head when you hear: Extreme Programming (XP) Team (or Personal) Software Process (TSP/PSP)
Software Development Process Selection Approaches
The Journal of Applied Science Vol. 11 No. Vol. 2:45-50 11 No. 2 [2012] ISSN 1513-7805 Printed in Thailand Review Article Software Development Process Selection Approaches Phongphan Danphitsanuphan Department
Agile Processes and Methodologies: A Conceptual Study
Agile Processes and Methodologies: A Conceptual Study Sheetal Sharma Amity School of Engineering & Technology Amity University Noida [email protected] Darothi Sarkar Amity School of Engineering &
Continuous Delivery. Anatomy of the Deployment Pipeline (Free Chapter) by Jez Humble and David Farley
Continuous Delivery Anatomy of the Deployment Pipeline (Free Chapter) by Jez Humble and David Farley Copyright 2011 ThoughtWorks Inc. All rights reserved www.thoughtworks-studios.com Introduction Continuous
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
Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology
Process Methodology for Wegmans Deli Kiosk Version 1.0 Prepared by DELI-cious Developers Rochester Institute of Technology September 15, 2013 1 Table of Contents 1. Process... 3 1.1 Choice... 3 1.2 Description...
An 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
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
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
How 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
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
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
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
A Survey of Software Development Process Models in Software Engineering
, pp. 55-70 http://dx.doi.org/10.14257/ijseia.2015.9.11.05 A Survey of Software Development Process Models in Software Engineering Iqbal H. Sarker 1, Faisal Faruque 1, Ujjal Hossen 2 and Atikur Rahman
Classical 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
www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29 Created by Stephen Barkar - www.stephenbarkar.se
1 www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29 Purpose with the material 2 This material describes the basics of Agile and Lean and the similarities and differences between
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.
Testing in Scrum Projects
Testing in Scrum Projects Kalevi Evans Logica 2008. All rights reserved About Me Logica Suomi Oy (formerly WM-Data) Over 6 years experience Experience working in projects that apply the following software
What 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
Agile Models. Software Engineering 2004-2005. Marco Scotto ([email protected]) Software Engineering
Agile Models 2004-2005 Marco Scotto ([email protected]) Content Introduction Tame projects & wicked projects Win-Win Spiral software development model XP software development process Enforcing the
LECTURE 1. SYSTEMS DEVELOPMENT
LECTURE 1. SYSTEMS DEVELOPMENT 1.1 INFORMATION SYSTEMS System A system is an interrelated set of business procedures used within one business unit working together for a purpose A system has nine characteristics
Introduction to Software Engineering: Project Management ( Highlights )
Introduction to Software Engineering: Project Management ( Highlights ) John T. Bell Department of Computer Science University of Illinois, Chicago Based on materials from chapters 14, 15, and 16 of Object
SECC Agile Foundation Certificate Examination Handbook
Versions 2.0 Version Date Remarks 1.0 12/4/2012 Initial version 2.0 3/8/2008 REVISION HISTORY Updated knowledge areas Added questions examples Updated suggested readings section Page 2 of 15 Version 2.0
WHY THE WATERFALL MODEL DOESN T WORK
Chapter 2 WHY THE WATERFALL MODEL DOESN T WORK M oving an enterprise to agile methods is a serious undertaking because most assumptions about method, organization, best practices, and even company culture
CMSC 435: Software Engineering Course overview. Topics covered today
CMSC 435: Software Engineering Course overview CMSC 435-1 Topics covered today Course requirements FAQs about software engineering Professional and ethical responsibility CMSC 435-2 Course Objectives To
Introduction to Software Engineering
What is Software Engineering Introduction to Software Engineering Prof. Lyle N. Long [email protected] http://www.personal.psu.edu/lnl Sources of Material What is software? Software Engineering, 7 th Edition,
AGILE SOFTWARE DEVELOPMENT A TECHNIQUE
AGILE SOFTWARE DEVELOPMENT A TECHNIQUE Saurav Tiwari 1,Aasheesh Goel 2,Rajeev Sharma 3 1,2 Research Scholar,MCADept.,SRM University,NCRCampus,Modinagar 3 Asst. Prof.,MCADept.,SRM University,NCR Campus
Adopting Agile Testing
Adopting Agile Testing A Borland Agile Testing White Paper August 2012 Executive Summary More and more companies are adopting Agile methods as a flexible way to introduce new software products. An important
Lean Software Development
Lean Software Development Alexandre Boutin Responsable Stratégie International Développement Logiciel chez Yahoo Scrum Master & Practitioner Certifié Coach Agile Blog : www.agilex.fr Président du Club
Practical Experiences of Agility in the Telecom Industry
Practical Experiences of Agility in the Telecom Industry Jari Vanhanen 1, Jouni Jartti 2, and Tuomo Kähkönen 2 1 Helsinki University of Technology, Software Business and Engineering Institute, P.O. Box
Software Development Life Cycle Models - Process Models. Week 2, Session 1
Software Development Life Cycle Models - Process Models Week 2, Session 1 PROCESS MODELS Many life cycle models have been proposed } Traditional Models (plan-driven) } Classical waterfall model } Iterative
Nova Software Quality Assurance Process
Nova Software Quality Assurance Process White Paper Atlantic International Building 15F No.2 Ke Yuan Yi Road, Shiqiaopu, Chongqing, P.R.C. 400039 Tel: 86-23- 68795169 Fax: 86-23- 68795169 Quality Assurance
Business Analysis Essentials
Understand the business analyst's role and responsibilities in a successful project. In this introductory course, you'll delve into the role and responsibilities of the business analyst (BA)- the communication
Agile Development for Application Security Managers
Agile Development for Application Security Managers www.quotium.com When examining the agile development methodology many organizations are uncertain whether it is possible to introduce application security
Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles
Master thesis in Applied Information Technology REPORT NO. 2008:014 ISSN: 1651-4769 Department of Applied Information Technology or Department of Computer Science Bottlenecks in Agile Software Development
Balancing the Hybrid Development Process. The role of the Business Analyst
The role of the Business Analyst This document is intended as a guide only. Readers are advised that before acting on any matter arising from this document, they should consult FINNZ. 2013 FINNZ Limited.
Chapter 9 Software Evolution
Chapter 9 Software Evolution Summary 1 Topics covered Evolution processes Change processes for software systems Program evolution dynamics Understanding software evolution Software maintenance Making changes
Introduction... 2 Introducing the DSDM Agile Project Framework (AgilePF)...2 Introducing DSDM...2 Introducing Scrum...3
Contents Introduction... 2 Introducing the DSDM Agile Project Framework (AgilePF)...2 Introducing DSDM...2 Introducing Scrum...3 AgilePF for Scrum... 4 Philosophy...4 Agile Values...4 Principles...5 Variables...8
Agile Software Development. Mohsen Afsharchi
Agile Software Development Mohsen Afsharchi I. Agile Software Development Agile software development is a group of software development methods based on iterative and incremental development, where requirements
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
AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT
AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT Shivangi Shandilya, Surekha Sangwan, Ritu Yadav Dept. of Computer Science Engineering Dronacharya College Of Engineering, Gurgaon Abstract- Looking at the software
Agile Unified Process
INTERNATIONAL JOURNAL OF COMPUTER SCIENCE AND MOBILE APPLICATIONS - IJCSMA Agile Unified Process Charles Edeki Ph.D, American Intercontinental University, Department of Information Technology, 160 Parkside
Software Engineering. So(ware Evolu1on
Software Engineering So(ware Evolu1on 1 Software change Software change is inevitable New requirements emerge when the software is used; The business environment changes; Errors must be repaired; New computers
Continuous User Experience Development
Continuous User Experience Development Kati Kuusinen Tampere University of Technology Tampere, Finland Korkeakoulunkatu 1, FI-33101 Tampere [email protected] Abstract. Continuous approaches for software
Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal [email protected]
Using Simulation to teach project management skills Dr. Alain April, ÉTS Montréal [email protected] Agenda of the workshop 1 The software project management theory overview (40 minutes) 2 Why use SDLC
SYSTEMS, CONTROL AND MECHATRONICS
2015 Master s programme SYSTEMS, CONTROL AND MECHATRONICS INTRODUCTION Technical, be they small consumer or medical devices or large production processes, increasingly employ electronics and computers
DSDM Case Study. An Agile Approach to Software Systems Development for the Highways Agency
DSDM Case Study An Agile Approach to Software Systems Development for the Highways Agency Government agencies are constantly striving to develop software systems that support business objectives, deliver
Figure 2: DAMA Publications
Steve Hawtin, Schlumberger Information Solutions 14 th Petroleum Data Integration, Information & Data Management Conference The effective management of Exploration and Production (E&P) data has a major
Agile project management: A magic bullet?
Agile project management: A magic bullet? Prof. Darren Dalcher [email protected] Conferencia Iberoamericana de Calidad del Software Prof. Darren Dalcher 1 Outline I. What is agilility? The agile manifesto
When is Agile the Best Project Management Method? Lana Tylka
When is Agile the Best Project Management Method? Lana Tylka Staged Incremental Deliveries Prototypes Plan Develop Design Deploy Test Maintain Sequential Steps Multiple Iterations Waterfall Sprints, Spirals
Rapid 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
Driving Quality Improvement and Reducing Technical Debt with the Definition of Done
Driving Quality Improvement and Reducing Technical Debt with the Definition of Done Noopur Davis Principal, Davis Systems Pittsburgh, PA [email protected] Abstract This paper describes our experiences
Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1
The Role of Programming in Informatics Curricula A. J. Cowling Department of Computer Science University of Sheffield Structure of Presentation Introduction The problem, and the key concepts. Dimensions
Adapting Agile Software Development to Regulated Industry. Paul Buckley Section 706 Section Event June 16, 2015
Adapting Agile Software Development to Regulated Industry Paul Buckley Section 706 Section Event June 16, 2015 Agenda FDA s expectations for Software Development What is Agile development? Aligning Agile
Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler
Best-Practice Software Engineering: Software Processes to Support Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems [email protected]
Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc. [email protected] www.coveros.
Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc. [email protected] www.coveros.com 1 About Coveros Coveros helps organizations accelerate the delivery
Agile and Secure: Can We Be Both?
Agile and Secure: Can We Be Both? OWASP AppSec Seattle Oct 2006 Keith Landrus Director of Technology Denim Group Ltd. [email protected] (210) 572-4400 Copyright 2006 - The OWASP Foundation Permission
