Professional Documents
Culture Documents
Agenda
Of the work executed: Many (possibly most) organisations lose as much as 45% of their total revenues due to costs associated with low quality
Six Sigma
Some 75 percent of most large-scale J2EE projects fail by missing both time and budget projections
RUP (Rational) user Incremental, driven, low process RAD Object oriented, (James Martin) iterative, time-boxed, user driven RUP Prototyping, iterative, time-boxed, user driven RAD SPIRAL MODEL (Barry Boehm) V-MODEL (Anon) Iterative Spiral Model Aligns testing to Waterfall development V-Model
1960
1970
1980
85
91
98 99
Agile Misconceptions?
Agile means:
letting the programming team do whatever they need to with no project management, and no architecture, allowing a solution to emerge, the programmers will do all the testing necessary with Unit Tests
What is Agile?
http://www.agilemanifesto.org/
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.
Management can tend to value the things on the 6 right over the things on the left
Each teams member answers 3 questions: 1) What did I do since last meeting? 2) What obstacles are in my way? 3) What will I do before next meeting?
Prioritised Requirements & Features Backlog Applying Agile: 7 Continuous integration; continuously monitored progress
3.
Test First Programming Test First without code The Planning Game - Business Stories - Customer decides, Prog. Implements Small, Frequent Releases
- Release early and release often
7.
8. 9. 10.
4.
5.
6.
Always use the Simplest design that adds business value System Metaphor - Programmers define a handful of classes and patterns that shape the core business problem and solution - Like a primitive Architecture On-site Customer - Customer has authority to define functionality - encourages face-to-face dialogue
11.
12.
Refactoring Restructuring code without changing its functionality - Mainly Simplification Pair Programming Collective Code Ownership Coding Standards - Everyone should use the same coding styles. Continuous Integration - At least a few times a day - All unit tests must pass prior to integration - All functional tests must pass afterwards Forty Hour Week ! - Tired programmers write poor code and make more mistakes
Accounting system annual accounts, monthly returns Legal and regulatory controls Shareholders 3 year plans, annual plans Interface with other organisations SLAs Reward System, annual event not immediate
10
Random Example
11
Approach to Change
Scope of change island or wholesale Prerequisites for change Blockers & enablers - timing
Collaborative working Iterative projects Visual Modelling Risk based prioritisation Requirements Management Change Management Configuration Management Tools Traceability
13
Least Useful
Get buy-in of senior management Communicate to all Use experienced people Dont trust blindly
effort = people * environment *size
- Walker Royce
14
(process)
Advantages
Single place to look Easy alignment People already understand parts May lead to confusion External staff dont know it Overlaps and/or gaps
15
Disadvantages
Project Assurance
(monitoring adherence to process and feedback for Software process improvement)
Organisational Level
Micro-level tailoring
Project Level
16
People Team rewards Celebrate success Leadership management must ask the right questions Communication, brown bags etc. Understand perceptions of success, what does finished mean? Quality/stage gates Senior Management control Estimating and budgeting Real options Portfolio planning Structure of the organisation
17
Estimating
This will prove problematic Identify an approach early, keep reviewing it Ideal model is to use a model calibrated with the actuals captured from your organisation, but . Use model with someone else's metrics Use Industry model
19
Addressing it
Convince management to make a fixed investment to establish costs
20
Senior management must give authority and control to IT Use a portfolio management approach
Define portfolio segments Apportion available budget Revalidate at stage gates, for balance and progress
21
Stage gate 3
Based on commodity options right but not an obligation to buy at a point in the future Investment is continued only in favourable conditions, use probability models to predict future likelihood of return Can hedge different investments Allows management to be in control Share holders like it
22
Lockhead Martin needed to develop secret projects, outside formal control Formed in June 1943 Burbank CA 14 rules to ensure efficiency similar to XP principles Now seen as technique for introducing change but
23
XP
No Change
Agility required
Existing Structure
Use integrated teams Sort out the development environment early Choose tools carefully Enterprise architecture is important for large/long lived systems One person needs to own the process vision with support from many Use partners experienced in the method
25
Immersion for the project Briefings for the rest of the company
26
Summary
The organisation will have to change too More you have to change the harder it is
27
Resources
28
Contact Details
Chris Cooper-Bland Senior Architect Chris.cooperbland@endava.com
29