3. APPLICATION LIFECYCLE MANAGEMENT
(ALM)
• Application lifecycle management is the concept of managing
your software development project throughout all phases of its
life.
5. APPLICATION LIFECYCLE MANAGEMENT
(ALM)
• Development
– One or more Software Development LifeCycles (SDLC’s)
– Each SDLC contains requirements definition, analyses, design,
development and testing
– Deployment after first SDLC
10. MICROSOFT TEAM FOUNDATION SERVER
(TFS)
• Tooling evolution
• Team development tools
– 1st generation (<2008): best of breed
– 2nd generation (>2008): end-to-end flow
• Hard to adopt
– Impacts multiple roles
– Impacts development proces
13. The real world (in Centric Belgium – Retail)…
AGILE SOFTWARE DEVELOPMENT
14. AGILE SOFTWARE DEVELOPMENT
• Manage/minimize impact of projects risks:
– Work in small Scrum team: 4 - 8 FTE
– Build product incrementaly during 3 week Sprints (iterations)
– Split-up scope in small User Stories (work items)
– React to change by organizing a planning, review and retrospective
meeting during each Sprint (iteration)
1 day
3 weeks
Sprint
Backlog
Completed
Work
Daily
Scrum
Iteration
Planning
Meeting
Iteration
Retrospective
Meeting
Iteration
Review
Meeting
Scrum of scrums
15. AGILE SOFTWARE DEVELOPMENT
• Continuous delivery
– Why do continuous delivery?
• Developers work on their local machine
• Integration of local changes is (often) difficult
• Integration should be done as soon as possible
• Early feedback is valuable
– How do we do continuous delivery?
• Code repository
• Build automation
• Test automation
• Easily deployable
Stappen:
Business case development: deze analyse gebeurt voor het development proces start. Pas na goedkeuring van de business case start de ontwikkeling van de applicatie.
Project portfolio management: management van het project door een project manager of eventueel één van de teamleden. In een meer formele aanpak kan dit opgenomen worden door een Project managment office (The PMO is the source of documentation, guidance and metrics on the practice of project management and execution) om vastgelegde procedures af te dwingen
Application portfolio management: governance fase na ontwikkelen van de applicatie. Application portfolio management omvat eigenlijk businiss case en project portfolio management voor elke revisie op de development lijn. Om zo continue een duidelijk beeld te hebben voor voordelen en kosten van de applicatie.
SDLC kunnen op verschillende manieren opgenomen worden:
Waterval principe
Iteratief (agile)
...
Oplevering na eerst SDLC markeert meestal niet het einde van development. Periodieke updates en/of nieuwe versies zijn meestal nodig. In veel gevallen overtreft de kost hiervan de kost van de initiële ontwikkelingskost (= belang van governance!)
Monitoring is een continue process tot end-of-life
Deployment is gekoppeld aan een development SDLC
70’s: aparte tools voor elke specifieke taak (ontwikkelen, compileren, builden,...)
80’s: integratie van editors en compilers in IDE’s = developers productiever
90’s: eerste generatie van team development tools
IDE’s vlug opgepikt omdat het enkel een wijziging was voor de ontwikkelaar, geen impact op de rest van de organisatie