getting your project off the ground
DESCRIPTION
Getting your project off the ground. Johannes Brodwall. Bootstrapping a team. Raising the team engagement. Turning a corner. Growing the team. Etter 15 års erfaring fra IT bransjen i Norge , innså Johannes Brodwall : “ Det er immari kaldt her!” - PowerPoint PPT PresentationTRANSCRIPT
Johannes Brodwall
Getting yourproject off the
ground
Bootstrapping a team
Raising the team engagement
Turning a corner
Growing the team
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.
“How do you start a project and achieve
understanding at the beginning?”
“How do you {start a project} and achieve understanding at the
beginning?”
Keep it simple
Defer commitment
Inspect and adapt
It depends
Concrete tools fornon-superheroes
3 tools(and 1 bonus)
1. Discuss the problem2. Understand who’s involved3. Describe what it does4. Visualize the context5. Understand the domain6. Lay down the foundation7. Create the roadmap8. Dramatize the demo
When
Monday Tuesday Wednesday Thursday Friday
Elevator pitch,Stakeholders
Usage flow
Dev infrastructure
Dev baselineReview usage
Roadmap Wrap up docsDev baseline
Lunch Lunch Lunch Lunch Lunch
Look at what’s going on today
Tech framework
Usage review,Context,Domain
Refine models
Review,RetrospectivePlan week 2
Typical plan for kickoff
Monday Tuesday Wednesday Thursday Friday
Elevator pitch,Stakeholders
Usage flow
Dev infrastructure
Dev baselineReview usage
Roadmap Wrap up docsDev baseline
Lunch Lunch Lunch Lunch Lunch
Look at what’s going on today
Tech framework
Usage review,Context,Domain
Refine models
Review,RetrospectivePlan week 2
Typical plan for kickoff
Discuss the problem
Form groups of 3 (or 2)You will have five minutes
to discuss
For some user/stakeholderWho wants to achive some goal
The name of the systemIs a type of system
Which lets them perform some operation(s).
Unlike most compelling alternativeThis gives them some advantages.
Sample problem
The problem:“A program to assign a
worker to a client”
The problem:“A program to assign a
worker to a client”(yes, it’s unclear!)
For a temporary employment agent who wants to match candidates
to client needs,the Temporary Staffing System
is aninteractive web application,
which lets them register andmatch candidates and positions.
Unlike competing systemsthis lets us share selective information with our clients.
Who?
Monday Tuesday Wednesday Thursday Friday
Elevator pitch,Stakeholders
Usage flow
Dev infrastructure
Dev baselineReview usage
Roadmap Wrap up docsDev baseline
Lunch Lunch Lunch Lunch Lunch
Look at what’s going on today
Tech framework
Usage review,Context,Domain
Refine models
Review,RetrospectivePlan week 2
Typical plan for kickoff
For a temporary employment agent who wants to match candidates
to client needs,the Temporary Staffing System
is aninteractive web application,
which lets them register andmatch candidates and positions.
Unlike competing systemsthis lets us share selective information with our clients.
Agent
Worker
Client
Who?# Clients do ??? every ??? via ???# Agents do ??? every ??? via ???
# Workers do ??? every ??? via ???
Who?# Clients do ??? every ??? via ???
# Project managers do ??? every ??? via ???# Agents do ??? every ??? via ???
# Applicatants do ??? every ??? via ??? # Workers do ??? every ??? via ???
Who?Tens of Clients sign up for service a few times every year via
meetingsAbout 100 client project managers request workers to match specific
skills every few monthsAround 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
Who else?Payroll
Monday Tuesday Wednesday Thursday Friday
Elevator pitch,Stakeholders
Usage flow
Dev infrastructure
Dev baselineReview usage
Roadmap Wrap up docsDev baseline
Lunch Lunch Lunch Lunch Lunch
Look at what’s going on today
Tech framework
Usage review,Context,Domain
Refine models
Review,RetrospectivePlan week 2
Typical plan for kickoff
Describe the usage
1. Need: Someone identifies a need2. Trigger: Someone does
something with the system3. The system responds in some
way4. …5. …6. The goal has been fulfilled
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 system7. External to the system: Client interviews candidate, request
further information and makes a decision whether to hire or not8. Client accepts or rejects the worker in the system9. As worker performs work, they register their time in the system10. At the end of a billing period, the system generates billing
information to accounting system and salary information to salary system
Monday Tuesday Wednesday Thursday Friday
Elevator pitch,Stakeholders
Usage flow
Dev infrastructure
Dev baselineReview usage
Roadmap Wrap up docsDev baseline
Lunch Lunch Lunch Lunch Lunch
Look at what’s going on today
Tech framework
Usage review,Context,Domain
Refine models
Review,RetrospectivePlan week 2
Typical plan for kickoff
Monday Tuesday Wednesday Thursday Friday
Elevator pitch,Stakeholders
Usage flow
Dev infrastructure
Dev baselineReview usage
Roadmap Wrap up docsDev baseline
Lunch Lunch Lunch Lunch Lunch
Look at what’s going on today
Tech framework
Usage review,Context,Domain
Refine models
Review,RetrospectivePlan week 2
Typical plan for kickoff
Laying down foundation
Constraints:• Interact per user
• Portability• Supported platform
Example:• Agent: ____
• Project manager: ____• Applicant: ____
• Worker: ____
• Supported platform: ____ stack
Example:• Agent: Web or desktop
• Client manager: Web or any mobile• Applicant: Web• Worker: Mobile
• Supported platform: Java stack
Example:• Agent: Swing
• Client manager: Spring MVC• Applicant: Spring MVC
• Worker: Android
• Supported platform: Java stack
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
Frameworks:• What can the team support
• Max one: Project risk or tech risk
Example risky project:• New team
• New supplier• New domain
• New codebase
Example risky tech:• New database system
• New framework• New programming language
Monday Tuesday Wednesday Thursday Friday
Elevator pitch,Stakeholders
Usage flow
Dev infrastructure
Dev baselineReview usage
Roadmap Wrap up docsDev baseline
Lunch Lunch Lunch Lunch Lunch
Look at what’s going on today
Tech framework
Usage review,Context,Domain
Refine models
Review,RetrospectivePlan week 2
Typical plan for kickoff
Solo programming
Solo programming• Integration issues
• Inconsistent coding• Merge conflicts
Mob programming
Pair programming
Resource utilizationvs
Knowledge sharing
Monday Tuesday Wednesday Thursday Friday
Elevator pitch,Stakeholders
Usage flow
Dev infrastructure
Dev baselineReview usage
Roadmap Wrap up docsDev baseline
Lunch Lunch Lunch Lunch Lunch
Look at what’s going on today
Tech framework
Usage review,Context,Domain
Refine models
Review,RetrospectivePlan week 2
Typical plan for kickoff
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 system7. External to the system: Client interviews candidate, request
further information and makes a decision whether to hire or not8. Client accepts or rejects the worker in the system9. As worker performs work, they register their time in the system10. At the end of a billing period, the system generates billing
information to accounting system and salary information to salary system
1. Experimental create open position2. Experimental list positions3. Simplified create open position4. Simplified list positions5. Complete create open positions6. Complete list positions7. …
1. Experimental create open position2. Experimental list positions3. Simplified create open position4. Simplified list positions5. Complete create open positions6. Complete list positions
7. Basic create client account8. Complete create client account9. Basic login admin user10. Basic login client user11. Complete login client user12. Basic add worker13. Complete add worker14. Basic propose worker for position15. Complete propose worker for position16. Complete confirm worker for position17. Basic enter timesheet (in this version temp agency enters on behalf of
worker)18. Experimental billing report19. Basic billing report20. Basic salary report
20. …21. Attend training on CSS22. Basic layout and styling of web pages23. Complete layout and styling of web pages24. Polished layout and styling of web pages25. Locate slowest pages and make some performance
improvements26. Deploy solution to target platform27. Deploy demo version to wider set of stakeholders28. Deploy pilot version29. Exploratory test of complete flow
Week 1: Experimental create open positionWeek 1: Experimental list positionsWeek 1: Attend training on CSSWeek 2: Simplified create open positionWeek 2: Basic layout and styling of web pagesWeek 3: Deploy solution to target platform…Week 4: Complete layout and styling of web pagesWeek 4: Complete create open positionsWeek 4: Complete list positionsWeek 4: Deploy demo version to wider set of stakeholders…Week 6: Exploratory test of complete flow
Monday Tuesday Wednesday Thursday Friday
Elevator pitch,Stakeholders
Usage flow
Dev infrastructure
Dev baselineReview usage
Roadmap Wrap up docsDev baseline
Lunch Lunch Lunch Lunch Lunch
Look at what’s going on today
Tech framework
Usage review,Context,Domain
Refine models
Review,RetrospectivePlan week 2
Typical plan for kickoff
Plan the show
Demo script
1. Preconditions2. Start up the system3. What do you see?4. Activate a function5. What do you see?6. Activate variations of function7. Thus we demonstrate that we have
delivered x
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 system7. External to the system: Client interviews candidate, request
further information and makes a decision whether to hire or not8. Client accepts or rejects the worker in the system9. As worker performs work, they register their time in the system10. At the end of a billing period, the system generates billing
information to accounting system and salary information to salary system
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 system7. External to the system: Client interviews candidate, request
further information and makes a decision whether to hire or not8. Client accepts or rejects the worker in the system9. As worker performs work, they register their time in the system10. At the end of a billing period, the system generates billing
information to accounting system and salary information to salary system
Monday Tuesday Wednesday Thursday Friday
Elevator pitch,Stakeholders
Usage flow
Dev infrastructure
Dev baselineReview usage
Roadmap Wrap up docsDev baseline
Lunch Lunch Lunch Lunch Lunch
Look at what’s going on today
Tech framework
Usage review,Context,Domain
Refine models
Review,RetrospectivePlan week 2
Typical plan for kickoff
3 tools
1. Discuss the problem2. Describe the system3. Plan the show
1. Elevator pitch2. Context diagram3. Demo script
Monday Tuesday Wednesday Thursday Friday
Elevator pitch,Stakeholders
Usage flow
Dev infrastructure
Dev baselineReview usage
Roadmap Wrap up docsDev baseline
Lunch Lunch Lunch Lunch Lunch
Look at what’s going on today
Tech framework
Usage review,Context,Domain
Refine models
Review,RetrospectivePlan week 2
Typical plan for kickoff
Achievements
Actions
Puzzlers
Conclusion:
When you return:Create an elevator pitch with
your customer