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?
Real Options, a decision-making process based on Financial Option mathematics, was mentioned by Kent Beck in his 1999 "white book," Extreme Progamming Explained. More recently, Agilists have been exploring how Real Options intersects with Agile. Now Chris Matts and Olav Maassen specifically address the Lean Software community, proposing that application of Real Options improves Lean Development.
Forrester Research, in preparation for their Business Technology Forum next week, has released an analyst report for free download, entitled "Lean: The New Business Technology Imperative." Aimed at management, it discusses Lean as a whole-business imperative, and its impact on IT, cautioning: "Don’t get so caught up in eliminating waste that you forget to create value and increase flexibility."
40 years after the NATO Conference on Software Engineering, Tom DeMarco paused to reflect on the discipline's evolution, wondering whether the metrics orientation he championed has distracted from the real point of computing: "transformation, creating software that changes the world." Is his earlier advice valid, though? "No", he said, in Software Engineering: An Idea Whose Time Has Come and Gone?