SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
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?

Mais conteúdo relacionado

Mais procurados

Agile + Benefits + Transition Nov 2009
Agile + Benefits + Transition   Nov 2009Agile + Benefits + Transition   Nov 2009
Agile + Benefits + Transition Nov 2009Michael Sahota
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineeringRupesh Vaishnav
 
Introduction to SDLC
Introduction to SDLC Introduction to SDLC
Introduction to SDLC Ajeng Savitri
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme ProgrammingNaresh Jain
 
Enabling Business Outcomes Through Extreme Programming and Continuous Delivery
Enabling Business Outcomes Through Extreme Programming and Continuous DeliveryEnabling Business Outcomes Through Extreme Programming and Continuous Delivery
Enabling Business Outcomes Through Extreme Programming and Continuous DeliveryVMware Tanzu
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologieselvinefendi
 
Traits of a great software engineer
Traits of a great software engineerTraits of a great software engineer
Traits of a great software engineerBairesDev
 
Agile transformation agile france 2017
Agile transformation   agile france 2017Agile transformation   agile france 2017
Agile transformation agile france 2017Jas Chong
 
Some Myths in Software Development
Some Myths in Software DevelopmentSome Myths in Software Development
Some Myths in Software Developmentbryanbibat
 
Going extreme-with-extreme-programming
Going extreme-with-extreme-programmingGoing extreme-with-extreme-programming
Going extreme-with-extreme-programmingMichael Green
 
Brandon_S_Gorall_resume1
Brandon_S_Gorall_resume1Brandon_S_Gorall_resume1
Brandon_S_Gorall_resume1brandon gorall
 
HyperMedia Presentation
HyperMedia PresentationHyperMedia Presentation
HyperMedia PresentationCosmin Porumb
 
Mes .Net Developer Description
Mes .Net Developer DescriptionMes .Net Developer Description
Mes .Net Developer Descriptiontlbetakas
 

Mais procurados (20)

What is agile model
What is agile modelWhat is agile model
What is agile model
 
Agile + Benefits + Transition Nov 2009
Agile + Benefits + Transition   Nov 2009Agile + Benefits + Transition   Nov 2009
Agile + Benefits + Transition Nov 2009
 
software
softwaresoftware
software
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 
SusanGerhartResume
SusanGerhartResumeSusanGerhartResume
SusanGerhartResume
 
Saurav_kumar
Saurav_kumarSaurav_kumar
Saurav_kumar
 
Saurav_Kumar
Saurav_KumarSaurav_Kumar
Saurav_Kumar
 
Introduction to SDLC
Introduction to SDLC Introduction to SDLC
Introduction to SDLC
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme Programming
 
Resume - Manager-Proj Manager
Resume - Manager-Proj Manager Resume - Manager-Proj Manager
Resume - Manager-Proj Manager
 
Enabling Business Outcomes Through Extreme Programming and Continuous Delivery
Enabling Business Outcomes Through Extreme Programming and Continuous DeliveryEnabling Business Outcomes Through Extreme Programming and Continuous Delivery
Enabling Business Outcomes Through Extreme Programming and Continuous Delivery
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
 
Traits of a great software engineer
Traits of a great software engineerTraits of a great software engineer
Traits of a great software engineer
 
Agile transformation agile france 2017
Agile transformation   agile france 2017Agile transformation   agile france 2017
Agile transformation agile france 2017
 
Some Myths in Software Development
Some Myths in Software DevelopmentSome Myths in Software Development
Some Myths in Software Development
 
Ravindra Prasad
Ravindra PrasadRavindra Prasad
Ravindra Prasad
 
Going extreme-with-extreme-programming
Going extreme-with-extreme-programmingGoing extreme-with-extreme-programming
Going extreme-with-extreme-programming
 
Brandon_S_Gorall_resume1
Brandon_S_Gorall_resume1Brandon_S_Gorall_resume1
Brandon_S_Gorall_resume1
 
HyperMedia Presentation
HyperMedia PresentationHyperMedia Presentation
HyperMedia Presentation
 
Mes .Net Developer Description
Mes .Net Developer DescriptionMes .Net Developer Description
Mes .Net Developer Description
 

Semelhante a Software development process for outsourcing team

«Організація процесу розробки мобільного застосунку для аутсорсингової команд...
«Організація процесу розробки мобільного застосунку для аутсорсингової команд...«Організація процесу розробки мобільного застосунку для аутсорсингової команд...
«Організація процесу розробки мобільного застосунку для аутсорсингової команд...IT Weekend
 
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
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1Rupesh Vaishnav
 
Intro to User Centered Design Workshop
Intro to User Centered Design WorkshopIntro to User Centered Design Workshop
Intro to User Centered Design WorkshopPatrick McNeil
 
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
 
05 DIGI CREATIVE people&process
05 DIGI CREATIVE people&process05 DIGI CREATIVE people&process
05 DIGI CREATIVE people&processSheSaysCREATIVE
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering MethodologiesNesrine Shokry
 
Software system design sample
Software system design sampleSoftware system design sample
Software system design sampleNorman K Ma
 
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...DevOpsDays Tel Aviv
 
IBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsIBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsSanjeev Sharma
 
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
 
XPages: You Know the 'How to'. Now Learn the 'Why and What'.
XPages: You Know the 'How to'. Now Learn the 'Why and What'.XPages: You Know the 'How to'. Now Learn the 'Why and What'.
XPages: You Know the 'How to'. Now Learn the 'Why and What'.Teamstudio
 
GDSC FY Orientation.pptx
GDSC FY Orientation.pptxGDSC FY Orientation.pptx
GDSC FY Orientation.pptxGDSCVJTI
 
SD West 2008: Call the requirements police, you've entered design!
SD West 2008: Call the requirements police, you've entered design!SD West 2008: Call the requirements police, you've entered design!
SD West 2008: Call the requirements police, you've entered design!Alan Bustamante
 

Semelhante a Software development process for outsourcing team (20)

«Організація процесу розробки мобільного застосунку для аутсорсингової команд...
«Організація процесу розробки мобільного застосунку для аутсорсингової команд...«Організація процесу розробки мобільного застосунку для аутсорсингової команд...
«Організація процесу розробки мобільного застосунку для аутсорсингової команд...
 
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
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
 
Intro to User Centered Design Workshop
Intro to User Centered Design WorkshopIntro to User Centered Design Workshop
Intro to User Centered Design Workshop
 
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...
 
05 DIGI CREATIVE people&process
05 DIGI CREATIVE people&process05 DIGI CREATIVE people&process
05 DIGI CREATIVE people&process
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
 
Software system design sample
Software system design sampleSoftware system design sample
Software system design sample
 
Unit 1 OOSE
Unit 1 OOSEUnit 1 OOSE
Unit 1 OOSE
 
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
 
IBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsIBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOps
 
Software testing
Software testingSoftware testing
Software testing
 
2015ResumePlusCoverLetter
2015ResumePlusCoverLetter2015ResumePlusCoverLetter
2015ResumePlusCoverLetter
 
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...
 
XPages: You Know the 'How to'. Now Learn the 'Why and What'.
XPages: You Know the 'How to'. Now Learn the 'Why and What'.XPages: You Know the 'How to'. Now Learn the 'Why and What'.
XPages: You Know the 'How to'. Now Learn the 'Why and What'.
 
GDSC FY Orientation.pptx
GDSC FY Orientation.pptxGDSC FY Orientation.pptx
GDSC FY Orientation.pptx
 
SD West 2008: Call the requirements police, you've entered design!
SD West 2008: Call the requirements police, you've entered design!SD West 2008: Call the requirements police, you've entered design!
SD West 2008: Call the requirements police, you've entered design!
 

Mais de Mykhail Galushko

Windows Phone 8.1 Development Platform
Windows Phone 8.1 Development PlatformWindows Phone 8.1 Development Platform
Windows Phone 8.1 Development PlatformMykhail Galushko
 
Фоновые задачи и многозадачность для Windows Phone
Фоновые задачи и многозадачность для Windows PhoneФоновые задачи и многозадачность для Windows Phone
Фоновые задачи и многозадачность для Windows PhoneMykhail Galushko
 
Локализация и глобализация для Windows Phone Store приложений
Локализация и глобализация для Windows Phone Store приложенийЛокализация и глобализация для Windows Phone Store приложений
Локализация и глобализация для Windows Phone Store приложенийMykhail Galushko
 
Creating high rated and reliable Windows 8 application
Creating high rated and reliable Windows 8 applicationCreating high rated and reliable Windows 8 application
Creating high rated and reliable Windows 8 applicationMykhail Galushko
 
Разрабатываем качественное Windows 8 приложение
Разрабатываем качественное Windows 8 приложениеРазрабатываем качественное Windows 8 приложение
Разрабатываем качественное Windows 8 приложениеMykhail Galushko
 
WinRT: интеграция с С++
WinRT: интеграция с С++WinRT: интеграция с С++
WinRT: интеграция с С++Mykhail Galushko
 
Разработка WinRT приложений для Windows 8: реальный опыт, UA Mobile 2012
Разработка WinRT приложений для  Windows 8: реальный опыт, UA Mobile 2012Разработка WinRT приложений для  Windows 8: реальный опыт, UA Mobile 2012
Разработка WinRT приложений для Windows 8: реальный опыт, UA Mobile 2012Mykhail Galushko
 
ASP.NET MVC+ Windows Azure: step by step guide
ASP.NET MVC+ Windows Azure: step by step guideASP.NET MVC+ Windows Azure: step by step guide
ASP.NET MVC+ Windows Azure: step by step guideMykhail Galushko
 
Экосистема Windows 8 и практика разработки приложений
Экосистема Windows 8 и практика разработки приложений Экосистема Windows 8 и практика разработки приложений
Экосистема Windows 8 и практика разработки приложений Mykhail Galushko
 

Mais de Mykhail Galushko (9)

Windows Phone 8.1 Development Platform
Windows Phone 8.1 Development PlatformWindows Phone 8.1 Development Platform
Windows Phone 8.1 Development Platform
 
Фоновые задачи и многозадачность для Windows Phone
Фоновые задачи и многозадачность для Windows PhoneФоновые задачи и многозадачность для Windows Phone
Фоновые задачи и многозадачность для Windows Phone
 
Локализация и глобализация для Windows Phone Store приложений
Локализация и глобализация для Windows Phone Store приложенийЛокализация и глобализация для Windows Phone Store приложений
Локализация и глобализация для Windows Phone Store приложений
 
Creating high rated and reliable Windows 8 application
Creating high rated and reliable Windows 8 applicationCreating high rated and reliable Windows 8 application
Creating high rated and reliable Windows 8 application
 
Разрабатываем качественное Windows 8 приложение
Разрабатываем качественное Windows 8 приложениеРазрабатываем качественное Windows 8 приложение
Разрабатываем качественное Windows 8 приложение
 
WinRT: интеграция с С++
WinRT: интеграция с С++WinRT: интеграция с С++
WinRT: интеграция с С++
 
Разработка WinRT приложений для Windows 8: реальный опыт, UA Mobile 2012
Разработка WinRT приложений для  Windows 8: реальный опыт, UA Mobile 2012Разработка WinRT приложений для  Windows 8: реальный опыт, UA Mobile 2012
Разработка WinRT приложений для Windows 8: реальный опыт, UA Mobile 2012
 
ASP.NET MVC+ Windows Azure: step by step guide
ASP.NET MVC+ Windows Azure: step by step guideASP.NET MVC+ Windows Azure: step by step guide
ASP.NET MVC+ Windows Azure: step by step guide
 
Экосистема Windows 8 и практика разработки приложений
Экосистема Windows 8 и практика разработки приложений Экосистема Windows 8 и практика разработки приложений
Экосистема Windows 8 и практика разработки приложений
 

Último

data flow diagram for e commerce website
data flow diagram for e commerce websitedata flow diagram for e commerce website
data flow diagram for e commerce website33073
 
Create A Workspace For Work From Home 1.pptx
Create A Workspace For Work From Home 1.pptxCreate A Workspace For Work From Home 1.pptx
Create A Workspace For Work From Home 1.pptxVanishasNews
 
Obersation Lab for understanding the customer.
Obersation Lab for understanding the customer.Obersation Lab for understanding the customer.
Obersation Lab for understanding the customer.ThomasWoart1
 
Introduction-to-United-States-Business-Registration
Introduction-to-United-States-Business-RegistrationIntroduction-to-United-States-Business-Registration
Introduction-to-United-States-Business-RegistrationUSBRI
 
Driving Bangladesh's Growth: Demand Soars for Quality Supply Chain Managers.pptx
Driving Bangladesh's Growth: Demand Soars for Quality Supply Chain Managers.pptxDriving Bangladesh's Growth: Demand Soars for Quality Supply Chain Managers.pptx
Driving Bangladesh's Growth: Demand Soars for Quality Supply Chain Managers.pptxPraloy Chowdhury
 
PeerPreneur Straight Up Care Marketing 101
PeerPreneur Straight Up Care Marketing 101PeerPreneur Straight Up Care Marketing 101
PeerPreneur Straight Up Care Marketing 101mlicam615
 
TRMNL4. StartUp Academy by Genesis and Meta.pdf
TRMNL4. StartUp Academy by Genesis and Meta.pdfTRMNL4. StartUp Academy by Genesis and Meta.pdf
TRMNL4. StartUp Academy by Genesis and Meta.pdfStartup Grind
 

Último (7)

data flow diagram for e commerce website
data flow diagram for e commerce websitedata flow diagram for e commerce website
data flow diagram for e commerce website
 
Create A Workspace For Work From Home 1.pptx
Create A Workspace For Work From Home 1.pptxCreate A Workspace For Work From Home 1.pptx
Create A Workspace For Work From Home 1.pptx
 
Obersation Lab for understanding the customer.
Obersation Lab for understanding the customer.Obersation Lab for understanding the customer.
Obersation Lab for understanding the customer.
 
Introduction-to-United-States-Business-Registration
Introduction-to-United-States-Business-RegistrationIntroduction-to-United-States-Business-Registration
Introduction-to-United-States-Business-Registration
 
Driving Bangladesh's Growth: Demand Soars for Quality Supply Chain Managers.pptx
Driving Bangladesh's Growth: Demand Soars for Quality Supply Chain Managers.pptxDriving Bangladesh's Growth: Demand Soars for Quality Supply Chain Managers.pptx
Driving Bangladesh's Growth: Demand Soars for Quality Supply Chain Managers.pptx
 
PeerPreneur Straight Up Care Marketing 101
PeerPreneur Straight Up Care Marketing 101PeerPreneur Straight Up Care Marketing 101
PeerPreneur Straight Up Care Marketing 101
 
TRMNL4. StartUp Academy by Genesis and Meta.pdf
TRMNL4. StartUp Academy by Genesis and Meta.pdfTRMNL4. StartUp Academy by Genesis and Meta.pdf
TRMNL4. StartUp Academy by Genesis and Meta.pdf
 

Software development process for outsourcing team

  • 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