2

I have to do a sort of case study in applying a software development methodology. The focus is more on the report which documents my experiences with the process.

I have only 16 days left to do the project and I have a 6 member team. We are working on improving an existing Android app and it is written in Java. Only 4 members are proficient in Java (2 in android UI, 1 in research backend and 1 in both) with varying levels of expertise. They can spend around 20 hours per week. There are a few data collection tasks and statistical tasks to occupy the other two. There is some uncertainty associated with the research backend as it is an ML task.

The app need not be production ready but should be demo-able. Please suggest some paradigms to use under these conditions so I can figure out what would work for us.

Erm.. some fancy terms to throw in my report would be useful :)

  • 1
    Hi Bug Killer, I think for your question about development processes you'd be better off, looking at Software Engineering. – CMW Nov 21 '13 at 9:15
  • Hi Bug, welcome to PMSE! I believe your question could be edited to make it more generic (and potentially helping more people on a similar situation) instead of focusing on your team's structure. As it currently stands, it sounds a little too-specific. Thanks! – Tiago Cardoso Nov 21 '13 at 11:12
2

Buzz-word Bingo

Scrum, Kanban, XP, sustainable pace, pair programming, spike

(This list is nowhere near comprehensive, but seeing that you only have 16 days to go, I want to focus on a few that are easy to research and implement)

Details

Scrum/Kanban

Both those are team management principles, focussed on managing processes that can't be planned in advance (like software or prototype development).

Benefits: Being flexible in an environment of changing/unclear requirements or priorities.

XP (eXtreme Programming)

XP is a set of tools used to improve the workflow of software development teams, though most can be applied to other creative teams, too.

Benefits: Improvements to the whole process of working together for a creative team.

Sustainable Pace

One term used in XP is sustainable pace, which basically means, don't put in more hours than you can keep up for a long time. i.E. don't burn the team out with overtime to the max.

Benefits: Keeping up morale; removing perceived pressure; increasing perceived(!) predictability.

Pair Programming

Another tool of XP, pair programming is the principle of distributing knowledge in a team by having members work in pairs on a new problem/with a new tool where one member of the pair is already experienced in the topic and the other is there to learn from that experience. This, too, isn't limited to programming and thus often just called 'pairing'.

Benefits: Easy (I want to say effortless) distribution of knowledge and skills throughout the team; better galvanization of the team.

Spike

This is a scrum term, for small research projects. One key characteristic of spikes is a time box. The team sets aside a number of hours/days to spend on the research and then proceeds to spend that amount of time on it, but not more (or less, unless they're sure the question is answered satisfyingly).

Benefits: Research tasks won't get out of hand and inflate the overall time the project may take or block other parts.

Be aware

There are downsides, too, as with every change in process or management paradigm. Resistance to change; perceived extra work just to keep the process runnning; personal preferences/dislikes; a long but familiar list.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.