2. project overview
Vetworking will be developed using the eXtreme programming
methodology in which Norman has (1) taught as a graduate
teaching assistant (software project laboratory), (2) followed the
process as a software engineer at Nortel Networks, (3) followed the
process as a software engineer at Raytheon, and (4) as a DOD Air
Force proposal reviewer subject matter expert (SME) at the MITRE
Corporation.
This is a de facto industry standard process with tailoring to specific
domains. Norman will use the methodology to generate sufficient
artifacts for the future of the project, which is implementation using
specific programming language, middleware, in a specific
platform.
3. design artifacts
The scope of this project is to create design artifacts for the purpose to
hand off to a programming team. The design artifacts that will be
produced are:
User Stories (a prose description of the project)
Class Diagrams (data structures for object-oriented implementation)
Sequence Diagrams (description of interaction activities between system
objects)
Option: State Diagrams if artificial intelligence or machine intelligence
constructs are deemed of value.
In commercial industry, the above software artifacts will be sufficient for
programmers to develop an initial prototype to begin the
programming-level activities of the Agile system development
methodology.
4. eXtreme Programming Processes that
Connect Requirement and Programming
Capabilities to Enable Result
Requirement
Activities
Programming
Activities
eXtreme Agile
Processes
Enables
5. agile methodology
In 2001, 12 Agile software development principles were developed in Utah,
think in context of Acquisition PMO (users), Contractor Managers, and
Contractor Developers:
1. Availability of software to government for in-process evaluation
2. Flexibility in editing requirements
3. Software delivery frequency
4. Communication approaches between government and contractor
5. Quality of software developers and their development environment
6. Communication approach amongst software developers
7. Clear articulation of software development progress
8. Sustainability of software development tempo
9. Awareness and guidance with regard to technical excellence
10. Simplicity of development process
11. Software Developers' understanding of government requirements
12. Software development team self-evaluation approach
Norman’s tailored Agile
Norman’s tailored Agile
approach and guidance
approach and guidance
presented to an Air
presented to an Air
Force sponsor to
Force sponsor to
support evaluation
support evaluation
6. Graphical Description of the eXtreme
Approach (optional)
<show rapid iteration of all project tasks>
8. Vetworking Level Of Effort and Work Items
Approach to LOE
Identified Level-0 and Level-1 design work items.
Contacted MITRE for existing LOE of Vetworking project.
Proceed to use historic project data for LOE estimate
Facts
Evidence has shown that Cloud services can be efficient and resourceful (database, availability,
security, low development overhead, direction of existing application development approach).
Collected 5-person, 100-day, web-based application projects used for hour estimation.
Software phase allocation
Reconcile 11 software project measurement with software system development phases to derive
Design phase LOE estimate
Initial Consideration
Cloud-based web services based on HHS/CMS Surge Team software team experience. Cloud services
are scalable, economical, secure, and resourceful.
Work estimation based on
Estimation
9. Vetworking Level Of Effort
Support Raw Data
1 Software Project Manager
1 Software Designer
2 Software programmers
1 Software Tester
Non-silo activities, web-application with user
interface and database persistence
•Graduate computer science/engineering
students
•2 to 6 years of commercial product
development experience
•Master degree programmers
•Employers: Oracle, Google, Microsoft, etc.
•5 to 6 teams per semester
•9 semesters
10. Vetworking Level Of Effort
Support Data 2
1 Software Project Manager
1 Software Designer
2 Software programmers
1 Software Tester
Non-silo activities, web-application with user
interface and database persistence
•Graduate computer science/engineering
students
•2 to 6 years of commercial product
development experience
•Master degree programmers
•Employers: Oracle, Google, Microsoft, etc.
•5 to 6 teams per semester
•9 semesters
11. Vetworking Level Of Effort
History project estimation approach
1 Software Project Manager
1 Software Designer
2 Software programmers
1 Software Tester
Non-silo activities, web-application with user
interface and database persistence
•Graduate computer science/engineering
students
•2 to 6 years of commercial product
development experience
•Master degree programmers
•Employers: Oracle, Google, Microsoft, etc.
•5 to 6 teams per semester
•9 semesters
A 5-member team work one-third time for 100 days to
complete a web-application with user interface and
database persistence.
eXtreme programming recommends work at most 8
hours per 24 hours to assure continuous performance
and prevent burn-out.
7 days a week.
Per person per day = 10 X (1/3) = 3 1/3
Per team per day = 5 X 3 1/3 = 16 2/3
Total project hours = 16 2/3 X 100 = 1666 2/3
12. Vetworking Level Of Effort
History project estimation approach
1 Software Project Manager
1 Software Designer
2 Software programmers
1 Software Tester
Non-silo activities, web-application with user
interface and database persistence
•Graduate computer science/engineering
students
•2 to 6 years of commercial product
development experience
•Master degree programmers
•Employers: Oracle, Google, Microsoft, etc.
•5 to 6 teams per semester
•9 semesters
Allocation of 1,667 hours among work.
Level-0 phases: Management, Design, Code, Test
Project Artifacts: Requirement Count, Lines of
Code, File Count, Issue Count, Design Objects,
Test Cases, Unique Operator Count, Unique
Operand Count, Operator Count, Operand Count,
and Database Table Count WORKFACTS
13. Vetworking Level Of Effort
Application of work hours to Level-0 tasks based on project
evidential facts
Allocation of 1,667 hours among work.
Level-0 phases: Management, Design, Code, Test
Project Artifacts: Requirement Count, Lines of
Code, File Count, Issue Count, Design Objects,
Test Cases, Unique Operator Count, Unique
Operand Count, Operator Count, Operand Count,
and Database Table Count
WORKFACTS
<Allocate 1,667
hours to Level-0
tasks to support
LOE for Vetworking
design hours>
14. Vetworking LOE Estimation Support
1. Collected project
artifacts 2. Total hours worked to
produce product
3. Assigned artifacts according
to project phases4. Computed proportion and hours
spent per project phase
5. Arrived via fact-based hour estimate
per Vetworking phase products
17. Program Performance Metrics
While initially provided requirements are Kite-Level business requirements pertaining to technical activities, system engineering thinking indicates a need to frame the project for the purpose of meeting possible unspoken longer-term program needs.
Recommend considering the possibility of engaging with the Northern Virginia Technology Council (NVTC) to consider program accountability and performance metrics.
Suggested measurements for consideration:
•Extended veteran employment status data
•Financial and managerial accountability measurement
•Feedback to role performance
•Plan to improve role performance
•Committee for business process and activity review and improvement
18. Roles
Veteran: The focus of this program. The goal of the program is to place
each veteran into permanent work.
Career Coach/Facilitator: Qualified subject matter expert whom is
effective in placing veteran-type clients into permanent work.
Mentor: A veteran’s personal confidant who assist veteran in adjusting to
civilian life.
Donor: People who gives money to NVTC to administer for the purpose of
help veteran to obtain permanent work.
Facility Host: A facility manager that is able to provide a venue to host
Boot Camp activities.
Caterer: People who provide food and refreshment during Boot Camp.
NVTC Administrator: Program management office that oversees and
responsible to effectively provide veteran with permanent work.
21. artifact count
User stories:11
Test cases: 11
State diagrams: 3
Algorithms and rule sets: 5
Classes: 39
Class diagrams: 1
Sequence diagrams: 1 (Initial Meet)
PMO-level performance metrics: 5
22. High Level User Story
VETworking is a program operated by the Northern Virginia
Technology Council (NVTC) designed to help veterans apply their
skills in the workforce and be exposed to job opportunities. This
computational solution will support continual administration of this
program to coordinate all participants, majority volunteers, for the
propose of matching veterans to permanent work.
25. User Story #1
Name: Provide portals for all users.
Each of the seven roles (Veteran, Mentor, Donor, Career
Coach/Facilitator, Facilities Host, Caterer, and NVTC Administrator)
will be able to log into the VETworking system from various
computing devices for the first time to establish an account and re-
login to the system to work their role’s activities.
26. User Story #2
Name: Entering role-specific information.
Each of the six roles (Veteran, Mentor, Donor, Career Coach,
Facilities Host, and NVTC Administrator) will be able to enter role-
specific information into the system. A minimum set of information is
sufficient to establish an account to prevent repeated entering of
same information. The system will prompt and help user to
complete unfilled information or required role-specific activities.
27. User Story #3
Name: Donor functions
A donor visits the website and is directed to a link which enable the
donor to give money to NVTC.
28. User Story #4
Name: Facilities Hosts Information
A Facilities Host (FH) logs onto the system and sees a display of Boot
Camp dates. The FH selects date(s) to indicate the availability of
the facility to host a Boot Camp. FH then continues to fill out
tailoring information such as Need a Caterer (Y/N), Maximum
Participants, Address, Preferred Contact, etc.) If FH has already
filled out such information on previous visit, this question sheet will
be pre-filled with the stored information.
29. User Story #5
Name: Facilitators functions
A Facilitator, aka qualified Career Coach, logs on to the system and
enters choices for the Boot Camp date(s). A visual display will show
the status of chosen dates and the next steps of the procedure.
When a Boot Camp pre-conditions are met, notice will be sent to all
participants to confirm the event.
30. User Story #6
Name: Caterers functions
A Caterer logs on to the system and enters choices for the Boot
Camp date(s) for which to provide services. The Caterer can view
number of participants, location, and other information to make a
decision. A visual display will show the status of chosen dates and
the next steps of the procedure. When a Boot Camp pre-conditions
are met, notice will be sent to all participants to confirm the event.
31. User Story #7
Name: Event Business Process
The system checks the pre-conditions of each Boot Camp. After the
venue has been selected, a facilitator has been identified, and
other pre-conditions satisfied, the system will notify all participant of
the successful arrangement of the date and move on to the pre-
event preparation activities. If time is within 24 hours of the event
date and event pre-conditions are still not satisfied, then a message
will be send to participants and they are prompted to register for
another event.
32. User Story #8
Name: Veteran and Mentor Match
The system will generate veteran and mentor matching report
based on the likelihood of long-term (greater than 12 months) total
benefit estimate for each veteran. The report will be provided to
the NVTC administrator. The veteran report will have that veteran
and also a top-five matching mentors list for that veteran. There will
be reason(s) and an action list for veterans who has no matches.
Similarly, the mentor report will have that mentor and a top-five
matching veterans for that mentor. There will be reason(s) and an
action list for mentors who has no matches. Each action item is
added to a to-do list which is tracked. The NVTC administrator is
responsible for the management of follow-up actions after
receiving the reports.
33. User Story #9
Name: Event Selection
After an initial meeting and if the veteran and mentor decided to
continue their relationship to work together to match the veteran a
permanent work, the veteran and the mentor will register for a Boot
Camp event. The mentor and veteran will complete all pre-event
activities, including creating an on-line plan to find permanent
work.
34. User Story #10
Name: Event Rules
The users of the system will receive alternative and other options
during all activities including scheduling of event dates for each
participants, matching mentors to veterans, and useful report and
suggestions that can improve program performance metrics. This
automation optimization capability shall be available for review
and for tailoring by the NVTC administrator.
35. User Story #11
Name: Administrator Functions
The system has full range of control regarding information disclosure
of all participants. The system administrator is responsible for setting
the flexible privacy options. An designated NVTC administrator will
work with a designated MITRE system administrator to configure all
system functions for the purpose of conformance to U. S. Code and
for the purpose of optimizing all resources for the purpose of placing
veterans into permanent work.
38. classes from user stories
-
<attributes>
-
<methods>
Pre-Event
Activity
-
<attributes>
-
<methods>
Event Re-Register
-
<attributes>
-
<methods>
Veteran Match
List
-
Top Five Match
Reasons
Action List
-
<methods>
Mentor Match
List
-
Top Five Match
Reasons
Action List
-
<methods>
Match List Action
-
Top Five Match
Reasons
Action List
-
<methods>
Initial Meeting
-
<attributes>
-
<methods>
Veteran Interaction
Event
-
<attributes>
-
<methods>
Job Opening
-
Filled
-
<methods>
Job Plan
-
Filled
-
<methods>
Event Report
-
Filled
-
<methods>
Training
Document
-
Filled
-
<methods>
Program
Performance
Metrics
-
Filled
-
<methods>
Sys. Admin.
Document
-
<attributes>
-
<methods>
MITRE POC
-
<attributes>
-
<methods>
Job
-
Filled
-
<methods>
39 classes identified from User Stories
40. class diagram 2
1 *“1” is the default Multiplicity value
Additional class diagrams as needed to describes the VETworking system at various detail levels and
focusing on various project perspectives.
41. Sequence diagram 1, Complete Initial Meeting (1/3)
A-Veteran A-Mentor
The-VETworking
System
An-Initial
Meeting (IM)
Pre-condition:
A Mentor has been
matched to the
Veterian.
This sequence diagram
(a type of Interaction
diagrams) describes
the interaction
between objects that
results in the end
result of a successful
Initial Meeting
between a Veteran and
the Mentor.
Result:
Successful completion
of Initial Meeting and
continue to Boot Camp
activity.
Veteran initial login Matched Mentor
initial login
Create get veteran job()
Create Initial Meeting()
Object creation
get IM assessment info()
Notify Mentor pre-IM tasks()
Notify Veteran pre-IM tasks()
IM assessment info()
Process status
Suggest venue and time()
confirmation
Meeting reminder
To-do (on-line) Check Activities
On-line real-time facilitation
IM facilitation rules
IM data exchange
IM exchange record
IM record
IM assessmentPost Event Actions
Persistence
Requirement
Consider
Transactional
Pattern
*Consider open UML tool
42. Sequence diagram 1, Complete Initial Meeting (2/3)
Error Condition List
A-Veteran A-Mentor
The-VETworking
System
An-Initial
Meeting (IM)
Error and Fail Conditions:
The goal of this sequence diagram is to have both the Veteran and the Mentor prepared for the next VETworking step for the
final goal of matching the veteran to a permanent work. As you are programming this user story, keep in mind of the following
error/failing conditions and write code for the purpose of support the completing of the Initial Meeting. (note: verify specific
numbers)
C1. The veteran did not respond to initial meeting invite within 36 hours
C2. The mentor did not respond to initial meeting invite within 36 hours
C3. Initial Meeting object failed to update
C4. Initial Meeting object failed to create
C5. Pre-meeting work not completed within 48 hours of initial meeting (this should not block Initial Meeting)
C6. Veteran not in record
C7. Mentor not in record
C8. <TBD>
43. Sequence diagram 1, Complete Initial Meeting (3/3)
Error Condition Remedy
A-Veteran A-Mentor
The-VETworking
System
An-Initial
Meeting (IM)
Pre-condition:
Plan anomaly has been
detected by system.
Result:
Successful completion
of Initial Meeting by
the veteran with the
Mentor and continue
to Boot Camp activity.
NVTC Admin
Schedule Error
C3, C4
To-do Item
Alternative Channels
Plan Anomaly
Prompt
C1
To-do Item
Alternative Channels
Plan Anomaly
Prompt
C2
Inform
Plan Anomaly
Notice
C5
Inform
Plan Anomaly
Init Provide Portal user story
C6, C7
Provide Portal interaction
45. Veteran and Mentor Matching Algorithm
<Algorithm supports matching of a mentor to a veteran for the
purpose of resultant team would have high likelihood of placing the
veteran into permanent work >
Algorithm 1: First Match
Algorithm 2: Maximum Commonality Match
Algorithm 3: Big Data Match
Algorithm 4: Human in the loop
Algorithm 5: Neural Net Learning
Note: Collect Performance Data
46. Veteran Assessment Algorithm
<Algorithm supports Coaches and mentors to build veterans’
resumes based on VETworking veteran record and following
information>
Talent Sort
HBDI
Career Anchors
Strength Finder
Myers Briggs
Communication Style
47. Veteran and Job Matching Algorithm
<Algorithm supports Coaches and mentors to identify probable job
matches to initiate the job application process>
Briefly describe each of the agile principles and its instantiation in the development process.
Laboratory project is a web application in the consumer remote transaction process domain requiring both user interfaces and database.
The Vetworking project is more complicated because of scheduling, planning, and persistence of business process requirements.
Laboratory project is a web application in the consumer remote transaction process domain requiring both user interfaces and database.
The Vetworking project is more complicated because of scheduling, planning, and persistence of business process requirements.
S-curve describe the productivity of each the identified 11 software engineering project artifacts. A S-curve is described by the readiness and the generation parameters.
10 hours a day average graduate student daily hours.
Full-time graduate students takes 3 courses.
5 members to each Software Engineering laboratory project
The time duration is about 100 days, or 3 months
Laboratory project is a web application in the consumer remote transaction process domain requiring both user interfaces and database.
The Vetworking project is more complicated because of scheduling, planning, and persistence of business process requirements.
Laboratory project is a web application in the consumer remote transaction process domain requiring both user interfaces and database.
The Vetworking project is more complicated because of scheduling, planning, and persistence of business process requirements.
Red-colored circles identify Initial Meeting user story classes.
Red-colored circles identify Initial Meeting user story classes.
The red-colored circles highlight central classes.