Presentation is loading. Please wait.

Presentation is loading. Please wait.

Johannes Brodwall Getting your project off the ground.

Similar presentations


Presentation on theme: "Johannes Brodwall Getting your project off the ground."— Presentation transcript:

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.

7

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

39

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

68

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


Download ppt "Johannes Brodwall Getting your project off the ground."

Similar presentations


Ads by Google