Team Foundation Server 11 has added many features in the area of Application Lifecycle Management. Some of the highlights include support for code reviews, iterations/sprints, resource allocation, third part testing frameworks, and a much more capable dependency graph.
Recently, a proposal for the Requirements Modeling Framework (RMF) has been officially released by eclipse.org. Vision is to have at least one clean-room implementation of the OMG ReqIF standard in form of an EMF model and some rudimentary tooling to edit these models.
Non-Functional requirements are often associated with the state of the system and not with the functionality that the system has to offer. General 'ilities' of the system such as scalability, interoperability, maintainability, portability, performance and security fall under this umbrella. Agile teams usually struggle with defining and estimating the non-functional requirements in their projects.
Software Architecture is one of the important topics for software engineers, because many failures of software development projects are caused by inadequate design. Thus, it is essential to learn more about architectural issues in theory and practice. Interesting new books that have been published recently or in the near future could be very helpful
Mike Burrows started a discussion on the Kanbandev group which has led the community to explore the Expand / Collapse pattern. The discussion was covered elsewhere on InfoQ, in an article which followed the viewpoints of many practitioners who see more value in expansion than collapse. However, many people found both aspects of the pattern useful.
Agile methods recommend decomposing ("expanding") features into many small user stories. After the code has been written, however, should we collapse these small stories back into the original feature so we can deal with them all as a unit? Are there any advantages in doing that collapse, and if so, what are they?
Agile and Lean projects are run differently from traditional projects. But will those projects' contracts support or undermine Lean and Agile concepts? Here are some tips on how to write an effective contract for a Lean or Agile project.
The Working with Customers stage at Agile 2011 is looking for stories and submissions from customers of agile teams. The stage explores the interactions between the customer community and Agile development teams, focusing on the non-technology functions as well as the Agile development teams themselves. In this item the stage producers answer questions and appeal to real world customers.
In Scrum, requirements are commonly expressed as user stories. But is it OK to also make use of use cases in Scrum? And, if so, under what circumstances should you do so?
Some user stories defy easy assignment of their benefits to a particular person. But how can we satisfy the standard "As a ... I want ... so that I can ...." user story template if we can't express who wants this work done?
In a recent thread on the Scrum Development mailing list, Paul Battison asked whether his team should re-estimate completed stories after the sprint is done, so as to have the team's velocity reflect the actual effort that went into completing the stories.
During planning poker, a product owner should explain the user stories to the development team, but he or she should not try to unduly influence the development team's estimates.
A Computerworld article and webinar announcement, both featuring the use of iRise, to visually capture business application requirements calls attention to this growing product segment.
There is some confusion about when to use WPF and when to use Silverlight. Choosing the right technology for a project depends on precise requirements the application has and the differences between WPF and Silverlight’s capabilities.
TDD and BDD are now widely-used software development techniques. However, solely following TDD & BDD may still lead to missed business opportunities, or worse, a negative impact to the business. Two questions which TDD & BDD are unable to answer are: How do you measure the usage of your application? How do you get feedback from your customers? Is Experiment-Driven Development (EDD) the answer?