How much architecture? Reducing the up-front effort MICHAEL WATERMAN, JAMES NOBLE, GEORGE ALLAN 1 Agile India 2012.

Slides:



Advertisements
Similar presentations
Chapter 14: Usability testing and field studies
Advertisements

Critical Reading Strategies: Overview of Research Process
The Robert Gordon University School of Engineering Dr. Mohamed Amish
Logical structures of academic discourse: from outline to literature review John Morgan.
MindtheAvalanche - homeexperiencesgalleryforumlinkscontact exercise human factors solution introduction terrain options people risk-management basics decision-making.
Starting Guide for Research Proposal IIC University of Technology The Kingdom of Cambodia IIC University of Technology The Kingdom of Cambodia 1IIC University.
Agile Architecture Prabhu Venkatesan for COMP-684.
Alternate Software Development Methodologies
Social Research Methods
Quantitative vs. Qualitative Research Method Issues Marian Ford Erin Gonzales November 2, 2010.
Developing your Introduction MUSE E599 September 30, 2014 By Dr. Ramon Sanchez, updated by Kathy Burton Jones.
Chapter 14: Usability testing and field studies. 2 FJK User-Centered Design and Development Instructor: Franz J. Kurfess Computer Science Dept.
Chapter 14: Usability testing and field studies. Usability Testing Emphasizes the property of being usable Key Components –User Pre-Test –User Test –User.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
How to prepare better reports
Model Building and Simulation Chapter 43 Research Methodologies.
Research Methods for Business Students
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Outline: Research Methodology: Case Study - what is case study
WRITING A RESEARCH PROPOSAL
Factors affecting contractors’ risk attitudes in construction projects: Case study from China 박병권.
QUANTITATIVE METHODS I203 Social and Organizational Issues of Information.
How does classroom discussion and questioning affect students’ learning?
Research Methods and Design
Strategic Information Systems Planning
Chapter 14: Usability testing and field studies
What factors enhance student teacher understanding of tacit knowledge when working with experienced teachers? Nicola Warren-Lee Background – Ed D research.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Literature Review and Parts of Proposal
Chapter 13: Developing and Implementing Effective Accounting Information Systems
© New Zealand Ministry of Education copying restricted to use by New Zealand education sector. Page 1 Consider the Evidence Evidence-driven.
Qualitative and Quantitative Research Quantitative Deductive: transforms general theory into hypothesis suitable for testing Deductive: transforms general.
1 Research Methodology Model. 2 Hypothesis a prediction of what is the case (fact) based on theory Conclusions Observation (s): Phenomena; Problem (Tree)
Integrating Usability Engineering and Agile Software Development: A Literature Review 陳振炎教授 楊哲豪
IT Technical Support 1. Introduction Technical support personnel offer support for individual and organizations in a variety of ways. This module focuses.
The Conclusion and The Defense CSCI 6620 Spring 2014 Thesis Projects: Chapters 11 and 12 CSCI 6620 Spring 2014 Thesis Projects: Chapters 11 and 12.
Taking the Chair A National Development Programme for Chairs, Vice- Chairs and Chairs of Committees Module Two Activity 2.1 OHT 1.
Internal communication Communication Audits – and what they can do for your organization.
The Creative Problem Solving Pack. The following pages provide separate packs that you can use in the following situations. * Creative problem solving.
Ebrahim Talaee Tarbiat Modares University (Tehran, Iran) and University of Bamberg (Germany) Hamideh Bozorg Tarbiat Moadares University, Tehran, Iran The.
Chapter 2  2000 by Prentice Hall. 2-1 How Businesses Use Information Systems Uma Gupta Introduction to Information Systems.
FOR 500 PRINCIPLES OF RESEARCH: PROPOSAL WRITING PROCESS
LEVEL 3 I can identify differences and similarities or changes in different scientific ideas. I can suggest solutions to problems and build models to.
Cognitive Level of Analysis
What grounded theory is not
Young people’s research: Who Cares? Scotland’s advocacy services Sharon Smith Jimmy Paton Laura Dooley Kourtney Stewart David Miller.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Introduction Chapter 1 and 2 Slides From Research Methods for Business
The Scientific Method n 1. n 2. n 3. n 4. n 5.. The Scientific Method Collect information by observing nature.
Investigating service user ethical priorities in psychological research Rachael Carrick.
Discuss how researchers analyze data obtained in observational research.
What is Research?. Intro.  Research- “Any honest attempt to study a problem systematically or to add to man’s knowledge of a problem may be regarded.
Copyright © 2011 Wolters Kluwer Health | Lippincott Williams & Wilkins Chapter 1 Research: An Overview.
Unit 5 Research Project Worthing College Sports Science Liam Lee 2015.
Formulating a research problem R esearch areas and topics.
Research Philosophies, Approaches and Strategies Levent Altinay.
Outline Structure of Action Research Project Trudy Corrigan October 2008.
Fifth Edition Mark Saunders, Philip Lewis and Adrian Thornhill 2009 Research Methods for Business Students.
Research Project Our school is called Elworth Hall Primary school. We are located in Elworth, a small area within Sandbach. There are approximately.
Research Design. How do we know what we know? The way we make reasoning Deductive logic Begins with one or more premises, reasoning then proceeds logically.
BE ABLE TO SELECT AND APPLY FAULT REMEDIES TO IT SYSTEMS.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Fundamentals of Information Systems, Sixth Edition
Quantitative vs. Qualitative Research Method Issues
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Introduction If you have got a call for an Agile testing interview, then congratulations are in order. You may be feeling nervous, but it sure to be felt.
CISD District Science Fair
Nanotechnology & Society
Presentation transcript:

How much architecture? Reducing the up-front effort MICHAEL WATERMAN, JAMES NOBLE, GEORGE ALLAN 1 Agile India 2012

Outline 2 2 Introduction 1 Research Method Work Done 3 Conclusion 4 2

Introduction Software architecture can be defined as “the set of significant decisions about the high level structure and the behavior of a software system”. Architecture planning involves making system-level decisions such as the hardware platform, development technology and architectural patterns. Any changes required at the architectural level may therefore affect the whole system. Architecture design is therefore an exercise in planning ahead. 3

Introduction (Cont.) However one of the key principles of agile development is to not plan ahead, codified by the extreme programming (XP) mantra “you ain’t gonna need it”. Development without architecture planning risks failure. This leads to an apparent paradox: how can you design an architecture while using a methodology that promotes not planning ahead? This research will explore this paradox and investigate the effects that the architectural skills, judgment and tacit knowledge of the development team. 4

RESEARCH METHOD BACKGROUND METHOD 5

Background 6 The most appropriate type of research for investigating up-front architecture is inductive research It develops theory from the research, unlike deductive research which aims to prove (or disprove) a hypothesis Because of the scarcity of literature on the relationship between architecture and agile, it has not been possible to develop hypotheses (or a hypothesis) to test using deductive methodologies.

Method 7 Grounded Theory was selected because it allows the researcher to develop a substantive theory that explains the processes observed in a range of cases. In this Grounded Theory research, data was collected through semi-structured interviews with agile practitioners who have knowledge of architecture, such as architects, developers and project leaders. Finally, using these categories and their inter-relationships to derive the emerging theory.

WORK DONE INTERVIEWS WORK DONE 8

Interviews 9 Eleven interviews with agile practitioners New Zealand and UK Variety of roles and project types

Using predefined architecture 10 Participants talked of a number of types of predefined architectures such as: template architectures vendor recommended architectures tools that automate design

Using predefined architecture 11 Some participants noted that template architectures, where the team selects an off-the-shelf architecture and “fills in the gaps”, are becoming increasingly common: “[...] a lot of vendors now have what they call candidate or template architectures, it’s just going to be one of those.” (P1)

Intuitive architecture 12 A number of participants noted that the high-level architecture could be determined intuitively. When P4 was asked how he decided on his architecture, he replied: “...so because I know it needs to scale to 2000 users, [...], means that it’s got to be three tier, and means that instead of just writing it to a flat file I will have a database...” (P4)

Having architectural experience simplifies decision making Two contradictory views emerged on experience: having experience simplifies decision making, and lack of experience simplifies decision making: P3 and P6 gave examples of experience simplifying decision making: 13 “Very often, if you’re experienced, you’ll know, you could write down three options and you’d know if you do it this way you’ll have these problems; you can make a value judgment much more efficiently.” (P6)

Having architectural experience simplifies decision making On the other hand P1 gave an example where a lack of experience restricted his options to just one:  He then noted that if he knew C# he would have used it, implying the older technology (ASP/VBScript) was possibly not the best solution. 14 “With the prototype I chose ASP because I knew it, I could do VBScript, I didn’t know C#” (P1)

Being familiar with the architecture 15 While some participants felt that being experienced was helpful, other architects suggested that familiarity with the particular architecture was important to them: “Part of my current productivity might be because I am working in a system that is in an architecture that I’m very, very familiar with” (P6)

Being familiar with the architecture 16 while P8’s team, though experienced, recognized they were not familiar with the architecture and where its traps and pitfalls lay, so sought assistance: “[We] went out to find people who’d done similar systems […] so we were able to go to them and [ask], ‘what’s your architecture, can we have a look at it, why have you made these decisions?’ ” (P8)

Simplifying architecture design 17 Using predefined architecture Having architectural experience simplifies decision making Intuitive architecture Being familiar with architecture Simplifying architecture design

CONCLUSION FINDINGS CONCLUSION 18

Findings 19 Predefined architectures allow a team to reduce the amount of work required to develop an architecture, and therefore the amount up-front planning that is required but retain the benefits of an explicitly design architecture. Having a broad architectural experience simplifies the decision making process through tacit knowledge: as you become more experienced you learn the advantages and disadvantages of different solutions, and therefore become better at designing architecture. So that an experienced architect can make decisions intuitively with little architectural effort

Findings (Cont.) 20 Even experienced architects may run into problems if they are not familiar with the architecture they are working with because they may not be aware of the areas that can cause problems. Familiarity allows the team to know where to focus their efforts and to avoid problems

Conclusion 21 These preliminary results are based on an initial analysis of eleven interviews. The next steps of this research will be additional interviews and the analysis of the ensuing data. Our focus for additional interviews will be on expanding the category included in this chapter, which relate to reducing the amount of architectural design. Plus developing additional categories that will also help determine the balance between architecture and agile, and thus answer the question “how much architecture?”

22