Upload
phungduong
View
216
Download
0
Embed Size (px)
Citation preview
ni.com
Adam AmosMechatronics Engineer
Robotic Systems
Robotic Systems
www.roboticsystems.com.au
Defining the Project
The following items should well defined:
Objectives & Assumptions
• What is the big picture
• What are the items that I have no control over
• Customer supplied material dependencies
• Resources & Tools needs
Deliverables & Deadlines
• Know what you have to get done
• Know when it needs to be done
• Know how you are going to do the work
Defining the Project
Define Requirements vs. “Nice to Haves”
• Work to defined requirements
• Create requirements if needed
Boundaries on how changes are approved
• How will scope change be handled?
The “Triple” Constraints
• Cost, Schedule, Quality
Create the Project Plan
▪ Work Breakdown Structure (WBS) with significant details and milestones
▪ Prepare for risks and identify contingencies
▪ Estimate on effort, not calendar time
Create the Project Plan
Create a Work Breakdown Structure (WBS)
▪ List all the work required to complete your part of
the project
▪ Identify Main Tasks, Sub-tasks & Critical Path
▪ Decompose tasks to inch-pebble granularity
▪ Ensure the requirements are the basis of the
WBS
▪ Update the WBS on a regular basis throughout
the project
Select the Software Development Process
Most Popular Development Processes
▪ Code and Fix Model
▪ Waterfall Model
▪ V-Model
▪ Spiral Model
▪ Agile
Select the LabVIEW Architecture
Choose the LabVIEW architecture
▪ Producer Consumer
▪ Queued State Machine (QSM)
▪ Actor Framework
▪ Custom, etc.
Resource Assignments
Project Roles
▪ CLA
• Define the architecture
• Provide framework
• Implementation guidance
▪ CLD/CLAD
• Implement detailed coding tasks
Task Assignments
Task Tracking
▪ Track hours to tasks individually
▪ % Hours ≠ % Complete
▪ Review task data at the end of the project
Monitor Progress & Implementation of the Project
Avoid Pitfalls
▪ Lack of information (keep asking / be persistent)
▪ Eliminate non-essential or inefficient activities
• Delegate fabrication work and drafting when appropriate
• When troubleshooting, consult with team members
• Manage your time daily to maximize productivity!
Communicate Regularly with the Project Team and with Stakeholders
1. For large projects, set up a communications plan:a. How will important project information be
collected and disseminated? Email, Wiki, SVN, Meetings
2. Consider a risk management plan for larger
projects:a. How will risk be identified, quantified,
monitored and managed on the project? Risk log, SVN, Meetings
3. How will changes to the project requirements or
scope be handled?
4. Include the team members to identify the steps
needed for each milestone
Manage Project Risks
1. Create a risk log to track potential events
2. Identify, qualify, quantify, respond to and
control risks
3. Meet with the team periodically identifying
new risks and working to mitigate or
otherwise handle the existing ones
4. Communicate significant risks (high
likelihood, high impact) to limit surprises
5. Keep records of your team plans in regard to
the risks and issues on your project
Control Scope Creep
▪ Manage scope change
▪ Stick to the requirements
▪ Be careful about “Nice to Haves” – especially on Fixed Price Contracts
Test the Deliverables
1. If possible, complete test cases prior to the
beginning of development; this can greatly
shorten the test cycle
2. Define user acceptance testing for the
project phase gates
3. Outline the testing strategy and work within
the strategy to define exactly what will be
tested
4. Ensure that the project developers
communicate with the project testers
Evaluate the Project
1. View the lessons learned review as a means
to improve future project efforts
2. Create an open, safe place for people to
give honest and sincere feedback on the
project
3. These lessons can assist with the estimating
& planning process for future projects
Domain Experts in Safety & Mission Critical Applications
Come visit us at Booth 841!
CertTech, L.L.C.