P. 1
Aglime Methodology

Aglime Methodology

|Views: 6|Likes:
Published by Ranil Fernandopulle

More info:

Published by: Ranil Fernandopulle on Jun 02, 2011
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less






  • Agile & Adaptive Development
  • The Agile Manifesto
  • Education and Research in Agile Methods in Thailand
  • Agile Methods in Thailand
  • Topics
  • NaresuanUniversity University
  • IT--related Education in Thailand related Education in Thailand
  • Degrees being offered
  • Traditional Software Engineering
  • Engineering
  • 10 Knowledge Area
  • 8 Related Disciplines
  • What we teach
  • Industrial View
  • Digital Ecosystem Challenges
  • Culture effects
  • What we need to teach
  • Agile Manifesto
  • Our interpretation
  • Our approach
  • Agile Methods
  • On--going going
  • Q & A

Agile Development Methods; A Development Paradigm for the Digital Ecosystem and Agile Project Management

Presenters: Roy Morien1 Dr Farookh Hussain1 Dr Suradet Jitprapaikulsarn2 Mr Benjamin Scherry3
Digital Ecosystems and Business Intelligence Institute (DEBII) Faculty of Engineering (Computer Engineering), Naresuan University, Phitsanulok, Thailand. 3 Proteus Technologies Co. Ltd, Bangkok, Thailand
1 2

Format of the Presentation
Roy Morien
A brief history of agile development methods Definition of Agile Development & Lean Software Development Methods. Reference disciplines in product development, lean manufacturing and management will be discussed. Agile Methods, Scrum.

Dr Farookh Hussain
The similarity and conformity of agile development methods and the Digital Ecosystem, characterised as:
adaptive behavior, evolving species, collaborative behavior encompassing diverse species,

Format of the Presentation
Dr Suradet Jitprapaikulsarn
Agile development in education in Thailand Introducing Agile Development and Agile Project Management methods into University curriculum in Thailand teaching of agile methods in a software engineering course at Naresuan University, the potential for research in agile methods, both within and without the concept and practices of the Digital Ecosystem.

Mr Benjamin Scherry
Agile Development in business in Thailand Will present on his experience, and on the success of building Agile Development teams. The potential in Thailand as an out-sourcing development provider will be discussed

Support for Agile Development
A “New” Paradigm? Over 30 years old, really!! Harlan Mills, Debugging Techniques in Large Systems, Prentice Hall, 1976

“Software development should be done incrementally, in stages, with continuous user participation… so that at every step each (intermediate) system can be verified to be correct” “… Why do enterprises tolerate the frustrations and difficulties of such (Waterfall) development” - - in 1976
Source: Craig Larman, Agile & Iterative Development: A Managers Guide, Addison-Wesley, 2004

New…Last 30 Years?
Hawgood J. (ed) (1981) Evolutionary Information Systems, NorthHolland Naumann & Jenkins, Prototyping: The New Paradigm for Systems Development, MIS Quarterly, Sept. 1982 Jenkins, Prototyping: A Methodology for the Design and Development of Application Systems, Indiana University, 1983 Boar, Bernard, Application Prototyping: A Requirements Definition Strategy for the 80s,Wiley, 1984

“The currently endorsed rigorous definition approaches such as structured analysis...are not successful for defining many business applications.”
Jenkins & Fellers, An Annotated Bibliography on Prototyping, Indiana University, IRMIS Working Paper W613, 1986

J.” .” Martin.. Prototyping & Software Creation. J..software doesn't build. L. Rapid Application Development. Maxwell McMillan. it grows and evolves.. Rapid Evolutionary Development: Requirements. 1991 Arthur.New…Last 30 Years? “RAD has been demonstrated … to be so superior to traditional development that it seems irresponsible to continue to develop systems the old way” “It seems astonishing that the majority of IS organisations are still building systems so painfully slowly.. 1992 “. Wiley.

Our task is product DEVELOPMENT.J. more resourceful model of software development … that is. 1992 “We need to shift from the old models of software development and maintenance – viz construction and manufacturing . Rapid Evolutionary Development: Requirements. L.” ** ie: The Lean development concept that we are not manufacturing or engineering software. Wiley.. software evolution.to a new. Prototyping & Software Creation. NOT product PRODUCTION or MANUFACTURING. .Are We Really Engineering Systems? Arthur.

Importance of Software Prototyping. DoD Data & Analysis Center for Software. Software Tech News. Bernstein.2. L.Barry Boehm’s experiments showed that prototyping reduces program size and programmer effort by 40%” .1. Vol.The Waterfall Model is inherently flawed. 2002 “Modern software development demands the use of Rapid Application Prototyping” “Dr. No.

1976 “A complex system will be most successful if it is implemented in small steps and if each step has a clear measure of successful achievement …” “The advantage is that you cannot have large failures” An iterative. Software Metrics. Studentlitteratur AB (Sweden).What about Large Systems? Tom Gilb. adaptive development approach will substantially reduce project risk .

S. $32 million. Cost by 2002 $170 million.CS90 is no longer a project‘ (Source Plunkett. system delivered 3 years late. AddisonWesley. 2003) 1992 '... Feb... Banks Pay for the Wasteful Years.What about Large Systems? Some large system failures: 2005 : Australian Customs Cargo IS: original cost estimate $33 million. system predicted to be delivered by 2005 at a cost of $230 million.Westpac's (Banking Corporation) highly ambitious CS90 project was described as 'under review' after five years of development and an investment believed to be $200-$300 million. Lean Software Development: An Agile Toolkit. (Source: Poppendieck & Poppendiek.. cost by 2005 $250 million. 2002 : State of Florida Child Welfare System: original cost estimate in 1990.. delivery by 1998.21. 1992) . Business Review Weekly. failed substantially and caused major problems on the Australian import and export industries.

and 4 years late on the original schedule (Source Australian IT News.com.au/articles/0. and an additional ₤400 million in collateral expenditure in the broking industry) 2003 Australian Blood Management System cost from an estimated $4 million to $38. 2003) 1980’s: Bank of America (USD$70 million + substantial lost business) Many examples of large.What about Large Systems? 1993: London Stock Exchange share settlement system (terminated after the expenditure of ₤75 million.news. . http://australianit.html .8102859% 5e16123%5e%5enbv%5e. high cost. accessed December 9th.9 million.7204. project failures.00.

1996 Emphasises client involvement. before it was built. Greater than the sum of its parts. Software Development Magazine. and project visibility. See McConnell.sdmagazine.com/print/documentID=16025 The biggest obstacle that Structured Analysis faced was that it required the system designer to understand the whole system. Rapid Development. MIS Press. (One of the given “5 Habits of successful object-oriented project) “The application of a well-managed iterative and incremental development life cycle” (at page 25) .Agile & Adaptive Development Warren Keufell. 2001 http://www. Sept. in all of its details.

Object Solutions: Managing the ObjectOriented Project.org/what. XP empowers your developers to confidently respond to changing customer requirements. even late in the life cycle.extremeprogramming.Agile & Adaptive Development The People Dimension is considered to have the greatest affect on project success See Grady Booch.html “XP is successful because it stresses customer satisfaction. The methodology is designed to deliver the software your customer needs when it is needed. Addison-Wesley. 1996 “Involve real users throughout the software development process …” (at page 7) Article “What is Extreme Programming” http://www.” .

Adaptive Software Development to meet the challenges of a high-speed.Agile & Adaptive Development growing number of alternatives to traditional. July/August 2000.Using “Adaptive Software Development (ASD) is one of the . Software Testing and Quality Engineering. www.com.stqemagazine. ASD. Jim. high-change environment. Retiring Lifecycle Dinosaurs. Highsmith. Lean Development. processcentric software management methods. Extreme Programming (XP). SCRUM and Crystal Light methods …”.

The Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it Through this work we have come to value: Individuals and interactions Working software Customer collaboration Responding to change processes and tools comprehensive documentation contract negotiation following a plan That is. we value the items on the left more. . while there is value in the items on the right.

Deliver working software frequently.The Agile Development Manifesto http://agilemanifesto. even late in development. with a preference to the shorter timescale. Business people and developers must work together daily throughout the project.org/principles. Welcome changing requirements. from a couple of weeks to a couple of months. Agile processes harness change for the customer's competitive advantage. .html Principles behind the Agile Manifesto Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

Give them the environment and support they need. The most efficient and effective method of conveying information to and within a development team is face-toface conversation. Working software is the primary measure of progress.org/principles. and trust them to get the job done. Agile processes promote sustainable development. The sponsors. developers. and users should be able to maintain a constant pace indefinitely.The Agile Development Manifesto http://agilemanifesto.html Build projects around motivated individuals. .

Agile Development Methods – Definition of the Processes Waterfall Approach Guiding metaphor Focus Dynamic structure Manufacturing /Engineering Documentation. Methods & Tools”. “Agile Delivery at British Telecom. Summer 2006:20 . Preventive Approach Agile Approach Organic /Emergent People. Adaptive Approach Evans. Ian (2006). Schedule Cause and Effect. Working Code Chaordic (Ordered Chaos).

A. Journal of Computing and Information Technology 14(3): 197-206.A survey”. and on-site customer involvement”.Defining Agile Development “a departure from plan-driven traditional approaches. “Challenges in enterprise adoption of agile methods . . Mahanti. (2006). where the focus is on generating early releases of working software using collaborative techniques. code refactoring.

and F. Maurer (2005).Defining Agile Development “human centric bodies of practices and guidelines for building usable software in unpredictable. “Agile methods: A cross-program investigation of student's perceptions of agile methods”. Melnik. ACM Press. G. Software development projects are considered to be an unpredictable and highly volatile environment. . Proceedings of the 27th international conference on Software engineering ICSE'05. IEEE Computer Society. highly-volatile environments”.

. (2) Self-Organising and Self-Managing Teams: Significant responsibility is handed to the team members. rather than the Project Manager. Empirical and Adaptive: Project management practices that have been published to support ‘agile development’ practices are described as ‘empirical’. ‘evolutionary’ or ‘experiential’ rather than ‘prescriptive’.Agile Development: Definition People Focused: (1) Collaborative: collaboration between developers and clients is continuous and continual. ‘adaptive’. . to decide on the work to be done in the next iteration. or ‘preplanned’.

fully tested and certified extra feature or component of the system. the requirements in detail are continuously discovered.Agile Development: Definition Iterative: Development is achieved through a series of short iterations each of which produces a useable enhancement to the system. Evolutionary: the system grows in size. each of which produces a fully developed. Incremental: Development is achieved through a series of delivered increments to the system. . and are continually emergent during the development period.

in the iteration in which those requirements will be implemented.Agile Development: Definition Just-in-Time Requirements Elicitation: Requirements are stated in detail ‘just in time’ to develop them. the technology and the progress of the project. Knowledge-Based: Development activity is decided upon by the knowledgeable. with continual knowledge sharing about the product. . self-managing members of the team.

The Waterfall (SDLC) Model Requirements Definition System & Software Design Implementation & Unit Testing Integration & System Testing Operation & Maintenance Disappointment & Rejection (in about 72% of cases in 2000) .


Characterising Development Activity Software development is a “chaordic” activity. It cannot realistically be subject to “commandand-control” management History has shown that centrally planned. interests Interaction between players must be collaborative. Many players. A human activity. often singular. THUS … the Digital ECOSYSTEM Hussain Dr Farookh . C&C managed activities will fail almost inevitably. often joint. often symbiotic. competencies. needs. each with their own activities.

of Electrical and Computer Engineering Naresuan University Thailand .Education and Research in Agile Methods in Thailand Suradet Jitprapaikulsarn Dept.

Topics About Naresuan University IT-related education in Thailand Industrial views What do we teach? Where Agile may fit it An approach at ECPE Current State What’s Next Education and Research in Agile Methods in Thailand Copyright (c) 2008 Suradet Jitprapaikulsarn 28 .

Established as a public university 1990 58 undergraduate programs and 55 graduate programs Education and Research in Agile Methods in Thailand Copyright (c) 2008 Suradet Jitprapaikulsarn 29 .About Naresuan University Formerly a campus of Srinakharinwirot University.

IT-related Education in Thailand Number of Universities in Thailand: 151 Number of Universities offering IT-related degrees: 86 Education and Research in Agile Methods in Thailand Copyright (c) 2008 Suradet Jitprapaikulsarn 30 .

Education and Research in Agile Methods in Thailand Copyright (c) 2008 Suradet Jitprapaikulsarn 31 .Degrees being offered Computer Science Computer Engineering Information Technology Management Information System Business Information System Multimedia Software Engineering Information Engineering etc.

Traditional Software Engineering One course in the curriculum Two courses in the curriculum 4-year curriculum Education and Research in Agile Methods in Thailand Copyright (c) 2008 Suradet Jitprapaikulsarn 32 .

10 Knowledge Area Software Requirements Software Design Software Construction Software Testing Software Configuration Management Software Engineering Software Maintenance Software Engineering Management Education and Research in Agile Methods in Thailand Software Engineering Process Software Engineering Tools and Materials Software Quality Source: SWEBoK 2004 Copyright (c) 2008 Suradet Jitprapaikulsarn 33 .

8 Related Disciplines Computer Engineering Computer Science Management Mathematics Software Engineering Project Management Education and Research in Agile Methods in Thailand Quality Management Software Ergonomics Systems Engineering Source: SWEBoK 2004 Copyright (c) 2008 Suradet Jitprapaikulsarn 34 .

What we teach Fundamental Technical Knowledge and Skills How to be a good developer Waterfall model of development Education and Research in Agile Methods in Thailand Copyright (c) 2008 Suradet Jitprapaikulsarn 35 .

Industrial View Want: ready-to-use Actual: Good foundation but not pragmatic Want: latest technology Actual: 80’s concept is taught Want: versatile Actual: strong technical but little domain knowledge Want: discipline. self-motivated Actual: pleasure-seeker Education and Research in Agile Methods in Thailand Copyright (c) 2008 Suradet Jitprapaikulsarn 36 .

Problems with Traditional IT Education Instructor = Very good customer Homework Assignment = Unchanged requirement No change management No soft skill No discipline Education and Research in Agile Methods in Thailand Copyright (c) 2008 Suradet Jitprapaikulsarn 37 .

Education and Research in Agile Methods in Thailand Copyright (c) 2008 Suradet Jitprapaikulsarn 38 .Digital Ecosystem Challenges Increasingly rapid change Uncertainty and emergence Dependability Diversity Interdependence.

masculine short-term-oriented Thailand more community-oriented feminine long-term-oriented Education and Research in Agile Methods in Thailand Copyright (c) 2008 Suradet Jitprapaikulsarn 39 .Culture effects US more individualistic.

What we need to teach Learning to learn Quality-oriented Uncertainty Diversity Simulating real-world experience Education and Research in Agile Methods in Thailand Copyright (c) 2008 Suradet Jitprapaikulsarn 40 .

Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Education and Research in Agile Methods in Thailand Copyright (c) 2008 Suradet Jitprapaikulsarn 41 .

Our interpretation Skillful and self-directed Communication often Goal oriented Change handling Education and Research in Agile Methods in Thailand Copyright (c) 2008 Suradet Jitprapaikulsarn 42 .

Our approach Discipline first and foremost Encourage self-direction Test early and often Incremental Software Development Build-on-each-other Education and Research in Agile Methods in Thailand Copyright (c) 2008 Suradet Jitprapaikulsarn 43 .

Agile Methods Agile Modeling Agile Unified Process (AUP) Crystal Dynamic Systems Development Method (DSDM) Extreme Programming (XP) Feature Driven Development (FDD) Lean Software Development etc Copyright (c) 2008 Suradet Jitprapaikulsarn Education and Research in Agile Methods in Thailand 44 .

Agile Practices at Naresuan University User Stories Coding Standard Test-Driven Development Design Improvement Small releases using Time-boxing Continuous Integration Measure project velocity Education and Research in Agile Methods in Thailand Copyright (c) 2008 Suradet Jitprapaikulsarn 45 .

Sample //-------------------------------------------------------------------------// Data Definition // --------------// A student record (SR) is a structure consisting of // . }.student last name as string // .student birthday as Date //-------------------------------------------------------------------------struct StudentRecord { int id. Date birthday. int Phone.student id as number // .student Phone number as number // . std::string firstName. std::string lastName.student first name as string // . Education and Research in Copyright (c) 2008 Suradet Agile Methods in Thailand Jitprapaikulsarn 46 .

StudentRecord student_2 = { 322344. { 10.... r. //-------------// Code Pattern //-------------// . 5.birthday) .... r.. "Klimmer".. "Cruise". 136564566. 1960 } }.. 9.. // . "Pitt".. // .firstName . 1967 } }.. 523452345. Agile Methods in Thailand // . "Val". StudentRecord student_3 = { 547824...//-------------// Data Example //-------------StudentRecord student_1 = { 123456.. // .. { 25. G(StudentRecord r) // { // .. { 3.id .Phone in Education and Research. 7. 1965 } }. "Brad". 345463474. r.. r. // } Sample Copyright (c) 2008 Suradet Jitprapaikulsarn 47 .. "Tom".. F(r...lastName .

(d1. Date d2) { return (d1.//------------------------------------------------------------------------// @description determine whether the first date is prior to the second date // @param d1 the first date // @param d2 the second date // @contract older : Date Date -> boolean // @return true if d1 < d2.year) || Education and Research in Copyright (c) && nDay(d1) < nDay(d2)). date_3) == true //------------------------------------------------------------------------bool older(Date d1. date_2) == true // @example older(date_2. false otherwise // @example older(date_1.year 2008 Suradet 48 Agile Methods in Thailand Jitprapaikulsarn } Sample .year == d2. date_1) == false // @example older(date_2.year < d2.

On-going Integrating other practices Lean Agile Modeling AUP Education and Research in Agile Methods in Thailand Copyright (c) 2008 Suradet Jitprapaikulsarn 49 .

A Hegelian View of Software Engineering Evolution Boehm. May 25. A View of 20th and 21st Century Software Engineering. ICSE 2006 Keynote Address. 2006 Education and Research in Agile Methods in Thailand Copyright (c) 2008 Suradet Jitprapaikulsarn 50 .

Q&A Education and Research in Agile Methods in Thailand Copyright (c) 2008 Suradet Jitprapaikulsarn 51 .

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->