SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Software development process
for outsourcing team
Mykhail Galushko
co-founder DevRain Solutions, Microsoft MVP
mykhail.galushko@devrain.com
What makes you unique
1. Deep expertise and rich portfolio
2. Avoiding common mistakes
3. Good management and development process
4. Using best tools
Development is non-linear process
1. Increasing number of team
members == increasing of
communication complexity
2. Development is not about time
and resources, it is about people
and services
3. Productivity of junior/middle
developer and “guru” may differ
up to 5-10 times
Error cost (cone of uncertainty)
At the beginning of any project we
don’t know exactly how long a
project is going to take.
No two ever projects have:
• The same requirements
• The same people
• The same business context
• The same technology
• The same priorities & constraints
Parkinson's Law
Parkinson's Law states
that work expands to fill
the time available for it.
Result? Extra time gained
is wasted.
Zone of improbability
9 women can’t make a baby in a month
*25% - max volume of project squeezing time
Fred Brooks “Mythical man month”, 1975
“Zero” stage
Estimation, environment installation (staging
and production), creating accounts for all
team members, understanding roles and
management flow
*it’s good to have “zero” stage completed as soon as possible
Simple estimation model
Hourly rate * hours * 1.3 = project cost
~30% - project risks (employees search, bug fixing, requirements missing, illness, lacks of
communication, lazy developers)
Payable hour != standard hour
Two estimations (best/worse cases)
(Cbc * Pbc) + (Cwc * Pwc)
• Cbc – cost (best case)
• Pbc – probability (best case)
• Cwc – cost (worse case)
• Pwc – probability (worse case)
Real cost will be higher than best/worse
average cost.
Quick estimation for mobile apps
• iOS (iPhone + iPad)
• Windows Phone + Windows 8
• Android
Assume Windows Phone = 1 unit
1 (WP) + 0.75 (Win8) + 1.5 (iPhone) + 0.5 (iPad) + 2 (Android) =
5.75 (units)
Different goals
Customers are worried about business
Developers are worried about technologies and ideal code
Communication
Ask yourself do you know:
• who determines the business strategy of
the project?
• who will evaluate the quality of your
work and what is “project done” criteria?
• how many bosses do you have?
• who has the final voice in decisions?
Roles not titles
Job title == many roles
1. Every team member should
know his roles.
2. Avoid too many “bosses”
(ideally just one).
Funnels (measure user conversion rates)
Give your customer such
answers:
• how many users logged in?
• how number of logins changed after
implementing a new design?
• how many users navigated from page
1 to page 2?
• how many users clicked such button?
• etc.
Process highlights
1. With integration to customer’s process
Team should be totally aware with customer’s business process.
2. Without integration to customer’s process
Teams use own process internally and use a “public interface” to customer’s business
process. Interfaces can be differ with different customers.
3. Orientation on result, not the process
Agile is not good in all 146% cases. Sometimes F*ckup Development works better.
Process highlights
1. UX/UI & guidelines & graphic design
Exactly in this order
2. If development for several platforms
Make at least alpha version for the one platform with real data, than – other platforms
3. Avoid “not invented here” philosophy
Don’t hesitate to use already existing products, research, standards, or knowledge even if
they are paid.
4. Use best tools
Collaboration & communication, storage, documents exchange, source controls, tasks
management, Wiki & CRM, feedback etc.
What tools we use
UX/UI, collaboration, communication, source control, docs
management, education
UX/UI & Prototyping
SketchFlow:
• Windows Phone, XAML apps;
MockupBuilder, Balsamiq:
• sketchy wireframes;
• UI components & icons;
• drag & drop simplicity;
• click-through prototypes.
Collaboration
Yammer:
• Freemium enterprise social network
service that was launched in 2008 and sold
to Microsoft in 2012
• Yammer is used for private communication
within organizations and is an example of
enterprise social software
• Access to a Yammer network is determined
by a user's Internet domain so that only
individuals with appropriate email
addresses may join their respective
networks
Communication
Skype:
• for small group conversation;
• share screen, group video chat (premium).
Lync:
• for big groups (webinars);
• easy recording, powerful interaction
features.
Live Meeting:
• for webinars.
Source control
TFS Online:
• cloud based;
• free for small groups;
• natively integrated with Visual Studio.
Alternatives:
• Bitbucket.com;
• Github.com.
Other tools
OneDrive & Dropbox
For files storage
Google Docs & Office 365
& DocuSign
For docs management
Asana
For task management
Bitrix 24
CRM
3rd party tools and services
Telerik
Controls & tools
Syncfusion
Metro studio for icons
Xamarin
For cross platform development
RedGate
SQL Server, .NET, Oracle tools
Pluralsight
Hardcore Dev and IT Training
Mobile app template for Windows
platforms
1. UI for Windows Phone by Telerik
2. Metro Grid Helper
3. WPtoolkit
4. Ninject
5. Newtonsoft.Json
6. MvvmLight
7. BugSense
8. Flurry
9. BindableApplicationBar
10. HtmlAgilityPack
11. Hammock / RestSharp
12. Memory Diagnostics Helper
13. Rx
14. SharpZipLib
15. etc…
Own framework
1. MVVM
2. Helpers (working with data, storage, I/O, caching etc.)
3. Custom controls
4. Performance counters
5. Testing tools
Highlights for mobile apps development
1. Usability – first, design – second
2. Testing on real devices or use 3rd party services
3. Application update flow (and delays because of certification
process)
4. Feedback and errors management
5. Guidelines and OS features integration
6. Most of mobile apps development projects are short-term
How to start
1. Buy MSDN, Office 365 subscriptions or
become a Microsoft partner
For any size of companies
2. Become BizSpark member
For startups not older than 3 years
3. Get DreamSpark or MSDN AA
subscription
If you are a scholar, student, PhD or teacher
4. Nokia Developer Program
Windows Phone Dev Center subscription, BugSense
Performance Monitoring Solution, Telerik Rad
Controls, remote app testing tools
Questions?

Weitere ähnliche Inhalte

Was ist angesagt?

Agile paris 2022 sharing
Agile paris 2022   sharingAgile paris 2022   sharing
Agile paris 2022 sharingJas Chong
 
ADUF - Adaptable Design Up Front
ADUF -  Adaptable Design Up FrontADUF -  Adaptable Design Up Front
ADUF - Adaptable Design Up FrontHayim Makabee
 
Mendix Essentials Presentatie Gerolf Roovers26/08/2011
Mendix Essentials Presentatie Gerolf Roovers26/08/2011Mendix Essentials Presentatie Gerolf Roovers26/08/2011
Mendix Essentials Presentatie Gerolf Roovers26/08/2011Mendix
 
Aimtech Software Development Company Presentation
Aimtech Software Development Company PresentationAimtech Software Development Company Presentation
Aimtech Software Development Company PresentationAnahitYeprikyan2
 
A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010adrian8three
 
No Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software EngineeringNo Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software EngineeringAditi Abhang
 
Digital transformation testing.
Digital transformation testing. Digital transformation testing.
Digital transformation testing. Deepak Daniel
 
Agile Keynote at PDS Romania
Agile Keynote at PDS RomaniaAgile Keynote at PDS Romania
Agile Keynote at PDS RomaniaStephen Forte
 
Hierarchical Composable Optimization of Web Pages
Hierarchical Composable Optimization of Web PagesHierarchical Composable Optimization of Web Pages
Hierarchical Composable Optimization of Web PagesHayim Makabee
 
Agile Development of High Performance Applications
Agile Development of High Performance ApplicationsAgile Development of High Performance Applications
Agile Development of High Performance ApplicationsFabian Lange
 
Introduction to bdd
Introduction to bddIntroduction to bdd
Introduction to bddSeb Rose
 
Small Hyper-Productive Teams (IT Brunch)
Small Hyper-Productive Teams (IT Brunch)Small Hyper-Productive Teams (IT Brunch)
Small Hyper-Productive Teams (IT Brunch)Mikalai Alimenkou
 
You Can't be Agile When you are Knee Deep in Mud
You Can't be Agile When you are Knee Deep in Mud You Can't be Agile When you are Knee Deep in Mud
You Can't be Agile When you are Knee Deep in Mud Thoughtworks
 
Mendix learning by Sunil Kumar
Mendix learning by Sunil KumarMendix learning by Sunil Kumar
Mendix learning by Sunil KumarSunilKumar706490
 
IBM DevOps Announcements - June 2014
IBM DevOps Announcements - June 2014IBM DevOps Announcements - June 2014
IBM DevOps Announcements - June 2014IBM Rational software
 
Agileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinarAgileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinarRoberto Jr. Figueroa
 

Was ist angesagt? (20)

Large Scale Software Project
Large Scale Software ProjectLarge Scale Software Project
Large Scale Software Project
 
Agile paris 2022 sharing
Agile paris 2022   sharingAgile paris 2022   sharing
Agile paris 2022 sharing
 
ADUF - Adaptable Design Up Front
ADUF -  Adaptable Design Up FrontADUF -  Adaptable Design Up Front
ADUF - Adaptable Design Up Front
 
Microsoft DevOps Journey
Microsoft DevOps JourneyMicrosoft DevOps Journey
Microsoft DevOps Journey
 
Mendix Essentials Presentatie Gerolf Roovers26/08/2011
Mendix Essentials Presentatie Gerolf Roovers26/08/2011Mendix Essentials Presentatie Gerolf Roovers26/08/2011
Mendix Essentials Presentatie Gerolf Roovers26/08/2011
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
Aimtech Software Development Company Presentation
Aimtech Software Development Company PresentationAimtech Software Development Company Presentation
Aimtech Software Development Company Presentation
 
A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010
 
No Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software EngineeringNo Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software Engineering
 
Digital transformation testing.
Digital transformation testing. Digital transformation testing.
Digital transformation testing.
 
Agile Keynote at PDS Romania
Agile Keynote at PDS RomaniaAgile Keynote at PDS Romania
Agile Keynote at PDS Romania
 
Hierarchical Composable Optimization of Web Pages
Hierarchical Composable Optimization of Web PagesHierarchical Composable Optimization of Web Pages
Hierarchical Composable Optimization of Web Pages
 
Agile Development of High Performance Applications
Agile Development of High Performance ApplicationsAgile Development of High Performance Applications
Agile Development of High Performance Applications
 
Introduction to bdd
Introduction to bddIntroduction to bdd
Introduction to bdd
 
Small Hyper-Productive Teams (IT Brunch)
Small Hyper-Productive Teams (IT Brunch)Small Hyper-Productive Teams (IT Brunch)
Small Hyper-Productive Teams (IT Brunch)
 
You Can't be Agile When you are Knee Deep in Mud
You Can't be Agile When you are Knee Deep in Mud You Can't be Agile When you are Knee Deep in Mud
You Can't be Agile When you are Knee Deep in Mud
 
Mendix learning by Sunil Kumar
Mendix learning by Sunil KumarMendix learning by Sunil Kumar
Mendix learning by Sunil Kumar
 
IBM DevOps Announcements - June 2014
IBM DevOps Announcements - June 2014IBM DevOps Announcements - June 2014
IBM DevOps Announcements - June 2014
 
Agileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinarAgileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinar
 
IoT Product Design and Prototyping
IoT Product Design and PrototypingIoT Product Design and Prototyping
IoT Product Design and Prototyping
 

Andere mochten auch

Delegation snowball
Delegation snowballDelegation snowball
Delegation snowballIT Weekend
 
Вебинар "Делегирование: что, как и зачем?"
Вебинар "Делегирование: что, как и зачем?"Вебинар "Делегирование: что, как и зачем?"
Вебинар "Делегирование: что, как и зачем?"Timofey (Tim) Yevgrashyn
 
Основы успешного делегирования
Основы успешного делегированияОсновы успешного делегирования
Основы успешного делегированияIPM Business School
 
Делегирование. ошибки и секреты
Делегирование. ошибки и секретыДелегирование. ошибки и секреты
Делегирование. ошибки и секретыIgor Solodov
 
Мастер-класс. Эффективное делегирование. Минск. Март. 2013
Мастер-класс. Эффективное делегирование. Минск. Март. 2013Мастер-класс. Эффективное делегирование. Минск. Март. 2013
Мастер-класс. Эффективное делегирование. Минск. Март. 2013Oleg Afanasyev
 
Делегирование. Повышаем шансы на исполнение
Делегирование. Повышаем шансы на исполнениеДелегирование. Повышаем шансы на исполнение
Делегирование. Повышаем шансы на исполнениеSQALab
 
Украденные мысли: Делегирование это любовь
Украденные мысли: Делегирование это любовьУкраденные мысли: Делегирование это любовь
Украденные мысли: Делегирование это любовьIosif Itkin
 
Эффективная команда, работа, делегирование (доклад с Web camp 2013)
Эффективная команда, работа, делегирование (доклад с Web camp 2013)Эффективная команда, работа, делегирование (доклад с Web camp 2013)
Эффективная команда, работа, делегирование (доклад с Web camp 2013)Aleksey Denysyuk
 
​"Delegates, Delegates everywhere" Владимир Миронов
​"Delegates, Delegates everywhere" Владимир Миронов​"Delegates, Delegates everywhere" Владимир Миронов
​"Delegates, Delegates everywhere" Владимир МироновAvitoTech
 
Делегирование как оно есть
Делегирование как оно естьДелегирование как оно есть
Делегирование как оно естьVasilisa Smirnova
 

Andere mochten auch (10)

Delegation snowball
Delegation snowballDelegation snowball
Delegation snowball
 
Вебинар "Делегирование: что, как и зачем?"
Вебинар "Делегирование: что, как и зачем?"Вебинар "Делегирование: что, как и зачем?"
Вебинар "Делегирование: что, как и зачем?"
 
Основы успешного делегирования
Основы успешного делегированияОсновы успешного делегирования
Основы успешного делегирования
 
Делегирование. ошибки и секреты
Делегирование. ошибки и секретыДелегирование. ошибки и секреты
Делегирование. ошибки и секреты
 
Мастер-класс. Эффективное делегирование. Минск. Март. 2013
Мастер-класс. Эффективное делегирование. Минск. Март. 2013Мастер-класс. Эффективное делегирование. Минск. Март. 2013
Мастер-класс. Эффективное делегирование. Минск. Март. 2013
 
Делегирование. Повышаем шансы на исполнение
Делегирование. Повышаем шансы на исполнениеДелегирование. Повышаем шансы на исполнение
Делегирование. Повышаем шансы на исполнение
 
Украденные мысли: Делегирование это любовь
Украденные мысли: Делегирование это любовьУкраденные мысли: Делегирование это любовь
Украденные мысли: Делегирование это любовь
 
Эффективная команда, работа, делегирование (доклад с Web camp 2013)
Эффективная команда, работа, делегирование (доклад с Web camp 2013)Эффективная команда, работа, делегирование (доклад с Web camp 2013)
Эффективная команда, работа, делегирование (доклад с Web camp 2013)
 
​"Delegates, Delegates everywhere" Владимир Миронов
​"Delegates, Delegates everywhere" Владимир Миронов​"Delegates, Delegates everywhere" Владимир Миронов
​"Delegates, Delegates everywhere" Владимир Миронов
 
Делегирование как оно есть
Делегирование как оно естьДелегирование как оно есть
Делегирование как оно есть
 

Ähnlich wie «Організація процесу розробки мобільного застосунку для аутсорсингової команди (з використанням сервісів та технологій Microsoft і не тільки)

Software development process for outsourcing team
Software development process for outsourcing teamSoftware development process for outsourcing team
Software development process for outsourcing teamMykhail Galushko
 
Bridging the Gap: from Data Science to Production
Bridging the Gap: from Data Science to ProductionBridging the Gap: from Data Science to Production
Bridging the Gap: from Data Science to ProductionFlorian Wilhelm
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for youAmbientia
 
Technologies for startup
Technologies for startupTechnologies for startup
Technologies for startupDzung Nguyen
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710Nikhil Todkar
 
05 DIGI CREATIVE people&process
05 DIGI CREATIVE people&process05 DIGI CREATIVE people&process
05 DIGI CREATIVE people&processSheSaysCREATIVE
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1Rupesh Vaishnav
 
GDSC FY Orientation.pptx
GDSC FY Orientation.pptxGDSC FY Orientation.pptx
GDSC FY Orientation.pptxGDSCVJTI
 
Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Agile India
 
Intro to User Centered Design Workshop
Intro to User Centered Design WorkshopIntro to User Centered Design Workshop
Intro to User Centered Design WorkshopPatrick McNeil
 
Don’t Let Process Hold You Back: Best Practices for Cross-Functional Collabor...
Don’t Let Process Hold You Back: Best Practices for Cross-Functional Collabor...Don’t Let Process Hold You Back: Best Practices for Cross-Functional Collabor...
Don’t Let Process Hold You Back: Best Practices for Cross-Functional Collabor...Tasktop
 
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOpsWinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOpsWinOps Conf
 
Multi Platform User Exerience
Multi Platform User ExerienceMulti Platform User Exerience
Multi Platform User ExerienceTanya Zavialova
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingUtkarsh Khare
 
Dashlane Mission Teams
Dashlane Mission TeamsDashlane Mission Teams
Dashlane Mission TeamsDashlane
 
Kiran Joy_Resume
Kiran Joy_ResumeKiran Joy_Resume
Kiran Joy_ResumeJoy Kiran
 
IBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsIBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsSanjeev Sharma
 
Good-to-Great with AQUENT presentation - Koen van Niekerk
Good-to-Great with AQUENT presentation - Koen van NiekerkGood-to-Great with AQUENT presentation - Koen van Niekerk
Good-to-Great with AQUENT presentation - Koen van NiekerkLisa Trapman
 

Ähnlich wie «Організація процесу розробки мобільного застосунку для аутсорсингової команди (з використанням сервісів та технологій Microsoft і не тільки) (20)

Software development process for outsourcing team
Software development process for outsourcing teamSoftware development process for outsourcing team
Software development process for outsourcing team
 
Bridging the Gap: from Data Science to Production
Bridging the Gap: from Data Science to ProductionBridging the Gap: from Data Science to Production
Bridging the Gap: from Data Science to Production
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
Technologies for startup
Technologies for startupTechnologies for startup
Technologies for startup
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
 
05 DIGI CREATIVE people&process
05 DIGI CREATIVE people&process05 DIGI CREATIVE people&process
05 DIGI CREATIVE people&process
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
 
GDSC FY Orientation.pptx
GDSC FY Orientation.pptxGDSC FY Orientation.pptx
GDSC FY Orientation.pptx
 
Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...
 
Intro to User Centered Design Workshop
Intro to User Centered Design WorkshopIntro to User Centered Design Workshop
Intro to User Centered Design Workshop
 
Don’t Let Process Hold You Back: Best Practices for Cross-Functional Collabor...
Don’t Let Process Hold You Back: Best Practices for Cross-Functional Collabor...Don’t Let Process Hold You Back: Best Practices for Cross-Functional Collabor...
Don’t Let Process Hold You Back: Best Practices for Cross-Functional Collabor...
 
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOpsWinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
 
Multi Platform User Exerience
Multi Platform User ExerienceMulti Platform User Exerience
Multi Platform User Exerience
 
Software testing
Software testingSoftware testing
Software testing
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
NEXiDA at OMG June 2009
NEXiDA at OMG June 2009NEXiDA at OMG June 2009
NEXiDA at OMG June 2009
 
Dashlane Mission Teams
Dashlane Mission TeamsDashlane Mission Teams
Dashlane Mission Teams
 
Kiran Joy_Resume
Kiran Joy_ResumeKiran Joy_Resume
Kiran Joy_Resume
 
IBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsIBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOps
 
Good-to-Great with AQUENT presentation - Koen van Niekerk
Good-to-Great with AQUENT presentation - Koen van NiekerkGood-to-Great with AQUENT presentation - Koen van Niekerk
Good-to-Great with AQUENT presentation - Koen van Niekerk
 

Mehr von IT Weekend

Quality attributes testing. From Architecture to test acceptance
Quality attributes testing. From Architecture to test acceptanceQuality attributes testing. From Architecture to test acceptance
Quality attributes testing. From Architecture to test acceptanceIT Weekend
 
Mobile development for JavaScript developer
Mobile development for JavaScript developerMobile development for JavaScript developer
Mobile development for JavaScript developerIT Weekend
 
Building an Innovation & Strategy Process
Building an Innovation & Strategy ProcessBuilding an Innovation & Strategy Process
Building an Innovation & Strategy ProcessIT Weekend
 
IT Professionals – The Right Time/The Right Place
IT Professionals – The Right Time/The Right PlaceIT Professionals – The Right Time/The Right Place
IT Professionals – The Right Time/The Right PlaceIT Weekend
 
Building a Data Driven Organization
Building a Data Driven OrganizationBuilding a Data Driven Organization
Building a Data Driven OrganizationIT Weekend
 
7 Tools for the Product Owner
7 Tools for the Product Owner 7 Tools for the Product Owner
7 Tools for the Product Owner IT Weekend
 
Hacking your Doorbell
Hacking your DoorbellHacking your Doorbell
Hacking your DoorbellIT Weekend
 
An era of possibilities, a window in time
An era of possibilities, a window in timeAn era of possibilities, a window in time
An era of possibilities, a window in timeIT Weekend
 
Web services automation from sketch
Web services automation from sketchWeb services automation from sketch
Web services automation from sketchIT Weekend
 
REST that won't make you cry
REST that won't make you cryREST that won't make you cry
REST that won't make you cryIT Weekend
 
Как договариваться с начальником и заказчиком: выбираем нужный протокол общения
Как договариваться с начальником и заказчиком: выбираем нужный протокол общенияКак договариваться с начальником и заказчиком: выбираем нужный протокол общения
Как договариваться с начальником и заказчиком: выбираем нужный протокол общенияIT Weekend
 
Обзор программы SAP HANA Startup Focus
Обзор программы SAP HANA Startup FocusОбзор программы SAP HANA Startup Focus
Обзор программы SAP HANA Startup FocusIT Weekend
 
World of Agile: Kanban
World of Agile: KanbanWorld of Agile: Kanban
World of Agile: KanbanIT Weekend
 
Risk Management
Risk ManagementRisk Management
Risk ManagementIT Weekend
 
«Spring Integration as Integration Patterns Provider»
«Spring Integration as Integration Patterns Provider»«Spring Integration as Integration Patterns Provider»
«Spring Integration as Integration Patterns Provider»IT Weekend
 
Cutting edge of Machine Learning
Cutting edge of Machine LearningCutting edge of Machine Learning
Cutting edge of Machine LearningIT Weekend
 
Parallel Programming In Modern World .NET Technics
Parallel Programming In Modern World .NET TechnicsParallel Programming In Modern World .NET Technics
Parallel Programming In Modern World .NET TechnicsIT Weekend
 
Parallel programming in modern world .net technics shared
Parallel programming in modern world .net technics   sharedParallel programming in modern world .net technics   shared
Parallel programming in modern world .net technics sharedIT Weekend
 
Maximize Effectiveness of Human Capital
Maximize Effectiveness of Human CapitalMaximize Effectiveness of Human Capital
Maximize Effectiveness of Human CapitalIT Weekend
 

Mehr von IT Weekend (20)

Quality attributes testing. From Architecture to test acceptance
Quality attributes testing. From Architecture to test acceptanceQuality attributes testing. From Architecture to test acceptance
Quality attributes testing. From Architecture to test acceptance
 
Mobile development for JavaScript developer
Mobile development for JavaScript developerMobile development for JavaScript developer
Mobile development for JavaScript developer
 
Building an Innovation & Strategy Process
Building an Innovation & Strategy ProcessBuilding an Innovation & Strategy Process
Building an Innovation & Strategy Process
 
IT Professionals – The Right Time/The Right Place
IT Professionals – The Right Time/The Right PlaceIT Professionals – The Right Time/The Right Place
IT Professionals – The Right Time/The Right Place
 
Building a Data Driven Organization
Building a Data Driven OrganizationBuilding a Data Driven Organization
Building a Data Driven Organization
 
7 Tools for the Product Owner
7 Tools for the Product Owner 7 Tools for the Product Owner
7 Tools for the Product Owner
 
Hacking your Doorbell
Hacking your DoorbellHacking your Doorbell
Hacking your Doorbell
 
An era of possibilities, a window in time
An era of possibilities, a window in timeAn era of possibilities, a window in time
An era of possibilities, a window in time
 
Web services automation from sketch
Web services automation from sketchWeb services automation from sketch
Web services automation from sketch
 
Why Ruby?
Why Ruby? Why Ruby?
Why Ruby?
 
REST that won't make you cry
REST that won't make you cryREST that won't make you cry
REST that won't make you cry
 
Как договариваться с начальником и заказчиком: выбираем нужный протокол общения
Как договариваться с начальником и заказчиком: выбираем нужный протокол общенияКак договариваться с начальником и заказчиком: выбираем нужный протокол общения
Как договариваться с начальником и заказчиком: выбираем нужный протокол общения
 
Обзор программы SAP HANA Startup Focus
Обзор программы SAP HANA Startup FocusОбзор программы SAP HANA Startup Focus
Обзор программы SAP HANA Startup Focus
 
World of Agile: Kanban
World of Agile: KanbanWorld of Agile: Kanban
World of Agile: Kanban
 
Risk Management
Risk ManagementRisk Management
Risk Management
 
«Spring Integration as Integration Patterns Provider»
«Spring Integration as Integration Patterns Provider»«Spring Integration as Integration Patterns Provider»
«Spring Integration as Integration Patterns Provider»
 
Cutting edge of Machine Learning
Cutting edge of Machine LearningCutting edge of Machine Learning
Cutting edge of Machine Learning
 
Parallel Programming In Modern World .NET Technics
Parallel Programming In Modern World .NET TechnicsParallel Programming In Modern World .NET Technics
Parallel Programming In Modern World .NET Technics
 
Parallel programming in modern world .net technics shared
Parallel programming in modern world .net technics   sharedParallel programming in modern world .net technics   shared
Parallel programming in modern world .net technics shared
 
Maximize Effectiveness of Human Capital
Maximize Effectiveness of Human CapitalMaximize Effectiveness of Human Capital
Maximize Effectiveness of Human Capital
 

Kürzlich hochgeladen

Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 

Kürzlich hochgeladen (20)

Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 

«Організація процесу розробки мобільного застосунку для аутсорсингової команди (з використанням сервісів та технологій Microsoft і не тільки)

  • 1. Software development process for outsourcing team Mykhail Galushko co-founder DevRain Solutions, Microsoft MVP mykhail.galushko@devrain.com
  • 2. What makes you unique 1. Deep expertise and rich portfolio 2. Avoiding common mistakes 3. Good management and development process 4. Using best tools
  • 3.
  • 4. Development is non-linear process 1. Increasing number of team members == increasing of communication complexity 2. Development is not about time and resources, it is about people and services 3. Productivity of junior/middle developer and “guru” may differ up to 5-10 times
  • 5. Error cost (cone of uncertainty) At the beginning of any project we don’t know exactly how long a project is going to take. No two ever projects have: • The same requirements • The same people • The same business context • The same technology • The same priorities & constraints
  • 6. Parkinson's Law Parkinson's Law states that work expands to fill the time available for it. Result? Extra time gained is wasted.
  • 7. Zone of improbability 9 women can’t make a baby in a month *25% - max volume of project squeezing time Fred Brooks “Mythical man month”, 1975
  • 8. “Zero” stage Estimation, environment installation (staging and production), creating accounts for all team members, understanding roles and management flow *it’s good to have “zero” stage completed as soon as possible
  • 9. Simple estimation model Hourly rate * hours * 1.3 = project cost ~30% - project risks (employees search, bug fixing, requirements missing, illness, lacks of communication, lazy developers) Payable hour != standard hour
  • 10. Two estimations (best/worse cases) (Cbc * Pbc) + (Cwc * Pwc) • Cbc – cost (best case) • Pbc – probability (best case) • Cwc – cost (worse case) • Pwc – probability (worse case) Real cost will be higher than best/worse average cost.
  • 11. Quick estimation for mobile apps • iOS (iPhone + iPad) • Windows Phone + Windows 8 • Android Assume Windows Phone = 1 unit 1 (WP) + 0.75 (Win8) + 1.5 (iPhone) + 0.5 (iPad) + 2 (Android) = 5.75 (units)
  • 12. Different goals Customers are worried about business Developers are worried about technologies and ideal code
  • 13. Communication Ask yourself do you know: • who determines the business strategy of the project? • who will evaluate the quality of your work and what is “project done” criteria? • how many bosses do you have? • who has the final voice in decisions?
  • 14. Roles not titles Job title == many roles 1. Every team member should know his roles. 2. Avoid too many “bosses” (ideally just one).
  • 15. Funnels (measure user conversion rates) Give your customer such answers: • how many users logged in? • how number of logins changed after implementing a new design? • how many users navigated from page 1 to page 2? • how many users clicked such button? • etc.
  • 16. Process highlights 1. With integration to customer’s process Team should be totally aware with customer’s business process. 2. Without integration to customer’s process Teams use own process internally and use a “public interface” to customer’s business process. Interfaces can be differ with different customers. 3. Orientation on result, not the process Agile is not good in all 146% cases. Sometimes F*ckup Development works better.
  • 17. Process highlights 1. UX/UI & guidelines & graphic design Exactly in this order 2. If development for several platforms Make at least alpha version for the one platform with real data, than – other platforms 3. Avoid “not invented here” philosophy Don’t hesitate to use already existing products, research, standards, or knowledge even if they are paid. 4. Use best tools Collaboration & communication, storage, documents exchange, source controls, tasks management, Wiki & CRM, feedback etc.
  • 18. What tools we use UX/UI, collaboration, communication, source control, docs management, education
  • 19. UX/UI & Prototyping SketchFlow: • Windows Phone, XAML apps; MockupBuilder, Balsamiq: • sketchy wireframes; • UI components & icons; • drag & drop simplicity; • click-through prototypes.
  • 20. Collaboration Yammer: • Freemium enterprise social network service that was launched in 2008 and sold to Microsoft in 2012 • Yammer is used for private communication within organizations and is an example of enterprise social software • Access to a Yammer network is determined by a user's Internet domain so that only individuals with appropriate email addresses may join their respective networks
  • 21. Communication Skype: • for small group conversation; • share screen, group video chat (premium). Lync: • for big groups (webinars); • easy recording, powerful interaction features. Live Meeting: • for webinars.
  • 22. Source control TFS Online: • cloud based; • free for small groups; • natively integrated with Visual Studio. Alternatives: • Bitbucket.com; • Github.com.
  • 23. Other tools OneDrive & Dropbox For files storage Google Docs & Office 365 & DocuSign For docs management Asana For task management Bitrix 24 CRM
  • 24. 3rd party tools and services Telerik Controls & tools Syncfusion Metro studio for icons Xamarin For cross platform development RedGate SQL Server, .NET, Oracle tools Pluralsight Hardcore Dev and IT Training
  • 25. Mobile app template for Windows platforms 1. UI for Windows Phone by Telerik 2. Metro Grid Helper 3. WPtoolkit 4. Ninject 5. Newtonsoft.Json 6. MvvmLight 7. BugSense 8. Flurry 9. BindableApplicationBar 10. HtmlAgilityPack 11. Hammock / RestSharp 12. Memory Diagnostics Helper 13. Rx 14. SharpZipLib 15. etc…
  • 26. Own framework 1. MVVM 2. Helpers (working with data, storage, I/O, caching etc.) 3. Custom controls 4. Performance counters 5. Testing tools
  • 27. Highlights for mobile apps development 1. Usability – first, design – second 2. Testing on real devices or use 3rd party services 3. Application update flow (and delays because of certification process) 4. Feedback and errors management 5. Guidelines and OS features integration 6. Most of mobile apps development projects are short-term
  • 28. How to start 1. Buy MSDN, Office 365 subscriptions or become a Microsoft partner For any size of companies 2. Become BizSpark member For startups not older than 3 years 3. Get DreamSpark or MSDN AA subscription If you are a scholar, student, PhD or teacher 4. Nokia Developer Program Windows Phone Dev Center subscription, BugSense Performance Monitoring Solution, Telerik Rad Controls, remote app testing tools