11 January 2007

🌁Software Engineering: Agile Development (Definitions)

[agile method:] "A software development process (life cycle model) that evolves a product in a series of rapid iterations (several weeks or less) using continuous involvement with end user representatives. Several variations exist." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"An evolutionary and highly collaborative approach to development in which the focus is on delivering high-quality, tested software that meets the highest-priority needs of its stakeholders on a regular basis." (Pramod J Sadalage & Scott W Ambler, "Refactoring Databases: Evolutionary Database Design", 2006)

"An IT development philosophy that argues in favor of quick, incremental implementations that focus on small, combined teams of users and developers, and quick turnaround of small slices of functionality. See Bottom-up development." (Evan Levy & Jill Dyché, "Customer Data Integration", 2006)

"An adaptive, iterative method or framework for developing software." (Victor Isakov et al, "MCITP Administrator: Microsoft SQL Server 2005 Optimization and Maintenance (70-444) Study Guide", 2007)

"A philosophy that embraces uncertainty, encourages team communication, values customer satisfaction, vies for early delivery, and promotes sustainable development." (Pankaj Kamthan, "Pair Modeling", 2008)

[agile methods:] "a lightweight, minimal-ceremony approach to software and system development emphasizing product quality, meeting customer needs, team collaboration, and responsiveness to change." (Bruce P Douglass, "Real-Time Agility: The Harmony/ESW Method for Real-Time and Embedded Systems Development", 2009)

"A group of software development methodologies based on iterative development, in which requirements and solutions evolve through collaboration between self-organizing cross-functional teams. Agile methods generally promote a disciplined project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization, and accountability, a set of engineering best practices intended to allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals." (Mark S Merkow & Lakshmikanth Raghavan, "Secure and Resilient Software Development", 2010)

"A term coined in 2001 with the formulation of the Agile Manifesto to refer to software development methodologies based on iterative development where requirements and solutions evolve through collaboration among self-organizing, cross-functional teams." (Paulraj Ponniah, "Data Warehousing Fundamentals for IT Professionals", 2010)

"A development approach that focuses on building projects incrementally using frequent builds." (Rod Stephens, "Start Here! Fundamentals of Microsoft .NET Programming", 2011)

"A group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"A group of software development methodologies based on iterative incremental development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams." (IQBBA, "Standard glossary of terms used in Software Engineering", 2011)

"An umbrella term for several lightweight development processes and specific practices that are designed to minimize process waste, while improving code quality and communications with project stakeholders." (Dean Wampler, "Functional Programming for Java Developers", 2011)

"The creation of working software through rapid iteration, focused on customer collaboration and self-organizing teams." (Jon Radoff, "Game On: Energize Your Business with Social Media Games", 2011)

"A method of software development that stresses quick development cycles; it is seen as an alternative to the 'waterfall' method." (Bill Holtsnider & Brian D Jaffe, "IT Manager's Handbook" 3rd Ed., 2012)

"A software-development methodology that emphasizes iterative and incremental development driven by cross-functional collaboration and co-location." (Evan Stubbs, "Delivering Business Analytics: Practical Guidelines for Best Practice", 2013)

"A development model where you initially provide the fewest possible features at the lowest fidelity to still have a useful application. Over time, you add more features and improve existing features until all features have been implemented at full fidelity." (Rod Stephens, "Beginning Software Engineering", 2015)

"An iterative and incremental approach to, typically, software development that involves short phases of work followed by checking that the work achieves the agreed upon goals and adapting to new information given market changes." (Pamela Schure & Brian Lawley, "Product Management For Dummies", 2017)

"A term used to describe a mindset of values and principles as set forth in the Agile Manifesto." (Project Management Institute, "Practice Standard for Scheduling" 3rd Ed., 2019)

"Agile is a rapid and flexible software development approach includes collaboration of self-organizing, cross-functional team and customer." (Sinemis Zengin, "Customer Centric Innovation in Banking Sector", Handbook of Research on Managerial Thinking in Global Business Economics, 2019)

 "A software development approach to convey rapid changes in the market and customer requirements on high-quality terms." (Fayez Salma & Jorge M Gómez, "Challenges and Trends of Agile", 2021)

"Agile is a development approach that delivers software in increments by following the principles of the Manifesto for Agile Software Development." (Gartner)

07 January 2007

🌁Software Engineering: Design (Definitions)

(1) The process of defining the architecture, components, interfaces, and other characteristics of a system or component. (2) The result of the process in (1)."  (IEEE," IEEE Standard Glossary of Software Engineering Terminology", 1990)

"A process that uses the products of analysis to produce a specification for implementing a system. A logical description of how a system will work." (Craig Larman, "Applying UML and Patterns", 2004)

"The activity of identifying and defining the architecture, components, interfaces, and attributes of a system or product. See also architectural design. (2) The result of the process in (1)." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"Analysis discovers what needs to be done. Design figures out how what has been analyzed, can and should be done." (Gavin Powell, "Beginning Database Design", 2006)

"The act of crafting a technological solution to fit the requirements, within the constraints." (Suzanne Robertson & James Robertson, "Mastering the Requirements Process" 2nd Ed, 2006)

"The process of optimizing an analysis model through the selection of design technologies, decisions, and patterns." (Bruce P Douglass, "Real-Time Agility: The Harmony/ESW Method for Real-Time and Embedded Systems Development", 2009)

"1.A deliberate, purposeful plan, layout, delineation, arrangement, and specification of the component parts and interfaces of a product or system. A logical design is an abstract design for fulfilling requirements without consideration for physical constraints. A physical design considers the requirements along with physical constraints. 2.Verb. To conceive, plan, define, arrange, and specify a product or system." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"A plan or outline to accomplish goals and purpose based on evidence and analysis. Degree of detail depends on the situation, such as prototypes and storyboards." (Joan C Dessinger, "Fundamentals of Performance Improvement" 3rd Ed, 2012)

"The process of defining how a system will be implemented; the objective is to use the available technology to implement the essential requirements so that the implemented system looks as much like the essential system, and hence the problem, as possible." (James Robertson et al, "Complete Systems Analysis: The Workbook, the Textbook, the Answers", 2013)

"Design is an iterative process and the goal is to describe the system architecture that will satisfy the functional and non-functional requirements. It involves describing the system at a number of different levels of abstraction, with the designer starting off with an informal picture of the design that is then refined by adding more information." (Gerard O’Regan, "Concise Guide to Software Engineering: From Fundamentals to Application Methods", 2017)

"Activity or process that identifies requirements and then defines a solution that is able to meet these requirements" (ITIL)

Related Posts Plugin for WordPress, Blogger...

About Me

My photo
Koeln, NRW, Germany
IT Professional with more than 25 years experience in IT in the area of full life-cycle of Web/Desktop/Database Applications Development, Software Engineering, Consultancy, Data Management, Data Quality, Data Migrations, Reporting, ERP implementations & support, Team/Project/IT Management, etc.