1. February 2013
Large-scale software project.
Who is who and what are they?
Damir Tenishev
Ph.D., Project Manager, Development Functional Lead
www.ExigenServices.com
2. Wow! I like it!
• Tiny software project • Characteristics
– One person do everything – No requirements
• Everything is – No architecture
– Generate idea – Minimalistic user interface
– Coding, coding, coding – No documentation
– Getting fun
2
3. I can do everything!
• Very small software project • Characteristics
– One person do everything – Mostly late
• Everything is – Short life time
– Understanding goals – Home made software
– Understanding business – Solves very specific task
– Gathering requirements – Operates on very specific
– Design user interfaces environment
– Develop architecture – Poorly documented
– Coding, coding, coding – Perfunctory tested
– Testing and debugging
– Documenting
– Commissioning
– Support
– Sleep (optional)
3
4. Hi, guys I have a job!
• Small software project • Characteristics
– Developers are developing – Specific task or small solution
– Lead to everything – Repeatable
• Everything – Average life time
– The same plus… – Operates on very specific
– Leadership environment
– Management – Perfunctory documented
– “Dirty” work
4
5. Bye-bye, childhood !
Project type Size, KSLOC Size, man/years
Simple workflow system 200 15
3D Game (with engine) 400 150
Average business solution 600 400
Air Traffic Controller 1 000 2 100
Space Shuttle software 25 000 22 000
Windows XP 50 000
Maс OS X 86 000
To build average business solution in 4 years you need a team of 100+ people.
5
11. Support
Technical Librarian Trainer
writer
Admin Human Marketing Community
(helpdesk) Resources suppport
(HR)
11
12. Management
Project Delivery Team lead Scrum Division
manager manager master manager
Development Technical Functional Regional
manager lead lead manager
12
14. Specializations
Peopleware,
processes
Platform,
technologies,
language
Business
14
15. Teams and Task Forces
• Data migration team
• Emergency team
• Tests support
• Localization team
• Research and development (R&D) team
• Performance tuning team
• Stability testing team
• Scalability management team
• Support team
• Triage team
• Training team
15
16. To be continued… communicate!
No one knew what rabbit thought,
because he was very well-mannered.
16 Damir.Tenishev@exigenservices.com