Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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 over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
Principles
1. Active user involvement is imperative - collaborative & cooperative approach by all
2. Requirements evolve but the timescale is fixed
http://www.agilemanifesto.org/principles.html
Agile Alliance
To satisfy the customer through early and continuous delivery of valuable software http://www.agilealliance.org/home The Agile Alliance exists to help more Agile projects succeed and to help the enthusiasts start more Agile projects. user groups:
http://www.agilealliance.org/show/1641
Agile Modelling
effective modelling and documentation of software-based systems more effective than traditional models because they are just barely good enough, they don't have to be perfect apply the 80/20 rule a collection of values, principles, and practices for modelling software that can be applied to requirements, analysis, architecture, and design in a light-weight manner for more, see
http://www.agilealliance.org/article/articles_by_category/20
5.
6.
DSDM
DSDM - more a framework than a method
Phase 1: The Pre-Project Phase 2: The Project life-cycle Stage 1: The Feasibility Study Stage 2: The Business Study
DSDM
Pre-Project phase
project is identified, funding is worked out and set up, commitment is sought and ensured
Feasibility Study
assessment of whether DSDM is the right approach for the project definition of the problem assessment of the risks assessment of the technical feasibility of delivering a system.
DSDM
Business Study
- attention on the business processes affected and their information needs - use workshops to gain consensus of the priorities of the development.
DSDM
Implementation
deliver tested system and documentation train implement review the business
Post-Project
keeps the solution operating effectively maintenance, fixes and enhancements using DSDM principles
XP - eXtreme Programming
eXtreme Programming is a discipline of software development based on principles of : communication simple designs, shared views simplicity of solution, then refactor feedback system , customer, team courage to refactor, throw away, persist respect from other four, from striving for quality
http://www.agilealliance.org/article/articles_by_category/12
XP - activities
XP describes four basic activities that are performed within the software development process Listening Designing Coding Testing significant points continuous testing, refactoring, pair programming, continuous integration, shared code ownership
Test-Driven Development
producing automated tests for production code, and using that process to drive design and programming. for every tiny bit of functionality in the production code, first develop a test that specifies and validates what the code will do. then produce exactly as much code as will enable that test to pass - then re-factor (simplify and clarify) both the production code and the test code.
3. 4. 5.
first step is to quickly add a test, basically just enough code to fail next, run your tests, often the complete test suite although for sake of speed you may decide to run only a subset, to ensure that the new test does in fact fail then update your functional code to make it pass the new tests run your tests again - if they fail you need to update your functional code and retest look for and remove duplication - clean up the test code
Speculate
project initiation to set the project's mission establish the time-box for the entire project
Collaborate
technical team delivers working software project managers enable and support collaboration and concurrent development activities.
Learn
four general categories of things to learn about at the end of each development iteration:
quality from the customer's perspective quality from a technical perspective the functioning of the delivery team and the practices team members are using project status
maximise the value of any given investment of people and productive resources by providing more meaningful, fulfilling work for the participants.
Lean Software Development applies lean thinking to the field of software development
practices appropriate to lean manufacturing or lean construction will not necessarily be appropriate to software development.
Review
Manifesto Agile Alliance DSDM XP Test Driven Development Adaptive Software Development Lean Software Development