Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Christ Vriens@Agile Community Event - March 19th, 2009
1. Agile software development
in practice
Christ Vriens
Software Engineering Services (SES)
MiPlaza – Systems Creation
Our MiPlaza video is on line:
http://www.miplaza.com/video/MiPlaza%20overview.html
2. Software Engineering Services (SES)
Started in 2000, now 80 software engineers
Certified for CMM L2 and ISO9001
(co-)Develop software part of devices…
…which are safe and effective,
…and meet applicable regulatory requirements,
…in an efficient way!
Evolutionary path from idea to business
offering “right quality” at each stage
Strong focus on Agile SW development
eXtreme Programming
Scrum
2
3. Evolutionary path from idea to business
Mock-up
Good weather tests
Prototype
+ Bad weather tests
LabVenture
XP@Scrum
+ all …ilities
Incubator
Product
3
4. enabling
open innovation
Examples from our project portfolio
4
5. The iPill System
Hardware &
software developed
by MiPlaza
Systems Creation
Manufacturing of
pills by AppTech Batteries
Electrical Motor Drug Reservoir
Integrated:
Greenhouse Microprocessor
Wireless transceiver
Temperature sensor
Portable
Unit A
ID
018
Portable
Unit B
Foil Seal
Flex Circuit
Contro
l Portable Unit C
pH Sensor Antenna
Center
5
7. Entertaible (Entertaining Table)
Tabletop gaming platform that
combines traditional multi-player
board and computer games in a
uniquely simple and intuitive way
7
8. Lifestyle and Healthcare domain
• Same urgency in both domains:
Deliver more functionality at lower cost, with higher
and continuous quality and yield demonstrable value
more quickly while responding to changing business
conditions and user needs during development
8
9. XP@Scrum
• XP: focuses on engineering practices
• SCRUM: focuses on process
• The SES WoW combines XP, SCRUM and some
common sense
9
13. Typical Developer’s Day
Stand Up Meeting
at 9:00
Dynamic
Pairing
Sign off
Refactoring
Task
All tests shall succeed
All tests shall succeed
Development
Integration Go Home
Unit Test
When Tired
Added test shall fail
Implementation
Added test shall succeed
13
15. Quality System Deliverables for Software
Design For Lifestyle domain based on Additional for Healthcare
Controls ISO 9001 and CMM L2.5 domain based on
ISO 13485 and FDA QSR
Planning Project Management Plan, Interfaces Liability, System V&V Plan,
Risk Management Plan
Input Product (FRS?) and Sprint backlogs URS, SyRS, SRS
Output Architectural designs and decisions, SDD, Traceability Matrix,
source code, executables, makefiles, Audit Trails (= recordings
configuration files, installation procedures of changes made)
Review Retrospectives, QA checks,
Fagan inspections, Management reviews
Verification Unit tests
Validation Acceptance test specifications Test Reports, RM sheets,
Tool Validations
Transfer Minutes, status reports, user and Design History File
operator manuals, release notes
Changes CR/PR database, CCB minutes, revision Justification of changes
15
history
16. Release 1.0
Customer/Manufacturer responsibility
3-6 calendar months
Inception Ship Release 1.0
Accepted FRS 1.0
Design Transfer
Accepted SyRS 1.0
Accepted SRS 1.0 Validation Spec 1.0 Clinical Validation
Informal Design Transfer
Release Plan 1.0
Retrospection 1.0
Verification
Software team responsibility
Accepted SDD 1.0
Spec 0.1
Accepted SRS 1.1 & VS 1.0
SDD 0.1
Release Bug fixing; review and
2-4
Iteration(s) Sign-off of deliverables
weeks
16
30. How to behave as a Manager in an Agile
Organization
• No micro management as engineers will lose energy and self-
direction resulting in an initiative-lacking organisation. Let your
engineers have full authority to do whatever is necessary to
meet their commitments within defined organizational
standards
• Time boxing is no way to demand working in overtime at every
iteration; keep a sustainable pace
• Minimal (barely sufficient) bureaucracy
• Take your right to say ‘no’: don’t work with customers who
don’t play their roles as required by the process!
• Celebrate success
• Planning is a means of communication
30
31. (Some) Challenges on the Path to Agile
from the viewpoint of a manager
• Most people are afraid of new ways of doing things
• Organizational change is not top-down or bottom-up, but
participative at all levels
• You can’t learn it out of a book or from a presentation
It also doesn’t work if followed rigidly
Adapt it to your particular environment
• Find the right coach
• Hire the right engineers (no fixed roles, teamwork, verbal
communication, …)
• Customers reaction on refactoring, pair programming, and
on-site customer
Customer defines WHAT, in what ORDER but not the HOW
Offer customers to only fund the first couple of iterations
• Readiness assessment e.g. whole team in same location 31
(open space without barriers and lots of whiteboards)
32. Agile team members are not afraid to
• Stop when they are tired (XP = Revenge of the programmers!)
• Let every business decision be made by the customer
• Ask customers to reduce the scope of a release
• Ask their peers, or customers, for help
• Design and implement only what is needed for today, trusting that we can
add, tomorrow, what will be needed tomorrow
• Make changes that improve the function or structure of code
• Throw code away
• Change the process when it’s not working
32