The Information Technology (IT) functional groups hosted within the (the Fed) reorganize approximately every six months into teams based onvarious criteria. In a departure from past practice, the Fed would like to organize intosmaller multi-function teams. These multi-function agile teams will be able to take productsfrom start to finish without the time lost due to transitioning projects between the currentfunctional groups.
•There are about 200 employees that need to be assigned to about 20 teams.
•The ideal size of teams is 8 to 12 people (“two-pizza” teams = capable of being fed bytwo pizzas).
•“Agile” is a project management philosophy for software development. Ideally, eachteam will have a “scrum master” and a “product owner”. If this is not possible and/orthe team does not have sufficient experience working in an agile environment, then theteam may require a part-time or full-time agile coach. Agile coaches are expensive.Employees with scrum knowledge are eligible to serve as scrum masters and those withproduct knowledge are eligible to serve as product owners.
•Workers are located in different time zones. Teams can meet and operate virtually,but it is preferred to have teams with workers from similar time zones to facilitatescheduling.
•There are more developers on the West Coast and more workers with infrastructureexpertise on the East Coast.
•Workers can be classified by their product area expertise into “developers”, “qualityassurance testers”, “user acceptance testers”, “networking professionals”, and “securityexperts” (and possibly others). The new teams should have workers from a varietyof areas so that they can carry a project from start to finish without transferring toanother team. It is not necessary that every team have a developer.
•Worker functions can be classified into “plan”, “build”, and “run”. Teams should haveat least one member from each function.
•It is desired that the teams should have a diversity of experience in terms of the numberof years that they have worked for the Fed.
•The amount of agile experience for an individual can be classified as “no experience/notraining”, “trained but no experience”, and “hands-on experience”. Rules can be devel-oped to determine whether a team needs an agile coach based on the agile experienceof its individuals (e.g., If there are at least two members with hands-on experience,then a coach is not required)
Suppose we have variables xij = 1 if worker i is assigned to team j and 0 otherwise, for
i ∈ W and j ∈ T .
hej =1 if team j has a highly experienced and certified agile employee, and 0 otherwise, j ∈ T,
tej =1 if team j has at least 30% workers with training or experience in agile, and 0 otherwise, j ∈ T,
cj =1 if team j needs an agile coach and 0 otherwise, j ∈ T .
xij ≥ hej, j ∈ T.
The code for adding such constraints would be something like:
model.he_flip_off = ConstraintList() for j in T:
model.he_flip_off.add(sum(model.x[i,j] for i in W if agile[i] == "highly experienced and certified") >= model.he[j])
xijagilei∈{“highly experienced and certified”,“training/experience”}
−0.3 xij ≥ −12(1 − tej), j ∈ T.
i∈W
The left hand side is negative if there are fewer than 30% at least“training/experience”. If it is negative, then the only feasible solutions is tej = 0. The quantity 12 is an upper bound on the difference between the number of workers on the team and the number of workers with at least “training/experience” - any sufficiently-large value will work.
The code would be something like:
model.te_flip_off = ConstraintList() for j in T:
model.te_flip_off.add(sum(model.x[i,j] for i in W if agile[i] in
["highly experienced and certified", "training/experience"])- 0.3* sum(model.x[i,j] for i in W)
>= -12*(1-model.te[j])
4. Add constraints that if hej = 0 and tej = 0, then cj = 1. In words, “If a team does not have a ‘highly experienced and certified’ agile worker and does not have at least 30% ‘training/experience’ agile workers, then it needs a coach”:
(1 − hej) + (1 − tej) <= cj + 1, j ∈ T,
which can also be written:
−hej − tej <= cj − 1, j ∈ T.
5. Finally, we need to add the cost of coaches to the objective function. It is not necessary to formulate a dollar amount unless we are expressing our other costs in the same terms. The dollar amount per week would be (40 hours / 3 teams per coach) $155/hour = $2066.67. If we just want to minimize the number coaches, it would be
min cj.j∈T
CS 340 Milestone One Guidelines and Rubric Overview: For this assignment, you will implement the fundamental operations of create, read, update,
Retail Transaction Programming Project Project Requirements: Develop a program to emulate a purchase transaction at a retail store. This
7COM1028 Secure Systems Programming Referral Coursework: Secure
Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip
CS 340 Final Project Guidelines and Rubric Overview The final project will encompass developing a web service using a software stack and impleme