Showing posts with label software engineering. Show all posts
Showing posts with label software engineering. Show all posts

Implementing the Capability Maturity Model Review

Implementing the Capability Maturity Model
Average Reviews:

(More customer reviews)
Are you looking to buy Implementing the Capability Maturity Model? Here is the right place to find the great deals. we can offer discounts of up to 90% on Implementing the Capability Maturity Model. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Implementing the Capability Maturity Model ReviewThe author of this excellent book give a realistic roadmap to achieving CMM levels 2 and 3, which are major hurdles in capability maturity, especially level 2 from a culture-shock point of view.
What makes this book realistic is the way you're lead through the important steps, with a complete focus on what it takes instead of theory. The book starts off with an obligatory overview of the CMM, but quickly segues into the steps needed to attain level 2 (repeatable), which are creating the structures, processes, training program and policies. While each of these are important, I especially like the inclusion of policies because they are necessary to codify goals and are frequently overlooked. This section also includes subcontractor management, which is important for aligning those with whom you are using on projects with your own organizational capabilities. This makes sense because if your organization is repeatable and your subcontractor(s) aren't, then you either need to go shopping for more compatible subcontractors, or get dragged back into ad hoc approaches.
The same approach to graduating to level 3 is used, with slight changes. In the section that covers level 3 the first topic is about focusing on organizational process improvement, followed by an in-depth chapter on defining organization processes. These reflect the key changes between level 2's repeatable goals and level 3's focus on defined processes. After these are clearly and completely explained the same formula - structures, processes, training program and policies - is addressed for level 3.
Following the steps to get to levels 2 and 3, the next section is centered on implementation and assessment. This section prepares you for the assessment process itself, and offers excellent advice on how to get through it. Additional information of value is provided in appendices B (Annotated Level 2 Preassessment Questionnaire) and C (Samples of Level 2 Policies), both of which are provided in PDF format from the book's associated web site.
One key question that needs to be answered: Which is better, this book or CMM Implementation Guide: Choreographing Software Process Improvement by Kim Caputo? My opinion is that both books are equally important and both should be read because they cover two different aspects of attaining CMM levels 2 and above. This book concerns itself with the nuts and bolts of processes, where Caputo's book is more focused on organizational change. I recommend both books, and think that they nicely complement each other.Implementing the Capability Maturity Model Overview

Want to learn more information about Implementing the Capability Maturity Model?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Software Architecture: Foundations, Theory, and Practice Review

Software Architecture: Foundations, Theory, and Practice
Average Reviews:

(More customer reviews)
Are you looking to buy Software Architecture: Foundations, Theory, and Practice? Here is the right place to find the great deals. we can offer discounts of up to 90% on Software Architecture: Foundations, Theory, and Practice. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Software Architecture: Foundations, Theory, and Practice ReviewSoftware Architecture: Foundations, Theory, and Practice is a landmark text that will become an essental introduction to the discipline of software systems architecture. If you are a student, tester, manager, methodologist, developer, or simply an architect, and want a holistic understanding of what real software architects think software architecture is and why it matters, this is the place to start.
I bought this after Roy Fielding (of REST and HTTP fame) mentioned it on the rest-discuss mailing list. Roy is one of the industry's top architects, and I wasn't disappointed. The book is timely - architecture is coming to be accepted as an important activity, especially for distributed, and large scale systems. What many people don't realize is that drawing pictures, writing documents no-one reads, meta-modeling, and pontificating on "concerns" are not software architecture. Software architecture is about introducing constraints via principled, objective design to achieve particular system properties. Architecture is difficult and exhausting work, but done well can offer immense value to users and stakeholders. This book, along with Rozanski and Woods' "Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives" makes that explicit.
The book is unapologetic about software architecture's standing in the industry. SAFTAP positions architecture as the primary design activity for software - not development, not requirements analysis, not testing, not methodology, but architecture. That will make for interesting debate.
My single criticism of this book is that it does not do enough to treat user experience (Ux) and informatics as architecturally significant, but not enough to take away a star. I'm hoping a future edition will rectify that.
Some noteworthy chapters in the book (there are 17 chapters in all):
* The Big Idea: explains what architecture is and why it matters. The building metaphor (often heavily criticised in the industry, see the excellent "Software is not Bricks" by Raganwald) is dealt with calmly and then put to one side.
* Architecture in Context: explains how architecture fits into the overall lifecycle and process of software systems.
* Connectors: this is one of my favourite chapters. The concept of a connector is vital to a software system, but is rarely if ever discussed in programming or engineering texts.
* Modeling: probably not what you think. This chapter emphasizes communication, clarity and disambiguation over notations and diagrams.
* Implementation: programmers hate the quip "implementation detail", but in truth many things in a system are just that and it does not mean they are unimportant. This chapter covers those details and why they matter.
* Deployment and Mobility: good architects understand that a systems have a life well beyond initial delivery, which is where most developers, managers and stakeholders tend to focus attention. This was one of favorite sections as the running system simply doesn't get enough attention in most projects today.
* Applied architecture and Styles: covers some examples of architectural styles, notably REST and SOA, which are certainly the best known architectures in my part of the industry.
* Designing for non-functional properties: many non-functional concerns don't start to matter until the system is deployed and there isn't always agreement among technical specialists over what's truly important. If you are technical specialist this should help you articulate the cost/benefit of looking at the "unfeatures" of a system.
* Security and Trust: software is increasingly distributed, and increasingly a super-system of components interacting over the Internet and Mobile Networks. So it's good to see a text that makes security a first order concern and not just a non-functional ones.
* Domain Specific Software Engineering: I'm trained as an industrial designer where the notion of common modular components with standard interfaces acting as a platform for product development is a known Good Thing in domains such as the automotive and consumer electronics industries. This chapter gives a good overview of modular design focusing on the software product lines approach. The example given is from Philips, but it could as easily have been from Toyota.
* People, Roles and Teams: software architecture, like other architecture disciplines, has a strong social dimension. This chapter explains how the architect role fits into an organisation and where they can add value and exert influence.Software Architecture: Foundations, Theory, and Practice Overview

Want to learn more information about Software Architecture: Foundations, Theory, and Practice?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Just Enough Software Architecture: A Risk-Driven Approach Review

Just Enough Software Architecture: A Risk-Driven Approach
Average Reviews:

(More customer reviews)
Are you looking to buy Just Enough Software Architecture: A Risk-Driven Approach? Here is the right place to find the great deals. we can offer discounts of up to 90% on Just Enough Software Architecture: A Risk-Driven Approach. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Just Enough Software Architecture: A Risk-Driven Approach ReviewThis a broad and deep book on all things software architecture except the architecting process (for process, one recommended read is "Process Software Architecting" by Eeles/Cripps). Several readerships will benefit from "Just Enough Software Architecture":
- As an experienced IT architect, I do not necessarily agree with everything in the book (this does not come as a surprise, as architects have opinions). That said, I certainly learned a lot that I can apply immediately on my projects and some of the more provocative statements challenge me to leave my comfort zone (or at least consider doing so).
- Junior architects can use the book both as a tutorial and as a reference when/while growing in their profession.
- Developers with a "who needs architects" mindset (hopefully) will understand architects and modelers much better after having read this book, and appreciate the value of archtecture.
Things I liked in particular:
- Overall vision and message of pragmatism sent
- The risk-driven approach increases chances to get accepted both in agile development and in more traditional architecture communities
- There is a lot of practical advice e.g. in Chapters 10, 11 and 15
- The author is in command of a large body of relevant related work (both industra and academia) and puts them in perspective adequately
- Editorial quality: structure, figures, command of the English language (some words and expressions a bit be hard to comprehend for non-native speaker)
Some room for improvements (2nd edition?):
- Not all metaphors and analogies work internationally, e.g. not all IT people are sports fans that follow baseball or know what a rookie is
- The connection between parts 1 and 2 could be a bit stronger, even if loose coupling generally is a good thing; e.g., some more backward references
In summary, I'd say Just Enough Software Architecture is a highly recommended read for every architect in touch with development reality and every developer with a desire to build complex systems that will stand the test of time.Just Enough Software Architecture: A Risk-Driven Approach Overview

Want to learn more information about Just Enough Software Architecture: A Risk-Driven Approach?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...