Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 months ago.
Improve this question
Describe the system architecture in the last 3 projects you worked on. In this case I don't know what system architecture they mean?
Which components listed above have you been working on?
What frameworks are used during the development of these components?"
From a interviewer perspective, they are trying to assess candidates knowledge of overall system they worked up on.
Describing system architecture will help interviewer to know whether candidate knows the big picture of the systems they were part of. The answer could be by explaining the logical architecture(functional view) of application or a component architecture(tech view) depending on context. For a person who is oriented more on infrastructure side, this could be still a bit different, but rarely the case.
Question "on which component have you worked" primarily is intended to understand what exactly was candidates role in project. Explanation on how the component was designed, what technologies are used etc could be answered.
"Frameworks used" would probably tell the interviewer whether candidate was into decision making roles for design or at least can evaluate what is best fit for the need and what is not. Mentioning the frameworks(or libraries or plugins based on tech landscape) used and how that well suit the needs would be a good answer.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
I am new to programming and I try to research as much as possible in this field. And once I came across to this expression: "Extreme and pair programming". Pair programming is an easy term, and I found quite clear documentation about this. But extreme programming... I found some articles about it, but explanation wasn't so well. All I understood that extreme programming is an Agile development framework. But why I must use that, what is difference between this and another types of programming styles?
Can anyone explain me what is extreme programming language very clearly?
Extreme programming (often called XP) is an agile framework that was developed by Kent Beck in the 1990's.
There aren't too many people that use the whole XP framework these days, but a lot of the engineering practices it popularised are very common.
Examples include:
Pair programming
Test driven development
Continuous integration
Frequent releases
Constant refactoring
XP favours an approach of writing the minimum amount of code to solve the problem at hand. Things like optimisation and forward planning are generally a low priority. This is the 'extreme' part of extreme programming.
The idea is that you write code to solve the current requirement. If you then find you need the code to be faster, or scaleable, etc. then you refactor it.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I'm currently confused in incremental software methodology
what is the main difference between incremental development which adopt plan driven approach and the one that adopt agile approach ?
can anyone explain to me what is the difference between those two and if my choice was good for the project?
Learning is at the core of the agile approaches. It embraces the fact that it is almost impossible to have enough information to make detailed plan up front. Instead implementing, or possibly trying to implement, your first feature will trigger very valuable learnings. Both about your implementation and the usage and actual needs in the field.
I'm not sure what "documentations are really important" actually means, but dividing implementation along module boundaries will cause a number of unwanted effects:
you can only learn about the usage of the complete system after all modules are done, a.k.a. Too late. That will drive unknown remaining amount of work after you thought you were done.
how do you know that the first module is done? Presumably based on some guesswork about what it should do, which might be right but most probably is at least slightly wrong, which causes unknown late modifications
integration problems will also show up after the third module was supposed to be finished
All three drive late realizations about problems and unknown amount of work left to the end.
Agile focuses on driving out these learnings and information by forcing early feedback, such as early integration (as soon as there is a skeleton for the three modules), user feedback by forcing implementation of one user level feature at a time with demos of them as soon as hty are ready.
It is a strategy for minimizing risks in all software endeavours.
In my mind, you should have gone for an agile aproach.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
In the UML reference manual page 18
Full specifications of a final system:
An implementation model includes enough information to build the system. It must include not only the logical semantics of the system and the algorithms, data structures, and mechanisms that ensure proper performance, but also organizational decisions about the system artifacts
that are necessary for cooperative work by humans and processing by tools
What the highlighted sentence means?
It basically means that with UML modeling, you can go far beyond describing algorithms. You can (and should) put the technical information in context and describe what the system you describe is good for, how it will be used, for what purpose and by whom.
Perhaps because it's an obscure usage, you might be wondering about the use of the word "artifacts" here. In this context, it refers to any of the persisted entities in your design, which can include databases, files, archives, cloud-storage, tapes, printouts, etc. Basically any component in the system that has a lifetime or can serve as long-term memory.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
I'm thinking about joining a free software project in order to increase my knowledge of how this kind of projects works, colaborating with people that I dont know (so far), and my C/C++ skills.
I`ve searched on sourceforge and so on, looking for projects that need developers... so my question is: how to join a existing project? (and find one I like)
Pick one you like/are interested in, look over its bug tracker, and contribute patches. As you demonstrate your ability to work along with the developers, you will generally be offered greater involvement (e.g. direct commit access).
#geekosaur has some good points. (+1)
If those don't work, I would consider looking for the lead developer of a project (preferably one with decent activity and leadership) and asking what areas they would like assistance in.
I promise you, almost every open source project manager would absolutely welcome a fresh face to the team!
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
In my agile development course, after gathering user requirements, I'm asked to write a plan (for developing an application) that is supposed to define project activities, milestones - iterations and deliverables. The plan is actually the work breakdown.
So what should the initial plan in an agile project look like? If I'm giving a plan of everything in advance (as the homework asks), isn't that the waterfall model. If each iteration in agile deals with the whole cycle of plan-do-check-act, then why do we need an initial plan?
You need an initial plan because somehow you have to decide how many people are going to work on the project and develop a budget. You can never know what your scope, time, and budget are all going to be, but generally one of these is going to be fixed. Figure out which is the most important and build a plan around that. Without this as a starting point, nobody is going to fund the project.
Build a project backlog with all of the known goals. Then pull out the biggest of the goals as key milestones. Generally, a client needs to see progress towards their desired feature set. A smart client will be prepared to adjust these as the project goes, but you can absolutely lay out a series of goals to give you targets for creating working software with each sprint.
You should read Planning Extreme Programming by Kent Beck. If you ignore the extreme part of the title you can easly adapt this to your agile methods.