Download presentation
Presentation is loading. Please wait.
Published byLorraine Curtis Modified over 9 years ago
1
Johannes Brodwall Getting your project off the ground
2
Bootstrapping a team
3
Raising the team engagement
4
Turning a corner
5
Growing the team
6
Etter 15 års erfaring fra IT bransjen i Norge, innså Johannes Brodwall: “Det er immari kaldt her!” Nå jobber han for IT bransjen i Sri Lanka. Men er fortsatt mest i kalde Norge.
8
“How do you start a project and achieve understanding at the beginning?”
9
“How do you {start a project} and achieve understanding at the beginning?”
10
Keep it simple Defer commitment Inspect and adapt It depends
11
Concrete tools for non-superheroes
12
3 tools (and 1 bonus)
13
1.Discuss the problem 2.Understand who’s involved 3.Describe what it does 4.Visualize the context 5.Understand the domain 6.Lay down the foundation 7.Create the roadmap 8.Dramatize the demo
14
When
15
MondayTuesdayWednesdayThursdayFriday Elevator pitch, Stakeholders Usage flow Dev infrastructure Dev baseline Review usage RoadmapWrap up docs Dev baseline Lunch Look at what’s going on today Tech framework Usage review, Context, Domain Refine models Review, Retrospective Plan week 2 Typical plan for kickoff
16
MondayTuesdayWednesdayThursdayFriday Elevator pitch, Stakeholders Usage flow Dev infrastructure Dev baseline Review usage RoadmapWrap up docs Dev baseline Lunch Look at what’s going on today Tech framework Usage review, Context, Domain Refine models Review, Retrospective Plan week 2 Typical plan for kickoff
17
Discuss the problem
18
Form groups of 3 (or 2) You will have five minutes to discuss
19
For some user/stakeholder Who wants to achive some goal The name of the system Is a type of system Which lets them perform some operation(s). Unlike most compelling alternative This gives them some advantages.
20
For some user/stakeholder Who wants to achive some goal The name of the system Is a type of system Which lets them perform some operation(s). Unlike most compelling alternative This gives them some advantages.
21
Sample problem
22
The problem: “A program to assign a worker to a client”
23
The problem: “A program to assign a worker to a client” (yes, it’s unclear!)
24
For a temporary employment agent who wants to match candidates to client needs, the Temporary Staffing System is an interactive web application, which lets them register and match candidates and positions. Unlike competing systems this lets us share selective information with our clients.
25
Who?
26
MondayTuesdayWednesdayThursdayFriday Elevator pitch, Stakeholders Usage flow Dev infrastructure Dev baseline Review usage RoadmapWrap up docs Dev baseline Lunch Look at what’s going on today Tech framework Usage review, Context, Domain Refine models Review, Retrospective Plan week 2 Typical plan for kickoff
27
For a temporary employment agent who wants to match candidates to client needs, the Temporary Staffing System is an interactive web application, which lets them register and match candidates and positions. Unlike competing systems this lets us share selective information with our clients.
28
Agent Worker Client
29
Who? # Clients do ??? every ??? via ??? # Agents do ??? every ??? via ??? # Workers do ??? every ??? via ???
30
Who? # Clients do ??? every ??? via ??? # Project managers do ??? every ??? via ??? # Agents do ??? every ??? via ??? # Applicatants do ??? every ??? via ??? # Workers do ??? every ??? via ???
31
Who? Tens of Clients sign up for service a few times every year via meetings About 100 client project managers request workers to match specific skills every few months Around 20 Agents proposes workers to open positions Several hundred Applicants applies for position once every few months Hundreds of Workers submit timesheets every (few) days via their mobiles
32
Who else? Payroll
33
MondayTuesdayWednesdayThursdayFriday Elevator pitch, Stakeholders Usage flow Dev infrastructure Dev baseline Review usage RoadmapWrap up docs Dev baseline Lunch Look at what’s going on today Tech framework Usage review, Context, Domain Refine models Review, Retrospective Plan week 2 Typical plan for kickoff
34
Describe the usage
35
1.Need: Someone identifies a need 2.Trigger: Someone does something with the system 3.The system responds in some way 4.… 5.… 6.The goal has been fulfilled
36
1.Need: Someone identifies a need 2.Trigger: Someone does something with the system 3.The system responds in some way 4.… 5.… 6.The goal has been fulfilled
37
1.A new company wants to hire a skilled worker for a temporary position 2.Administrative user adds the client details and login to the system 3.Client logs into the application and completes new position description, including skill requirements 4.Temp agency adds a worker and proposes the worker to a position registered by a client 5.Client gets notified of new proposals (via email) 6.Client views status of all open positions in the system 7.External to the system: Client interviews candidate, request further information and makes a decision whether to hire or not 8.Client accepts or rejects the worker in the system 9.As worker performs work, they register their time in the system 10.At the end of a billing period, the system generates billing information to accounting system and salary information to salary system
38
MondayTuesdayWednesdayThursdayFriday Elevator pitch, Stakeholders Usage flow Dev infrastructure Dev baseline Review usage RoadmapWrap up docs Dev baseline Lunch Look at what’s going on today Tech framework Usage review, Context, Domain Refine models Review, Retrospective Plan week 2 Typical plan for kickoff
40
MondayTuesdayWednesdayThursdayFriday Elevator pitch, Stakeholders Usage flow Dev infrastructure Dev baseline Review usage RoadmapWrap up docs Dev baseline Lunch Look at what’s going on today Tech framework Usage review, Context, Domain Refine models Review, Retrospective Plan week 2 Typical plan for kickoff
41
Laying down foundation
42
Constraints: Interact per user Portability Supported platform
43
Example: Agent: ____ Project manager: ____ Applicant: ____ Worker: ____ Supported platform: ____ stack
44
Example: Agent: Web or desktop Client manager: Web or any mobile Applicant: Web Worker: Mobile Supported platform: Java stack
45
Example: Agent: Swing Client manager: Spring MVC Applicant: Spring MVC Worker: Android Supported platform: Java stack
46
Example: Agent: Responsive JavaScript/Spring MVC Client manager: Responsive JavaScript/Spring MVC Applicant: Responsive JavaScript/Spring MVC Worker: Responsive JavaScript/Spring MVC Supported platform: Java stack
47
Frameworks: What can the team support Max one: Project risk or tech risk
48
Example risky project: New team New supplier New domain New codebase
49
Example risky tech: New database system New framework New programming language
50
MondayTuesdayWednesdayThursdayFriday Elevator pitch, Stakeholders Usage flow Dev infrastructure Dev baseline Review usage RoadmapWrap up docs Dev baseline Lunch Look at what’s going on today Tech framework Usage review, Context, Domain Refine models Review, Retrospective Plan week 2 Typical plan for kickoff
51
Solo programming
52
Integration issues Inconsistent coding Merge conflicts
53
Mob programming
54
Pair programming
55
Resource utilization vs Knowledge sharing
56
MondayTuesdayWednesdayThursdayFriday Elevator pitch, Stakeholders Usage flow Dev infrastructure Dev baseline Review usage RoadmapWrap up docs Dev baseline Lunch Look at what’s going on today Tech framework Usage review, Context, Domain Refine models Review, Retrospective Plan week 2 Typical plan for kickoff
57
1.A new company wants to hire a skilled worker for a temporary position 2.Administrative user adds the client details and login to the system 3.Client logs into the application and completes new position description, including skill requirements 4.Temp agency adds a worker and proposes the worker to a position registered by a client 5.Client gets notified of new proposals (via email) 6.Client views status of all open positions in the system 7.External to the system: Client interviews candidate, request further information and makes a decision whether to hire or not 8.Client accepts or rejects the worker in the system 9.As worker performs work, they register their time in the system 10.At the end of a billing period, the system generates billing information to accounting system and salary information to salary system
58
1.Experimental create open position 2.Experimental list positions 3.Simplified create open position 4.Simplified list positions 5.Complete create open positions 6.Complete list positions 7.…
59
1.Experimental create open position 2.Experimental list positions 3.Simplified create open position 4.Simplified list positions 5.Complete create open positions 6.Complete list positions 7.Basic create client account 8.Complete create client account 9.Basic login admin user 10.Basic login client user 11.Complete login client user 12.Basic add worker 13.Complete add worker 14.Basic propose worker for position 15.Complete propose worker for position 16.Complete confirm worker for position 17.Basic enter timesheet (in this version temp agency enters on behalf of worker) 18.Experimental billing report 19.Basic billing report 20.Basic salary report
60
20.… 21.Attend training on CSS 22.Basic layout and styling of web pages 23.Complete layout and styling of web pages 24.Polished layout and styling of web pages 25.Locate slowest pages and make some performance improvements 26.Deploy solution to target platform 27.Deploy demo version to wider set of stakeholders 28.Deploy pilot version 29.Exploratory test of complete flow
61
Week 1: Experimental create open position Week 1: Experimental list positions Week 1: Attend training on CSS Week 2: Simplified create open position Week 2: Basic layout and styling of web pages Week 3: Deploy solution to target platform … Week 4: Complete layout and styling of web pages Week 4: Complete create open positions Week 4: Complete list positions Week 4: Deploy demo version to wider set of stakeholders … Week 6: Exploratory test of complete flow
62
MondayTuesdayWednesdayThursdayFriday Elevator pitch, Stakeholders Usage flow Dev infrastructure Dev baseline Review usage RoadmapWrap up docs Dev baseline Lunch Look at what’s going on today Tech framework Usage review, Context, Domain Refine models Review, Retrospective Plan week 2 Typical plan for kickoff
63
Plan the show
64
Demo script
65
1.Preconditions 2.Start up the system 3.What do you see? 4.Activate a function 5.What do you see? 6.Activate variations of function 7.Thus we demonstrate that we have delivered x
66
1.A new company wants to hire a skilled worker for a temporary position 2.Administrative user adds the client details and login to the system 3.Client logs into the application and completes new position description, including skill requirements 4.Temp agency adds a worker and proposes the worker to a position registered by a client 5.Client gets notified of new proposals (via email) 6.Client views status of all open positions in the system 7.External to the system: Client interviews candidate, request further information and makes a decision whether to hire or not 8.Client accepts or rejects the worker in the system 9.As worker performs work, they register their time in the system 10.At the end of a billing period, the system generates billing information to accounting system and salary information to salary system
67
1.A new company wants to hire a skilled worker for a temporary position 2.Administrative user adds the client details and login to the system 3.Client logs into the application and completes new position description, including skill requirements 4.Temp agency adds a worker and proposes the worker to a position registered by a client 5.Client gets notified of new proposals (via email) 6.Client views status of all open positions in the system 7.External to the system: Client interviews candidate, request further information and makes a decision whether to hire or not 8.Client accepts or rejects the worker in the system 9.As worker performs work, they register their time in the system 10.At the end of a billing period, the system generates billing information to accounting system and salary information to salary system
69
MondayTuesdayWednesdayThursdayFriday Elevator pitch, Stakeholders Usage flow Dev infrastructure Dev baseline Review usage RoadmapWrap up docs Dev baseline Lunch Look at what’s going on today Tech framework Usage review, Context, Domain Refine models Review, Retrospective Plan week 2 Typical plan for kickoff
70
3 tools
71
1.Discuss the problem 2.Describe the system 3.Plan the show
72
1.Elevator pitch 2.Context diagram 3.Demo script
73
MondayTuesdayWednesdayThursdayFriday Elevator pitch, Stakeholders Usage flow Dev infrastructure Dev baseline Review usage RoadmapWrap up docs Dev baseline Lunch Look at what’s going on today Tech framework Usage review, Context, Domain Refine models Review, Retrospective Plan week 2 Typical plan for kickoff
74
Achievements Actions Puzzlers
75
Conclusion:
76
When you return: Create an elevator pitch with your customer
77
Thank you Johannes Brodwall jbr@exilesoft.com www.exilesoft.com www.johannesbrodwall.com @jhannes
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.