Project Management. P Blanchfield

Size: px
Start display at page:

Download "Project Management. P Blanchfield"

Transcription

1 Project Management P Blanchfield

2 What is Project Management and is Software Project Management Special? Any project small or big must be managed The management could be ad hoc For example when you are working on your own for yourself with no deadlines Like tidying the garden You can even try it for things where there is a deadline Like buying your mother a birthday present In this approach you do things when you think of them You prioritise your tasks on the immediate Like when your mum phones up and says Eric did you remember my birthday? Or even something more subtle 2

3 Bigger projects Like the US Space shield Need more formal planning Everyone needs to know what we are doing When we plan to deliver What the budget is And so on Different stake holders are involved The commissioners the US Department of Defen(c)se The hardware developers The software developers The US people The US congress and senate 3

4 What approach should they take? Ad Hoc? President Trump turns up one day and says Build me a space defense shield! he never says please. The hardware developers say: OK how much should we spend Trump says 10 billion dollars Congress and the American people say We aint got that sort of money Trump says Don t worry we will get the Russians to pay Congress says OK let us get on and do it? And so it goes on 4

5 The Waterfall way This is sometimes called Big design up front The department of defense and the president spend a couple of years discussing The need for the project Who is going to pay What they want done How long can they give it? How much should it cost? Then they announce the idea to the press The department of defense then commission an actuarial company to do due diligence on what they want And come up with a realistic set of plans This goes to congress or somewhere They eventually decide to review the plans And get the actuarial company to do a review Which is then put to the president 5

6 Two years later The money is approved The department of defense now gets the actuaries To draw up a request for tenders Hardware, software, suppliers, sponsors of soft drinks and so on These are issued with a due date for response The responses are received At this point there is an Election and a new president of the opposite party is elected The program is shelved 6

7 Eight years later The new president is in favour of the idea The plans are redrafted The actuaries get going again They draw up new contingencies The president approves The house approves The request for tenders is issued again with new dates and requirements Each of the companies then come up with their estimates of actual costs Time scales and so on 7

8 Two years later Due diligence has been done and contracts issued The companies start more detailed plans The hardware and software companies work together The hardware company says It will take us five years to get the build done The software company says When can we get the specs for the software The hardware company says Two years The software company says Why did we accept this job? OK see you in two years 8

9 Two years later The project is over budget The department of defense has changed its mind The software company has now become a games company with a new game called Star wars the true story in which a bunch of company executives try to make as much out of a defense contract as they can while retaining the knowledge that it was a stupid idea to start with. The hardware company has plans for a Death Star And is about to attack the Federation if only it had the software to run the thing. Oh and the Russians would agree to launch it and the Chinese would agree to finance it. And could they get it built in India? 9

10 For the election The president pretends it all was just an idea Never expected it to work and new priorities are on the horizon Hey look over there is that ET 10

11 Did anything ever get built? OK so this was a bad example And it was Ronald Reagan who thought up the idea not Trump But some projects are not that big But still have complex requirements The new software system for student management in a University in a distant galaxy a long time ago The new system to run the London Ambulance service Common feature Someone who will not make the product has the money And it is a lot of money With government control over how you decide who gets a contract Especially worrying as it is the Evil Emperor who has the power. 11

12 So still big design up front Those of you who did software engineering before know Stages of waterfall 01-workflow/agile-user-storieswireframes-lesson/readme.md 12

13 Never was meant to be like that! Software is not the only thing where the requirements can change Once the customer starts to see what they are getting Software is not the only place where it turns out to be impossible to do the thing and something else is needed Example of banking project will come here 13

14 Feedback between levels Don t plagiarise but don t reinvent the wheel. 14

15 Requirements When someone commissions a bridge They more or less know what they want It goes from here to there and must carry so many cars an hour and at such a rate and by the way we only have 3m to pay for it and that sounds reasonable because the local authority in the next town got a similar bridge for that money And when someone tenders They know pretty much how long it will take and how much it will cost and anyway they just built a similar bridge in the town next door Software is more flexible and Give your customer a plan They will not understand what will happen They don t know what is easy They don t know what is hard 15

16 Outsource the requirements So at the University of Coruscant* they have rules If it costs a lot you have to do tenders To do the tender they needed to know what they wanted But their head of IS was a librarian and had no idea (Should have chosen a Jedi much cooler than librarians) So they got in a consultant firm to decide what to do How do you decide who the consultant should be? Another tender? The consultant went away and did some review They tried to find a similar University on a nearby planet who had done a similar thing They went galaxy wide and then universe wide to see what had been done I think they used the Internet rather than a space ship but hey They went to a conference on Kepler-452b given by a company who does this sort of thing They came up with a spec based on what they learned at the conference * 16

17 Outsource the requirements cnt d The consultant put out the tender for a product that looked like the one they saw at the conference The tenders came in and the consultant reviewed them They shortlisted three Based on cost and time of delivery and nearness to spec The companies on the shortlist prepared more detailed pitches They were called to do their pitches and the senior management listened They chose the company who spoke at the conference as they had the best cost, time and nearness to spec * 17

18 Detailed design The company had done similar projects before They had a series of meetings With senior management With selected groups of users They returned with their outline design which was approved by the management They went through the process of modifying their original software for perceived differences for the new system 18

19 Implementation The design was implemented by the software team The team was given deadlines The software was unit tested throughout Unit tests were built from use cases based on the user stories When the system matched the requirements it was ready for user testing In the current case they were so confident it would work they convinced the University management that the first component could use a BIG BANG implementation They installed the software and it started to run The part they had replaced was decommissioned and could no longer be supported 19

20 Testing and integration Integration happened out with the old in with the new Testing now was seeing it run in the wild Except it did not The component was supposed to give vital information to the users It took about 4 weeks before anyone realised the system just was not giving any output 20

21 Blame the software engineers It must be their fault surely But they built it to spec They had documentation of every stage to prove it They wrote unit tests for every one of the use cases Right down to the bottom Just no one remembered the Tell the user the output use case It was not their job to invent a spec for that 21

22 Feedback The process was improved by having feedback at every stage They fed back the failure of the system to the implementation team Who fed it back to the designers Who fed it back to the requirements stage Who added a requirement for the output to be available for users And passed this on to the designers Who designed what had to be done And passed it on to the software development team who implemented this It got launched And tested and this time it worked In the intervening six weeks the admin people had found a way to mine the input data and get some output by hand which kept the process afloat! 22

23 The company was anxious The University of Coruscant had built penalty clauses into the original contract Failure to meet requirements On date To cost Would lead to a punitive action by the people of Coruscant The lead members of each team would be exiled to Ruusan This could have also made things worse Working under pressure does not always bring out the best in developers. 23

24 Next time We are going to look at team skills. This is in preparation for Coursework 1 You probably hate this idea But you need to learn it if you want to be a Software Engineering manager 24