Reference:
http://kaczanowscy.pl/tomek/2011-08/taking-over-a-project
Team
- who? + characteristics + how long they work with the team + strong/weak points + maturity level / how independent they are? + maybe there is some BSC mechanism, if so, take a look at the previous records
- language skills
- contact - mail, skype/jabber nick etc.
- working hours? anyone working half-time? anyone with unusual working hours?
- where? one room or many places
- some people from other teams involved? independent consultants? some project partners (external companies) that we cooperate with?
- what are the roles of people
- who knows what?
- are team members involved in other projects?
- questions to ask to each team member:
- what are you proud/angry/annoyed about? what (de)motivates you?
- please draw the architecture of the system
- please write down the "definition of done"
- what issues do you think we have? what is the most common source of bugs? which bugs are the most annoying for us / for clients?
Meetings / Telcos
- internal (only the team is involved) - Scrum - daily / sprint / backlog ?
- with clients
- with higher-ups?
- traveling? where? for how long?
- how are the invitations send? who sends them? who sets the agenda? who sends minutes (if any)? who attends?
- how long is the meeting? who participates?
Documents
- where can I find them, how are they generated, who maintains them?
- technical documentation
- user documentation
- developers documentation
- reporting - internal / external
- templates - documents? mails? reports? presentations?
- bug tracker - how are issues commented?
- where is the database schema?
Infrastructure
- SCM, FTP/WebDavs, Sonar, CI, bug tracker, artifacts repository, wiki
- keystores, certificates
- mailing lists (internal, external)
- adresses, credentials, who creates accounts? who administrates?
- environments - local, testing, production?
- Can anyone, besides the team, access any of these (e.g. client reading bug tracker issues) ?
Processes
- SCRUM? how does it really look like? how are user stories sized - hours or t-shirts (M, S, XL)? what meetings, how often etc., are daily standups held regularly
- code reviews - formalized, informal, who does them? peer reviews? external audits of code?
- any visualization tools? (well, these are the easiest to notice, aren't they?)
- what is the "definition of done" of this team?
- any special recruiting process for this team?
- build process - automated?
- How are versions/releases created? What is a naming pattern? Are there different internal (for team) and external (for client) versions? How can one learn about the changes between versions X and Y?
- statuses of issues on issue tracker (e.g. todo, in progree, done, accepted etc.)
- production deploy & rollback, tools used - Puppet, Liquidbase?
- code conventions - format (Eclipse formatter?), checkstyle etc, but also use of TODO/FIXME tags in code
- SCM (SVN/git) - branches? how/when created, when merged?
- CI - schedules, how are they set?
Testing
- unit
- integration
- end2end
- does client test?
- automation? which requirements functional and non functional are being automatically tested?
- code coverage - how high, is it automatically calculated, is code coverage of different tests merged?
Development Tools
- what tools/software is being used by team members
- OS? IDE? build tools? testing libraries? mocking libraries? code review tools?
- specific applications for Win (Visio?, Outlook?)
Problems
- what we know? what are the main problems from our point of view? (e.g. internal code quality, our build process, client?), does client is aware of this?
- recent problems, what were the causes, are they fixed?
- what is the main concern of client?
- common bugs, how many critical bugs, are they added to the current sprint?
Client(s)
- communication - how do we communicate with clients? with whom exactly should I talk about certain topics? who has the right to make decisions?
- communication - how does client communicates with us?
- communication - what hours is he available? does he answer emails immediately?
- what does he value, what are his goals?
- does he own the code?
- does he has a say in technologies we used, should we ask him for approval for new libraries/tools that we plan to use?
- is it possible to negotiate the scope?
Next steps
- What is the most pressing matter? Are we late with anything?
- Any meetings/telcos ahead?
Architecture
No comments:
Post a Comment